首页> 中国专利> 基于短语的可搜索对称加密方法

基于短语的可搜索对称加密方法

摘要

一种基于短语的可搜索对称加密方法,由客户端初始化、生成关键词索引、生成安全索引并上传云端服务器、生成查询陷门并上传云端服务器、云端服务器执行查询并返回结果步骤组成。云端服务器存储加密后的密文和加密后的安全索引,仅掌握文件编号和陷门信息,在云端的存储和查询操作时,不会泄露用户存储数据的信息和查询语句的信息,保证了用户数据和查询模式的机密性,查询过程只有一轮交互,上传陷门并返回包含查询语句的文件编号,用户根据需要下载特定的文件到本地解密,避免了不必要文件在网络中传输,减少了网络开销。本发明具有保密性好、网络开销少等优点,可适用于低带宽环境中使用。

著录项

  • 公开/公告号CN104899517A

    专利类型发明专利

  • 公开/公告日2015-09-09

    原文格式PDF

  • 申请/专利权人 陕西师范大学;

    申请/专利号CN201510248964.2

  • 发明设计人 王涛;杨波;李晨;张瑞文;

    申请日2015-05-15

  • 分类号G06F21/60(20130101);G06F21/62(20130101);G06F17/30(20060101);

  • 代理机构61201 西安永生专利代理有限责任公司;

  • 代理人申忠才

  • 地址 710062 陕西省西安市长安南路199号

  • 入库时间 2023-12-18 10:55:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-03-29

    授权

    授权

  • 2015-10-07

    实质审查的生效 IPC(主分类):G06F21/60 申请日:20150515

    实质审查的生效

  • 2015-09-09

    公开

    公开

说明书

技术领域

本发明属于数据加密技术领域,具体涉及到短语的可搜索加密方法。

背景技术

近年来,随着云计算技术的迅猛发展,大量云服务产品应运而生,并获得广泛 应用。例如云网络存储工具Dropbox、亚马逊简易储存服务(Amazon simple storage  service)和微软的云计算平台Windows Azure等。它们在云端服务器上为用户保存 数据和搭设虚拟系统环境,用户可以随时随地通过网络对数据进行操作,使用硬件 资源。

由于其方便快捷的特性,越来越多的用户选择将本地的数据迁移到云端服务器 中,以此减少本地管理数据的开销。由于数据存储在第三方服务器脱离了用户控制, 用户数据可以被第三方服务器管理员及非法用户访问,容易造成数据泄露,对于一 些敏感数据存在严重的安全隐患。为了避免信息泄漏,保证数据的机密性,用户通 常对数据进行必要的加密,将数据以密文的形式存储在云端服务器。但当用户需要 获取包含特定信息的文件时,如何在密文中检索就成为难以解决的问题。最简单的 方法是将所有的密文文件下载到本地进行解密,在明文中检索,但这种操作会造成 大量不必要网络开销。另一种简单方法是密钥和查询短语发送至云端,在云端进行 解密检索操作,这样虽然减少了网络开销,但也无疑破坏了数据的机密性。

为了在保证数据机密性的同时减少不必要的网络开销,可搜索加密应运而生,并在 近几年中得到了研究者的广泛研究和发展。

2012年,Y.Tang,D.Gu,N.Ding,and H.Lu在“Phrase search over encrypted  data with symmetric encryption scheme”中提出了一种两阶段的可搜索加密方 案,第一阶段获取并返回包含查询短语中关键词的文件标识集合,第二阶段客户端 发送查询请求和文件标识列表,云端服务器根据查询请求在列表中包含文件的索引 中进行精确检索,最后返回包含查询语句的文件密文。其缺点在于客户机与云端服 务器需要进行两次交互才能完成对密文的搜索,增大了网络开销。

发明内容

本发明所要解决的技术问题在于克服上述数据加密的缺点,提供一种方法简 单、易于操作、保密性好的基于短语的可搜索对称加密方法。

解决上述技术问题所采用的技术方案它是由下述步骤组成:

1、客户端初始化

生成全局密钥x、y、z;选择三个伪随机置换ω、θ、ρ;选择两个伪随机函 数g、

2、生成关键词索引

从待加密文件中抽取关键词及其位置关系建立关键词索引,关键词索引为三级 链表结构,依次为:头节点链表、后继词链表及关键词位置链表;生成关键词索引 的方法为:按关键词在文档集合中出现的先后顺序建立头节点链表,每个关键词仅 出现一次,且指向一个后继词链表,即该关键词是其所指向后继词链表的头节点; 头节点和其指向的后继词链表中的每一个节点组成具有前后继关系的关键词对;将 每一个关键词对在文档中出现的次数及位置记录在关键词位置链表中生成关键词 索引,后继词链表中每一个节点是其对应的每一个关键词位置链表的头节点。

3、生成安全索引并上传云端服务器

分别对关键词索引的头节点链表、后继词链表、关键词位置链表进行加密生成 安全索引,并将其和用户以自选加密方案加密的文档一起上传至云端服务器。

4、生成查询陷门并上传云端服务器

客户查询时,客户端将用户的查询短语生成查询陷门并发送给云端服务器;生 成查询陷门的方法为:将查询语句拆分成关键词集合{w1,w2,...,wn},用密钥x和伪 随机函数对关键词wi生成用密钥y和伪随机函数g对关键词wi生成gy(wi), 用密钥z和伪随机置换ω对关键词wi生成ωz(wi);gy(wi)、和ωz(wi)组合为 一个三元组,所有三元组组成查询陷门如下:

其中n为用户输入的查询语句中关键词个数,并上传至云端服务器。

5、云端服务器执行查询并返回结果

云端服务器接收到查询陷门后,用查询陷门中的三元组集合遍历上述安全索 引,根据查询陷门长度将检索操作分为单关键词查询,双关键词查询和至少3个关 键词查询;单关键词查询查询陷门长度和双关键词查询陷门长度分别为1个三元组 和1对三元组,进行一次查询操作;至少3个关键词查询陷门长度至少为3个三元 组,每相邻的两个三元组做一次双关键词查询操作,对第n次的查询操作的结果集 合中的关键词位置l减去n-1,再对所有结果集合进行交集运算,生成一个最终结果 集合;将最终的结果集合中所有的文件标识id(d)返回至客户端。

在本发明的步骤3中,对关键词索引的头节点链表进行加密生成安全索引的方 法为:用密钥x和伪随机函数对头节点链表中第i个节点的关键字wi生成由密钥生成算法生成密钥ki,0和密钥r;用密钥r和伪随机数生成器生成的si通过 伪随机置换θ得到θr(si);用全局密钥y和伪随机函数g生成gy(wi);用gy(wi)与密 钥ki,0和θr(si)进行异或运算,将结果与连接组成一个节点的加密结果,即

其中1≤i≤头节点链表长度。

对关键词索引的后继词链表进行加密生成安全索引的方法为:初始化一个计数 器c从1开始,每加密一个节点,计数器c加1;从第一个节点开始加密,节点由 头节点链表节点所指向时,用指向它的头节点链表节点中的θr(si)作为前缀;节点 由后继词链表节点所指向时,用伪随机置换θ和密钥r对计数器c生成θr(c)作为前 缀。

用全局密钥z和伪随机置换ω对节点关键字wi,j生成ωz(wi,j),其中wi,j表示wi的第j个后继关键词;由密钥生成算法生成密钥si,0和密钥λ;用伪随机数生成器 生成m并由伪随机置换ρ得到ρλ(m);由密钥生成算法生成密钥ki,j和密钥r;用计 数器c、密钥r和伪随机置换θ得到θr(c+1);将上述五个部分按顺序连接,使用指 向该节点的上一个节点中的密钥ki,j-1作为加密密钥,用AES加密算法按照密码分组 链接模式进行加密,将加密结果与前缀θr(si)或前缀θr(c)连接组成节点wi,j的加密结 果,即

θr(si)||εki,j-1z(wi,j)||si,0||ρλ(m)||ki,j||θr(c+1))或

θr(c)||εki,j-1z(wi,j)||si,0||ρλ(m)||ki,j||θr(c+1))

其中1≤i≤头节点链表长度,1≤j≤头节点链表节点wi的后继词链表长度;重复执行以 上操作直至后继词链表结束,完成后继词链表加密。

对关键词索引的关键词位置链表进行加密生成安全索引的方法为:初始化一个 计数器t从1开始,每加密一个节点,计数器t加1;从第一个节点开始加密,节 点由后继词链表所指向时,用指向它的后继词链表节点中的ρλ(m)作为前缀;节点 由关键词位置链表节点所指向时,用伪随机置换ρ、密钥生成算法生成的密钥λ和 计数器t生成ρλ(t)作为前缀。

用密钥生成算法生成密钥si,j和密钥λ,用伪随机置换ρ和计数器t生成 ρλ(t+1),将节点中包含的文件标识信息id(d),关键词对位置信息l与上述密钥si,j和ρλ(t+1)按顺序连接;用指向该节点的上一个节点中的密钥si,j-1作为加密密钥,用 AES加密算法按照密码分组链接模式进行加密,将加密结果与前缀ρλ(m)或前缀 ρλ(t)连接组成一个节点的加密结果,即

ρλ(m)||εsi,j-1(id(d)||l||si,j||ρλ(t+1))或

ρλ(t)||εsi,j-1(id(d)||l||si,j||ρλ(t+1))。

重复以上操作直至关键词位置链表结束,完成关键词位置链表加密。

在本发明的步骤5中,双关键词查询的方法为:

查询陷门中1对三元组和遍历安 全索引的操作如下:

双关键词查询的查询陷门为:

用在安全的头节点链表中寻找对应的节点,用gy(w1)与找到的节点异或 运算获得θr(si)和密钥ki,0,获取θr(si)在安全的后继词链表中寻找对应的节点,用密 钥ki,0解密节点,获取ωz(wi,j)、密钥si,0、ρλ(t)、密钥ki,j、θr(c+1);再比较ωz(w2) 与ωz(wi,j)是否相同;若不相同,使用θr(c+1)在安全的后继词链表中寻找对应节点, 并用密钥ki,j解密获取新的ωz(wi,j)、新的密钥si,0,新的ρλ(t)、新的密钥ki,j、新的 θr(c+1),比较ωz(wi+1)与新的ωz(wi,j)是否相同,循环以上操作直至匹配成功;若相同, 使用ρλ(t)在安全的关键词位置链表中寻找对应节点,并用密钥si,0解密,获得文件 标识id(d)、关键词对位置l、新的ρλ(t)、si,j,再用新的ρλ(t)在安全的关键词位置 链表中寻找对应节点,并用si,j解密,循环此操作直至安全的关键词位置链表结束, 所有获得的文件标识id(d),关键词对位置l构成一次查询的结果集合。

在本发明的步骤5中,单关键词查询的方法为:

单关键查询的查询陷门为:

用在安全的头节点链表中寻找对应的节点,用gy(w1)与找到的节点异或 运算获得θr(si)和密钥ki,0,获取θr(si)在安全的后继词链表中寻找对应的节点,用密 钥ki,0解密节点,获得ωz(wi,j)、密钥si,0、ρλ(t)、密钥ki,j、θr(c+1);使用ρλ(t)在安 全的关键词位置链表中寻找对应节点,并用密钥si,0解密,获得文件标识id(d)、关 键词对位置l、新的ρλ(t)、si,j,再用新的ρλ(t)在安全的关键词位置链表中寻找对应 节点,并用si,j解密,循环此操作直至安全的关键词位置链表结束,再用θr(c+1)在 安全的后继词链表中寻找对应的节点,用密钥ki,j解密,获得新的密钥si,0、新的 ρλ(t)、新的密钥ki,j、新的θr(c+1),重复以上操作直至安全的后继词链表结束,所 有获得的文件标识id(d),关键词对位置l构成一次查询的结果集合。

在本发明的步骤5中,至少3个关键词查询的方法为:

至少3个关键词查询的查询陷门为:

进行多次双关键词查询,每次使用查询陷门中的第i个三元组 和第i+1个三元组进行一次双关键 词查询,i初始为1,每做一次双关键词查询i加1,每次查询中获得的位置信息l减 去i-1,将多次双关键词查询的结果集合进行交集运算获得最终结果集合,最终结 果集合中所有文件标识返回至客户端。

本发明从所有明文中提取出单词集合,按照单词对所在文件的文件编号和在明 文中的前后位置关系建立关键词索引,利用其位置信息建立索引,生成三个密钥, 用三个密钥对关键词索引进行加密,生成安全索引并与用户加密的密文文件一同上 传至云端服务器,查询时将短语拆分成单词集合,采用三个密钥对短语中所含单词 进行加密生成陷门,用陷门按照特定的规则在安全索引文件中查询并返回查询结 果。

本发明的云端服务器仅存储加密后的密文和加密后的安全索引,仅掌握文件编 号和陷门信息,在云端的存储和查询操作时,不会泄露用户存储数据的信息,也不 会泄露查询语句的信息,保证了用户数据和查询模式的机密性,查询过程只有一轮 交互,上传陷门并返回包含查询语句的文件编号,用户根据需要下载特定的文件到 本地解密,避免了不必要文件在网络中传输,减少了网络开销。本发明与现有技术 相比,减少了对本地存储资源的浪费,具有保密性好、网络开销少等优点,可适用 于低带宽环境中使用。

附图说明

图1是实施例1的关键词索引结构示意图。

图2是实施例1步骤5中单关键词查询流程图。

图3是实施例2步骤5中双关键词查询流程图。

图4是实施例3步骤5中3个关键词查询流程图。

具体实施方式

下面结合附图和实施例对本发明进一步详细说明,但本发明不限于这些实施 例。

实施例1

以待加密文件1文件中内容为:w1,w2,w3,w4;待加密文件2文件中内容为: w2,w1,w4,w3,w4,w3为例,基于短语的可搜索对称加密方法由下述步骤组成:

1、客户端初始化

生成全局密钥x、y、z;选择三个伪随机置换ω、θ、ρ;选择两个伪随机函 数g、三个伪随机置换ω、θ、ρ为:

ω:{0,1}k×{0,1}p→{0,1}p

θ:{0,1}k×{0,1}lg(m|Δ|)→{0,1}lg(m|Δ|)

ρ:{0,1}k×{0,1}log(m|Δ|maxi{|σi|}){0,1}log(m|Δ|maxi{|σi|}).

两个伪随机函数g、为:

g:{0,1}k×{0,1}p→{0,1}k+log(m|Δ|)

2、生成关键词索引

图1给出了关键词索引结构示意图。在图1中,从待加密文件1(doc1)和待 加密文件2(doc2)中抽取关键词及其位置关系建立关键词索引,待加密文件1文 件中内容为:w1,w2,w3,w4;待加密文件2文件中内容为:w2,w1,w4,w3,w4,w3。关键词 索引为三级链表结构,从左到右依次为:头节点链表、后继词链表、关键词位置链 表。

生成关键词索引的方法为:按关键词在文档集合中出现的先后顺序建立头节点 链表,每个关键词仅出现一次,且指向一个后继词链表,即该关键词是其所指向后 继词链表的头节点;头节点和其指向的后继词链表中的每一个节点组成具有前后继 关系的关键词对;将每一个关键词对在文档中出现的次数及位置记录在关键词位置 链表中生成关键词索引,后继词链表中每一个节点是其对应的每一个关键词位置链 表的头节点,结构如图1所示。在图1中,头节点链表中w1节点指向后继词链表中 w2节点,w1和w2组成关键词对;后继词链表节点w4是头节点链表节点w1所指向的后 继词链表中的节点,w1和w4组成关键词对;头节点链表中w2节点指向后继词链表中 w3节点,w2和w3组成关键词对;后继词链表节点w1是头节点链表节点w2所指向的后 继词链表中的节点,w2和w1组成关键词对;头节点链表中w3节点指向后继词链表中 w4节点,w3和w4组成关键词对;头节点链表中w4节点指向后继词链表中w3节点,w4和w3组成关键词对;关键词对w1,w2指向的关键词位置链表节点(<doc1,1,[1]>) 表示该关键词对在带加密文件1中出现了1次,出现位置为1;关键词位置链表节 点(<doc2,1,[2]>)为关键词对w1,w4指向的关键词位置链表中的节点表示该关键 词对在待加密文件2中出现了1次,出现位置为2;关键词对w2,w3指向的关键词 位置链表节点(<doc1,1,[2]>)表示该关键词对在带加密文件1中出现了1次,出 现位置为2;关键词位置链表节点(<doc2,1,[1]>)为关键词对w2,w1指向的关键 词位置链表中的节点表示该关键词对在待加密文件2中出现了1次,出现位置为1; 关键词对w3,w4指向的关键词位置链表节点(<doc1,1,[3]>)表示该关键词对在带 加密文件1中出现了1次,出现位置为3;关键词位置链表节点(<doc2,1,[4]>) 为关键词对w3,w4指向的关键词位置链表中的节点表示该关键词对在待加密文件2 中出现了1次,出现位置为4;关键词对w4,w3指向的关键词位置链表节点 (<doc2,2,[3,5]>)表示该关键词对在待加密文件2中出现了2次,出现位置为3 和5。

3、生成安全索引并上传云端服务器

分别对关键词索引的头节点链表、后继词链表、关键词位置链表进行加密生成 安全索引,并将其和用户以自选加密方案加密的文档一起上传至云端服务器。

对关键词索引的头节点链表中第一个节点w1进行加密生成安全索引的方法为: 用密钥x和伪随机函数对头节点链表中的关键词w1进行生成由密钥生成 算法生成密钥k1,0和密钥r;用密钥r和伪随机数生成器生成的s1通过伪随机置换θ 得到θr(s1);用全局密钥y和伪随机函数g生成gy(w1);用gy(w1)与密钥k1,0和θr(s1)进 行异或运算,将结果与连接组成一个节点w1的加密结果,即

头节点链表中第二个节点w2、头节点链表中第三个节点w3、头节点链表中第四个节 点w4的加密方法与头节点链表中第一个节点w1加密方法相同。

对关键词索引的后继词链表进行加密生成安全索引的方法为:初始化一个计数 器c从1开始,每加密一个节点,计数器c加1;从第一个节点开始加密,节点由 头节点链表节点所指向时,用指向它的头节点链表节点中的θr(si)作为前缀;节点 由后继词链表节点所指向时,用伪随机置换θ和密钥r对计数器c生成θr(c)作为前 缀。

用全局密钥z和伪随机置换ω对后继词链表第一个节点的关键词w2生成 ωz(w2),其中第一个节点的关键词w2是头节点链表中第一个节点的关键词w1的第一 个后继关键词;由密钥生成算法生成密钥s1,0和密钥λ;用伪随机数生成器生成m 并由伪随机置换ρ得到ρλ(m);由密钥生成算法生成密钥k1,1和密钥r;用计数器c、 密钥r和伪随机置换θ得到θr(2);将上述五个部分按顺序连接,使用指向该节点的 上一个节点中的密钥k1,0作为加密密钥,用AES加密算法按照密码分组链接模式进 行加密,将加密结果与前缀θr(s1)连接组成后继词链表节点第一个节点的加密结果, 即

θr(s1)||ϵk1,0(ωz(w2)||s1,0||ρλ(m)||k1,1||θr(2)),

后继词链表中第三个节点、后继词链表中第五个节点、后继词链表中第六个节 点加密方法与后继词链表第一个节点的加密方法相同。

用全局密钥z和伪随机置换ω对后继词链表的第二个节点的关键词w4生成 ωz(w4),其中第二个节点的关键词w4是头节点链表中第一个节点的关键词w1的第二 个后继关键词;由密钥生成算法生成密钥s2,0和密钥λ;用伪随机数生成器生成m 并由伪随机置换ρ得到ρλ(m);由密钥生成算法生成密钥k1,2和密钥r;用计数器c、 密钥r和伪随机置换θ得到θr(3);将上述五个部分按顺序连接,使用指向该节点的 上一个节点中的密钥k1,1作为加密密钥,用AES加密算法按照密码分组链接模式进 行加密,将加密结果与前缀θr(2)连接组成后继词链表节点第一个节点的加密结果, 即

θr(2)||ϵk1,1(ωz(w4)||s2,0||ρλ(m)||k1,2||θr(3)).

后继词链表中第四个节点加密方法与后继词链表中的第二个节点加密方法相 同。

对关键词索引的关键词位置链表进行加密生成安全索引的方法为:初始化一个 计数器t从1开始,每加密一个节点,计数器t加1;从第一个节点开始加密,节 点由后继词链表所指向时,用指向它的后继词链表节点中的ρλ(m)作为前缀;节点 由关键词位置链表节点所指向时,用伪随机置换ρ、密钥生成算法生成的密钥λ和 计数器t生成ρλ(t)作为前缀;

在图1中,关键词位置链表第一个节点加密方法为:用密钥生成算法生成密钥 s1,1和密钥λ,用伪随机置换ρ和计数器t生成ρλ(2),将节点中包含的文件标识信 息id(doc1),关键词对位置信息l(1)与上述密钥s1,1和ρλ(2)按顺序连接;用指向该 节点的上一个节点中的密钥s1,0作为加密密钥,用AES加密算法按照密码分组链接 模式进行加密,将加密结果与指向他的后继词链表节点中的ρλ(m)连接组成一个节 点的加密结果,即

ρλ(m)||ϵs1,0(id(doc1)||1||s1,1||ρλ(2))

关键词位置链表第二个节点、关键词位置链表第三个节点、关键词位置链表第四个 节点、关键词位置链表第五个节点、关键词位置链表第七个节点加密方法与关键词 位置链表第一个节点加密方法相同。

关键词位置链表第六个节点加密方法为:用密钥生成算法生成密钥s5,2和密钥 λ,用伪随机置换ρ和计数器t生成ρλ(7),将节点中包含的文件标识信息id(doc2), 关键词对位置信息l(4)与上述密钥s5,2和ρλ(2)按顺序连接;用指向该节点的上一 个节点中的密钥s5,1作为加密密钥,用AES加密算法按照密码分组链接模式进行加 密,将加密结果与指向他的关键词位置链表节点中的ρλ(6)连接组成一个节点的加 密结果,即

ρλ(6)ϵs5,1(id(doc2)||4||s5,2||ρλ(7)).

4、生成查询陷门并上传云端服务器

客户查询时,客户端将用户的查询短语生成查询陷门并发送给云端服务器;生 成查询陷门的方法为:将查询语句拆分成关键词集合{w1,w2,...,wn},用密钥x和伪 随机函数对关键词wi生成用密钥y和伪随机函数g对关键词wi生成gy(wi), 用密钥z和伪随机置换ω对关键词wi生成ωz(wi);gy(wi)、和ωz(wi)组合为 一个三元组,所有三元组组成查询陷门如下:

其中n为用户输入的查询语句中关键词个数,并上传至云端服务器;

5、云端服务器执行查询并返回结果

在图2中,云端服务器接收到查询陷门后,用查询陷门中的三元组集合遍历上 述安全索引,查询陷门长度为1个三元组,进行单关键词查询。本实施例的单关键 词查询短语为{w1},生成查询陷门为单关键词查询的方法为: 用在安全的头节点链表中寻找对应的节点,用gy(w1)与找到的节点异或运算 获得θr(s1)和密钥k1,0,获取θr(s1)在安全的后继词链表中寻找对应的节点,用密钥 k1,0解密节点,获得ωz(w2)、密钥s1,0、ρλ(m)、密钥k1,1、θr(2);使用ρλ(m)在安全 的关键词位置链表中寻找对应节点,并用密钥s1,0解密,获得文件标识id(doc1)、关 键词对位置l(1)、ρλ(2)、s1,1,用ρλ(2)在安全的关键词位置链表中没有找到对应 节点,再用θr(2)在安全的后继词链表中寻找对应的节点,用密钥k1,1解密,获得 ωz(w4)、密钥s2,0、ρλ(m)、密钥k1,2、θr(3);使用ρλ(m)在安全的关键词位置链表中 寻找对应节点,并用密钥s2,0解密,获得文件标识id(doc2)、关键词对位置l(2)、ρλ(3)、 s2,1,用ρλ(3)在安全的关键词位置链表中没有找到对应节点,再用θr(3)在安全的后 继词链表中没有找到对应的节点,查询结束。获得的查询结果中所有文件标识 (id(doc1),id(doc2))返回至客户端。

以上给出了待加密文件的数量为2以及待加密文件中1的内容为:w1,w2,w3,w4; 待加密文件2文件中内容为:w2,w1,w4,w3,w4,w3的加密方法。在实际情况中,待加密 文件的具体数量以及待加密文件的内容根据具体情况确定。

实施例2

以待加密文件1文件中内容为:w1,w2,w3,w4;待加密文件2文件中内容为: w2,w1,w4,w3,w4,w3为例,基于短语的可搜索对称加密方法由下述步骤组成:

在图3中,本实施例的步骤1~4与实施例1相同。在云端服务器执行查询并 返回结果步骤5中,云端服务器接收到查询陷门后,用查询陷门中的三元组集合遍 历上述安全索引,查询陷门长度为2个三元组,进行双关键词查询。

本实施例的双关键词查询短语为{w1,w2},生成的查询陷门为 双关键词查询的方法为:用在安 全的头节点链表中寻找对应的节点,用gy(w1)与找到的节点异或运算获得θr(s1)和密 钥k1,0,获取θr(s1)在安全的后继词链表中寻找对应的节点,用密钥k1,0解密节点, 获得ωz(w2)、密钥s1,0、ρλ(m)、密钥k1,1、θr(2);查询陷门中第二个三元组中ωz(w2) 与获得的ωz(w2)匹配相同,使用ρλ(m)在安全的关键词位置链表中寻找对应节点, 并用密钥s1,0解密,获得文件标识id(doc1)、关键词对位置l(1)、ρλ(2)、s1,1,用ρλ(2) 在安全的关键词位置链表中没有找到对应节点,查询结束。获得的查询结果中所有 文件标识(id(doc1))返回至客户端。

实施例3

以待加密文件1文件中内容为:w1,w2,w3,w4;待加密文件2文件中内容为: w2,w1,w4,w3,w4,w3为例,基于短语的可搜索对称加密方法由下述步骤组成:

在图4中,本实施例的步骤1~4与实施例1相同。在云端服务器执行查询并 返回结果步骤5中,云端服务器接收到查询陷门后,用查询陷门中的三元组集合遍 历上述安全索引,查询陷门长度为3个三元组,进行3个关键词查询。

本实施例的3个关键词查询短语为{w1,w2,w3},生成的查询陷门为 3个关键词查询 的方法为:使用查询陷门中的第一个三元组和第二个三元组 进行一次双关键词查询,获得的所有的位置信息l减去0, 得到结果为((id(doc1),l(1)));使用查询陷门中的第二个三元组和第三个三元组进行一次双关键词查询,获得的所有的位置 信息l减去1,得到结果为((id(doc1),l(1)));两次结果进行交集运算获得查询结果中 所有文件标识(id(doc1))返回至客户端。

实施例5

以待加密文件1文件中内容为:w1,w2,w3,w4;待加密文件2文件中内容为: w2,w1,w4,w3,w4,w3为例,基于短语的可搜索对称加密方法由下述步骤组成:

本实施例的步骤1~4与实施例1相同。在云端服务器执行查询并返回结果步 骤5中,云端服务器接收到查询陷门后,用查询陷门中的三元组集合遍历上述安全 索引,查询陷门长度为4个三元组,进行4个关键词查询。

本实施例的4个关键词查询短语为{w1,w4,w3,w4},生成的查询陷门为 4个关键词查询的方法为:使用查询陷门中的第一个三元组和 第二个三元组进行一次双关键词查询,获得的所有的位置信 息l减去0,得到结果为((id(doc2),l(2)));使用查询陷门中的第二个三元组 和第三个三元组进行一次双关键词查 询,获得的所有的位置信息l减去1,得到结果为((id(doc2),l(2)),(id(doc2),l(4)));使 用查询陷门中的第三个三元组和第四个三元组 进行一次双关键词查询,获得的所有的位置信息l减去2, 得到结果为((id(doc1),l(1)),(id(doc2),l(2)));三次结果进行交集运算获得查询结果中所 有文件标识(id(doc2))返回至客户端。

最后应说明的是:以上实施例仅用以说明本发明,而并非限制本发明所描述的 技术方案;因此,尽管本说明书参照上述的各个实施例对本发明已进行了详细的说 明,但是,本领域的普通技术人员应当理解,仍然可以对本发明进行修改或等同替 换;而一切不脱离本发明的精神和范围的技术方案及其改进,其均应涵盖在本发明 的权利要求范围当中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号