CN107766739A - 面向加密文本数据的短语检索方法及其装置 - Google Patents
面向加密文本数据的短语检索方法及其装置 Download PDFInfo
- Publication number
- CN107766739A CN107766739A CN201710837830.3A CN201710837830A CN107766739A CN 107766739 A CN107766739 A CN 107766739A CN 201710837830 A CN201710837830 A CN 201710837830A CN 107766739 A CN107766739 A CN 107766739A
- Authority
- CN
- China
- Prior art keywords
- data
- retrieval
- keyword
- encryption
- text
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/319—Inverted lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明面向加密文本数据的短语检索方法及其装置,属于安全的数据外包计算技术领域。面向加密文本数据的短语检索装置涉及三个实体对象:用户、数据持有者和云服务器;面向加密文本数据的短语检索方法,包括:步骤1数据持有者生成安全的加密密钥;步骤2数据持有者建立安全的加密索引,并将加密的索引和加密的文本数据外包到云服务器端;步骤3:用户检索陷门生成;步骤4:云服务器利用检索协议算法回答用户检索请求。本发明所述方法及其装置无可信第三方,即不需要客户端服务器且单轮交互;具有索引存储开销低和检索时间开销低的优势。
Description
技术领域
本发明提出面向加密文本数据的短语检索方法及其装置,属于安全的数据外包计算技术领域。
背景技术
近年来,随着云计算的蓬勃发展,大量的企业期望外包他们的数据到远程的云服务器上,以便得益于高效的云计算资源以及节约本地的存储成本。然而,由于云服务器不可信,数据迁移也带来了严重的隐私风险,因为云服务提供商能够窃取用户的敏感数据。为了保护数据隐私,一种直观的解决方案是数据持有者首先在本地加密数据,然后将加密结果迁移到云服务器端。然而不幸的是,加密操作使得文本数据的有效利用成为了一个棘手的难题,因为在加密数据上很难执行在明文数据上的一些检索操作。
短语检索作为一种特殊的多关键词检索模式,与普通多关键词检索模式不同的是,其不仅仅要求这些关键词全部出现在检索结果中,还必须以短语(关键词在文本中位置连续)的形式出现。许多有效的方案已经被提出用来在加密数据上实施检索操作。不过,这些方法仅仅能够在加密数据上支持单关键词检索或者多关键词检索,而不能支持短语检索,因为这些方案不能够基于加密的索引判断关键词的出现位置关系。
近年来,也有少量的方案能够支持加密数据上的短语检索,然而,这些方案具有极大的局限性。它们要么需要用户与云端服务器之间进行多次交互,要么需要一个可信的客户端服务器,且存在索引存储开销大,检索时间长的问题。这极大的降低了方案的灵活性。
为了克服上述已有研究工作的局限性,实现加密数据上的短语检索技术,本发明完整的给出了在加密文本数据上进行短语检索的方法。提出的方法充分利用了同态加密以及双线性映射等密码学技术,使得该方案消除了客户端服务器,也即可信第三方的需求,只需要一次交互,且降低了索引存储开销和检索时间开销。
发明内容
本发明的目的是克服现有加密文本数据短语检索技术存在的需要客户端服务器、多次通信、索引存储开销大和检索时间长的不足,提出了面向加密文本数据的短语检索方法及其装置,其中,所述面向加密文本数据的短语检索方法,能够应用于云环境下,在保证数据隐私的同时,保留短语检索操作的功能。
本发明面向加密文本数据的短语检索方法及其装置包括面向加密文本数据的短语检索装置,简称本装置,以及面向加密文本数据的短语检索方法,简称本方法。
本方法的核心思想为:数据持有者对拥有的文本数据生成安全的索引,然后将加密的索引与加密的文本数据一起外包到云服务器端;当用户希望检索特定的短语关键词,他首先从数据持有者那获得与检索短语关键词匹配的检索陷门,然后将检索陷门提交给云服务器;云服务器执行预设计好的检索协议,返回检索结果给用户;用户解密检索结果,得到明文的检索文本。
本装置包括三个实体对象:用户、数据持有者和云服务器;
其中,用户中包括待检索的检索关键词;数据持有者包括源文本数据;
本装置中三个实体对象的功能如下:
用户的功能是选择待检索的检索关键词,并提交检索请求;数据持有者的功能是拥有源文本数据,并对拥有的数据进行索引建立及加密处理,以及将数据安全的外包到云服务器上,供用户检索使用;数据持有者的功能还包括生成检索陷门;云服务器的中的数据存储模块和计算模块分别是提供数据存储和计算功能,换言之,云服务器的功能是对加密的文本数据和加密的索引进行存储以及进行检索请求的计算处理操作;
本装置中的三个实体对象的连接关系如下:
数据持有者与云服务器相连;用户与数据持有者相连;用户和云服务器相连。
面向加密文本数据的短语检索方法,包括如下步骤:
步骤1:数据持有者生成安全的加密密钥;
其中,安全的加密密钥包括主密钥和公钥;
步骤1中数据持有者选择安全参数k和d,再通过步骤1.1至步骤1.4生成主密钥和公钥;具体为:
步骤1.1数据持有者生成两个k-比特的大素数p和q,设置n为p和q的乘积,即n=p*q;
步骤1.2数据持有者基于n、p和q参数,构造双线性映射群G和GT,以及双线性映射关系e,e为群G×G→GT的映射关系;
步骤1.3数据持有者从群G中随机挑选两个生成元g和u,并令h为u的q次幂,即h=uq;其中,h是G的一个阶为p的子群的生成元;
步骤1.4数据持有者随机生成长度为d比特的二进制字符串S,以及两个d×d的可逆矩阵M1和M2;令S(i)表示S的第i个比特;
令π为安全的伪随机函数原语,K为与π关联的k-比特的密钥;
令f为安全的伪随机置换原语,U为与f关联的k-比特的密钥;
数据持有者将元组(p,q,h,K,U,S,M1,M2)作为主密钥,记为Mk;令元组(n,G,GT,e)作为公钥,记为pk;Mk和pk构成了步骤1数据持有者生成安全的加密密钥,其中的公钥向云服务器公开;
步骤2:数据持有者建立安全的加密索引,并将加密的索引和加密的文本数据外包到云服务器;
其中,安全的加密索引为对明文倒排索引进行加密得到的加密的倒排索引,通过步骤2.1和步骤2.2来获得;加密的文本数据为对明文文本数据进行加密得到的结果,通过步骤2.3来获得;
步骤2.1数据持有者从文本数据集中提取不同的关键词得到集合W,对集合W中的每一个关键词wi,为其建立倒排列表每一个关键词对应的倒排列表,包含含有该关键词的文本编号,以及该关键词在每一篇文本中出现的位置信息;由所有关键词对应的倒排列表组成的集合,就是该文本数据集对应的明文倒排索引;
其中,文本数据集是由文本数据组成的集合;
步骤2.2针对明文倒排索引中的每一个倒排列表,数据持有者通过步骤2.2.1至步骤
2.2.3得到加密的倒排列表;所有的加密的倒排列表,也即构成了对应的加密的倒排索引;
步骤2.2.1数据持有者对倒排列表中的文本编号,利用伪随机置换原语f对其加密;
步骤2.2.2对每一个位置信息,假设为l,数据持有者首先随机从集合{0,1,…n-1}挑选随机数r,然后通过计算glhr得到每一个位置对应的密文c;
为了隐藏关键字频率信息,应该保证不同的关键词具有同样的文本频率;因此,对每一个加密的倒排列表,应该进一步进行划分及拼接操作,也就是说,假设数据持有者设置的文本频率参数为η,那么,数据持有者对长度大于η对倒排列表进行划分,使得划分后的每一个倒排列表的长度都为η;如果倒排列表的长度小于η,则对该倒排列表进行填充,使其长度等于η;
步骤2.2.3数据持有者对每个倒排列表头部的关键词wi,构造关键词列向量其元素分别为使用伪随机函数π对关键词wi加密得到的密文的0次幂,1次幂,一直到d-1次幂;
步骤2.2.4针对关键词列向量的每一个元素如果密钥S的第i个比特等于1,那么随机划分为和且满足如果密钥S的第i个比特等于0,那么令和的值均为从而得出针对关键词列向量的加密密文,即关键词列向量安全的加密密文,此加密密文包含两部分,第一部分为矩阵M1的转置与的乘积,第二部分为矩阵M2的转置与的乘积;
步骤2.3对文本数据本身,数据持有者选择任意一种对称加密算法,例如AES,对其进行加密,得到加密的文本数据。
步骤2.4数据持有者将由步骤2.1和步骤2.2得到的加密倒排索引以及由步骤2.3得到的加密的文本数据,通过网络传输到云服务器端。
步骤3:基于用户的检索请求生成用户检索陷门,用户检索陷门的生成包含3部分,分别由步骤3.1、步骤3.2以及步骤3.3来生成;其中,用户的检索请求包括数个关键词,由用户提交用户的检索请求至数据持有者,并由数据持有者生成检索陷门;针对用户的每一个检索请求,通过下列步骤3.1到3.3生成对应的检索陷门:
步骤3.1对检索请求中的每一个关键词wi,通过下列子步骤生成对应的关键词陷门:
步骤3.1.1数据持有者随机生成d-2个伪造关键词,与wi共同组成大小为d-1的关键词集合;接着,数据持有者构造关键词向量φ,其每一个元素分别为对集合中d-1个关键词的加密得到的密文;然后,数据持有者将向量φ转换为关于x多项式函数,而向量φ的每一个元素为多项式函数等于0得到的方程的根;最后,提取多项式的系数a0,a1,直到ad-1构成列向量
步骤3.1.2针对列向量的每一个元素如果密钥S的第i个比特等于0,那么随机划分为和且满足如果密钥S的第i个比特等于1,那么令和的值均为
那么,对关键词列向量的加密密文包含两部分,第一部分为矩阵M1的逆矩阵与的乘积,第二部分为矩阵M2的逆矩阵与的乘积;关键词列向量的加密密文即为关键词陷门;
步骤3.2数据持有者利用同态加密算法,得到对整数1进行加密得到的密文;
步骤3.3数据持有者从群G中随机选取非单位元元素λ,计算λ的p次幂;
所有的关键词陷门、整数1的加密密文以及λ的p次幂共同组成了用户检索陷门;
步骤4:云服务器利用检索协议算法回答用户检索请求;
检索协议算法包含两个过程,分别为步骤4.1和步骤4.2:第一,获得与检索请求包含的关键词匹配的倒排列表;第二,判断包含所有检索请求关键词的每一个文本,判断这些关键词是否在其中连续输出,也即是否作为短语出现;
步骤4.1云服务器获取匹配的倒排列表;
一旦云服务器从用户那收到检索陷门,云服务器就依据索引关键词向量与检索关键词向量的乘积是否等于0来获得对应满足条件的倒排列表;一旦其乘积为0,则说明检索关键词与索引关键词匹配;
步骤4.2对每一个出现在所有倒排列表中的加密文本编号,检测检索关键词在其中是否作为短语出现;
云服务器通过如下方法判断检索关键词在文本中是否作为短语出现:首先,假设两个关键词x和y在文本中的出现位置对应的同态加密密文分别为和计算 其中,r1,r2和r3均为随机数,r=r1-r2+r3;然后,云服务器计算E(z)与λp的双线性映射,即e(E(z),λp)=e(gzhr,λp);如果其结果等于1,那么可以判定关键词x和y位置相邻出现,也就是组成了短语;
至此,从步骤1到步骤4,完成了面向加密文本数据的短语检索方法。
有益效果
本发明面向加密文本数据的短语检索方法及其装置,与现有的短语检索方法及其装置相比,具有如下有益效果:
1.无可信第三方服务器,即不需要客户端服务器;
2.单轮交互;
3.索引存储开销低;
4.检索时间开销低。
附图说明
图1.是本发明面向加密文本数据的短语检索方法及其装置中本装置的系统模型图及方法模块图;
图2.是本发明面向加密文本数据的短语检索方法及其装置中本方法步骤2中的倒排索引结构图。
具体实施方式
下面结合附图及实施例对本发明进行细致阐述。
实施例1
本实施例详细阐述了本发明加密倒排索引,并提供短语检索的核心过程。
本发明能够实现安全的文本数据外包功能,能够基于加密的文本数据实现短语检索功能。本发明的系统模型级方法模块组成如图1所示。本系统模型涉及到3个实体对象,分别为数据持有者、用户和云服务器。不同实体对象之间的箭头指向代表了数据流动方向,箭头边上的描述代表了匹配的操作步骤,数字大小表示了步骤的执行次序。本方法组成模块涉及3个模块,分别是索引生成模块、检索陷门生成模块和短语检索协议模块。假设数据持有者对文本数据集构造倒排索引,其部分索引结果如图2所示,其中,圆角矩形内的值为关键字,直角矩形内的值为文本编号及关键字位置信息。可以看到,关键字“heart”分别出现在文本1和文本6中;关键字“attack”分别出现在文本1、文本7和文本10中。然后,数据持有者依据步骤2.2加密关键字“heart”和“attack”对应的倒排列表。假设索引的文本频率参数η为2,那么,需要对关键字“attack”所匹配的倒排列表进行划分,得到两个子倒排列表,对其中长度小于频率参数η的列表,进行数据填充,使其长度也等于η。
假设用户提交的检索关键词为“heart attack”,云服务器端根据步骤4.1得到匹配的倒排列表。可以发现,只有文本1同时出现在两个匹配的倒排列表中。现在的问题就变成了如何判断关键字“heart”和“attack”在文文1中作为短语出现。考察“heart”在文本1中出现的位置5以及“attack”在文本1中出现的位置6。假设位置5对应的同态密文形式为位置6对应的同态密文为依据步骤4.2,云服务器首先计算 其中r1,r2和r3均为随机数,r=r1-r2+r3。由于随机数r的存在,云服务器无法判断E(0)是否为0的密文。然后,计算E(0)与λp的双线性映射,即e(E(0),λp)=e(g0hr,λp)=e(g0urq,λp)=e(ur,λ)pq=e(urpq,λ)=e(1,λ)=1。因为该映射结果为1,因此可以断定关键词“heart”和“attack”在文本1中作为短语出现。
本发明解决了对文本数据加密后外包到云服务器端执行短语检索的困难,能够安全地在云服务器端实现加密数据上的短语检索功能。
以上所述为本发明的较佳实施例而已,本发明不应该局限于该实施例和附图所公开的内容。凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。
Claims (6)
1.面向加密文本数据的短语检索方法及其装置,其特征在于:能够应用于云环境下,在保证数据隐私的同时,保留短语检索操作的功能;包括面向加密文本数据的短语检索装置,简称本装置,以及面向加密文本数据的短语检索方法,简称本方法;本方法的核心思想为:数据持有者对拥有的文本数据生成安全的索引,然后将加密的索引与加密的文本数据一起外包到云服务器端;当用户希望检索特定的短语关键词,他首先从数据持有者那获得与检索短语关键词匹配的检索陷门,然后将检索陷门提交给云服务器;云服务器执行预设计好的检索协议,返回检索结果给用户;用户解密检索结果,得到明文的检索文本;
本装置包括三个实体对象:用户、数据持有者和云服务器;
其中,用户中包括待检索的检索关键词;数据持有者包括源文本数据;
本装置中三个实体对象的功能如下:
用户的功能是选择待检索的检索关键词,并提交检索请求;数据持有者的功能是拥有源文本数据,并对拥有的数据进行索引建立及加密处理,以及将数据安全的外包到云服务器上,供用户检索使用;数据持有者的功能还包括生成检索陷门;云服务器的中的数据存储模块和计算模块分别是提供数据存储和计算功能,换言之,云服务器的功能是对加密的文本数据和加密的索引进行存储以及进行检索请求的计算处理操作;
本装置中的三个实体对象的连接关系如下:
数据持有者与云服务器相连;用户与数据持有者相连;用户和云服务器相连。
2.根据权利要求1所述的面向加密文本数据的短语检索方法,其特征在于:包括如下步骤:
步骤1:数据持有者生成安全的加密密钥;
其中,安全的加密密钥包括主密钥和公钥;
步骤2:数据持有者建立安全的加密索引,并将加密的索引和加密的文本数据外包到云服务器;
步骤3:基于用户的检索请求生成用户检索陷门;
步骤4:云服务器利用检索协议算法回答用户检索请求;
至此,从步骤1到步骤4,完成了面向加密文本数据的短语检索方法。
3.根据权利要求1所述的面向加密文本数据的短语检索方法,其特征在于:步骤1中数据持有者选择安全参数k和d,再通过步骤1.1至步骤1.4生成主密钥和公钥;具体为:
步骤1.1数据持有者生成两个k-比特的大素数p和q,设置n为p和q的乘积,即n=p*q;
步骤1.2数据持有者基于n、p和q参数,构造双线性映射群G和GT,以及双线性映射关系e,e为群G×G→GT的映射关系;
步骤1.3数据持有者从群G中随机挑选两个生成元g和u,并令h为u的q次幂,即h=uq;其中,h是G的一个阶为p的子群的生成元;
步骤1.4数据持有者随机生成长度为d比特的二进制字符串S,以及两个d×d的可逆矩阵M1和M2;令S(i)表示S的第i个比特;
令π为安全的伪随机函数原语,K为与π关联的k-比特的密钥;
令f为安全的伪随机置换原语,U为与f关联的k-比特的密钥;
数据持有者将元组(p,q,h,K,U,S,M1,M2)作为主密钥,记为Mk;令元组(n,G,GT,e)作为公钥,记为pk;Mk和pk构成了步骤1数据持有者生成安全的加密密钥,其中的公钥向云服务器公开。
4.根据权利要求1所述的面向加密文本数据的短语检索方法,其特征在于:步骤2中,安全的加密索引为对明文倒排索引进行加密得到的加密的倒排索引,通过步骤2.1和步骤2.2来获得;加密的文本数据为对明文文本数据进行加密得到的结果,通过步骤2.3来获得;
步骤2.1数据持有者从文本数据集中提取不同的关键词得到集合W,对集合W中的每一个关键词wi,为其建立倒排列表每一个关键词对应的倒排列表,包含含有该关键词的文本编号,以及该关键词在每一篇文本中出现的位置信息;由所有关键词对应的倒排列表组成的集合,就是该文本数据集对应的明文倒排索引;
其中,文本数据集是由文本数据组成的集合;
步骤2.2针对明文倒排索引中的每一个倒排列表,数据持有者通过步骤2.2.1至步骤2.2.3得到加密的倒排列表;所有的加密的倒排列表,也即构成了对应的加密的倒排索引;
步骤2.2.1数据持有者对倒排列表中的文本编号,利用伪随机置换原语f对其加密;
步骤2.2.2对每一个位置信息,假设为l,数据持有者首先随机从集合{0,1,…n-1}挑选随机数r,然后通过计算glhr得到每一个位置对应的密文c;
为了隐藏关键字频率信息,应该保证不同的关键词具有同样的文本频率;因此,对每一个加密的倒排列表,应该进一步进行划分及拼接操作,也就是说,假设数据持有者设置的文本频率参数为η,那么,数据持有者对长度大于η对倒排列表进行划分,使得划分后的每一个倒排列表的长度都为η;如果倒排列表的长度小于η,则对该倒排列表进行填充,使其长度等于η;
步骤2.2.3数据持有者对每个倒排列表头部的关键词wi,构造关键词列向量其元素分别为使用伪随机函数π对关键词wi加密得到的密文的0次幂,1次幂,一直到d-1次幂;
步骤2.2.4针对关键词列向量的每一个元素如果密钥S的第i个比特等于1,那么随机划分为和且满足如果密钥S的第i个比特等于0,那么令和的值均为从而得出针对关键词列向量的加密密文,即关键词列向量安全的加密密文,此加密密文包含两部分,第一部分为矩阵M1的转置与的乘积,第二部分为矩阵M2的转置与的乘积;
步骤2.3对文本数据本身,数据持有者选择任意一种对称加密算法,例如AES,对其进行加密,得到加密的文本数据;
步骤2.4数据持有者将由步骤2.1和步骤2.2得到的加密倒排索引以及由步骤2.3得到的加密的文本数据,通过网络传输到云服务器端。
5.根据权利要求1所述的面向加密文本数据的短语检索方法,其特征在于:步骤3中用户检索陷门的生成包含3部分,分别由步骤3.1、步骤3.2以及步骤3.3来生成;其中,用户的检索请求包括数个关键词,由用户提交用户的检索请求至数据持有者,并由数据持有者生成检索陷门;针对用户的每一个检索请求,通过下列步骤3.1到3.3生成对应的检索陷门:
步骤3.1对检索请求中的每一个关键词wi,通过下列子步骤生成对应的关键词陷门:
步骤3.1.1数据持有者随机生成d-2个伪造关键词,与wi共同组成大小为d-1的关键词集合;接着,数据持有者构造关键词向量φ,其每一个元素分别为对集合中d-1个关键词的加密得到的密文;然后,数据持有者将向量φ转换为关于x多项式函数,而向量φ的每一个元素为多项式函数等于0得到的方程的根;最后,提取多项式的系数a0,a1,直到ad-1构成列向量
步骤3.1.2针对列向量的每一个元素如果密钥S的第i个比特等于0,那么随机划分为和且满足如果密钥S的第i个比特等于1,那么令和的值均为
那么,对关键词列向量的加密密文包含两部分,第一部分为矩阵M1的逆矩阵与的乘积,第二部分为矩阵M2的逆矩阵与的乘积;关键词列向量的加密密文即为关键词陷门;
步骤3.2数据持有者利用同态加密算法,得到对整数1进行加密得到的密文;
步骤3.3数据持有者从群G中随机选取非单位元元素λ,计算λ的p次幂;
所有的关键词陷门、整数1的加密密文以及λ的p次幂共同组成了用户检索陷门。
6.根据权利要求1所述的面向加密文本数据的短语检索方法,其特征在于:步骤4中检索协议算法包含两个过程,分别为步骤4.1和步骤4.2:第一,获得与检索请求包含的关键词匹配的倒排列表;第二,判断包含所有检索请求关键词的每一个文本,判断这些关键词是否在其中连续输出,也即是否作为短语出现;
步骤4.1云服务器获取匹配的倒排列表;
一旦云服务器从用户那收到检索陷门,云服务器就依据索引关键词向量与检索关键词向量的乘积是否等于0来获得对应满足条件的倒排列表;一旦其乘积为0,则说明检索关键词与索引关键词匹配;
步骤4.2对每一个出现在所有倒排列表中的加密文本编号,检测检索关键词在其中是否作为短语出现;
云服务器通过如下方法判断检索关键词在文本中是否作为短语出现:首
先,假设两个关键词x和y在文本中的出现位置对应的同态加密密文分别为和计算其中,r1,r2和r3均为随机数,r=r1-r2+r3;然后,云服务器计算E(z)与λp的双线性映射,即e(E(z),λp)=e(gzhr,λp);如果其结果等于1,那么可以判定关键词x和y位置相邻出现,也就是组成了短语。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710837830.3A CN107766739B (zh) | 2017-09-18 | 2017-09-18 | 面向加密文本数据的短语检索方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710837830.3A CN107766739B (zh) | 2017-09-18 | 2017-09-18 | 面向加密文本数据的短语检索方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107766739A true CN107766739A (zh) | 2018-03-06 |
CN107766739B CN107766739B (zh) | 2020-09-11 |
Family
ID=61265644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710837830.3A Active CN107766739B (zh) | 2017-09-18 | 2017-09-18 | 面向加密文本数据的短语检索方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107766739B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871713A (zh) * | 2019-02-12 | 2019-06-11 | 重庆邮电大学 | 一种基于网页机器人的隐私保护方法 |
CN111767364A (zh) * | 2019-03-26 | 2020-10-13 | 钉钉控股(开曼)有限公司 | 数据处理方法、装置和设备 |
CN113468575A (zh) * | 2021-07-22 | 2021-10-01 | 东北大学 | 一种支持访问模式隐藏的密态流式数据检索系统及方法 |
CN117131209A (zh) * | 2023-10-26 | 2023-11-28 | 中国传媒大学 | 基于区块链的加密数据的短语搜索和验证方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130046765A1 (en) * | 2011-08-16 | 2013-02-21 | Google Inc. | Searching encrypted electronic books |
CN104021157A (zh) * | 2014-05-22 | 2014-09-03 | 西安理工大学 | 云存储中基于双线性对的关键词可搜索加密方法 |
CN104899517A (zh) * | 2015-05-15 | 2015-09-09 | 陕西师范大学 | 基于短语的可搜索对称加密方法 |
CN105024802A (zh) * | 2015-07-13 | 2015-11-04 | 西安理工大学 | 云存储中基于双线性对的多用户多关键词可搜索加密方法 |
CN105262843A (zh) * | 2015-11-12 | 2016-01-20 | 武汉理工大学 | 一种针对云存储环境的数据防泄漏保护方法 |
CN105610910A (zh) * | 2015-12-18 | 2016-05-25 | 中南民族大学 | 面向云存储并基于全同态密码的密文全文检索方法及系统 |
US20170061151A1 (en) * | 2015-08-26 | 2017-03-02 | International Business Machines Corporation | Providing secure indexes for searching encrypted data |
CN107086917A (zh) * | 2017-06-06 | 2017-08-22 | 华中科技大学 | 一种并行化和结构化公钥可搜索的加密方法 |
-
2017
- 2017-09-18 CN CN201710837830.3A patent/CN107766739B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130046765A1 (en) * | 2011-08-16 | 2013-02-21 | Google Inc. | Searching encrypted electronic books |
CN104021157A (zh) * | 2014-05-22 | 2014-09-03 | 西安理工大学 | 云存储中基于双线性对的关键词可搜索加密方法 |
CN104899517A (zh) * | 2015-05-15 | 2015-09-09 | 陕西师范大学 | 基于短语的可搜索对称加密方法 |
CN105024802A (zh) * | 2015-07-13 | 2015-11-04 | 西安理工大学 | 云存储中基于双线性对的多用户多关键词可搜索加密方法 |
US20170061151A1 (en) * | 2015-08-26 | 2017-03-02 | International Business Machines Corporation | Providing secure indexes for searching encrypted data |
CN105262843A (zh) * | 2015-11-12 | 2016-01-20 | 武汉理工大学 | 一种针对云存储环境的数据防泄漏保护方法 |
CN105610910A (zh) * | 2015-12-18 | 2016-05-25 | 中南民族大学 | 面向云存储并基于全同态密码的密文全文检索方法及系统 |
CN107086917A (zh) * | 2017-06-06 | 2017-08-22 | 华中科技大学 | 一种并行化和结构化公钥可搜索的加密方法 |
Non-Patent Citations (3)
Title |
---|
FANYU KONG 等: "Analysis and Improvement of a Verifiable Phrase Search over Encrypted Data in a Single Phrase", 《2015 10TH INTERNATIONAL CONFERENCE ON P2P, PARALLEL, GRID, CLOUD AND INTERNET COMPUTING (3PGCIC)》 * |
YINQI TANG 等: "Phrase Search over Encrypted Data with Symmetric Encryption Scheme", 《2012 32ND INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS WORKSHOPS》 * |
张国亮: "云环境下密文全文检索技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871713A (zh) * | 2019-02-12 | 2019-06-11 | 重庆邮电大学 | 一种基于网页机器人的隐私保护方法 |
CN111767364A (zh) * | 2019-03-26 | 2020-10-13 | 钉钉控股(开曼)有限公司 | 数据处理方法、装置和设备 |
CN111767364B (zh) * | 2019-03-26 | 2023-12-29 | 钉钉控股(开曼)有限公司 | 数据处理方法、装置和设备 |
CN113468575A (zh) * | 2021-07-22 | 2021-10-01 | 东北大学 | 一种支持访问模式隐藏的密态流式数据检索系统及方法 |
CN113468575B (zh) * | 2021-07-22 | 2023-09-19 | 东北大学 | 一种支持访问模式隐藏的密态流式数据检索系统及方法 |
CN117131209A (zh) * | 2023-10-26 | 2023-11-28 | 中国传媒大学 | 基于区块链的加密数据的短语搜索和验证方法及系统 |
CN117131209B (zh) * | 2023-10-26 | 2024-02-13 | 中国传媒大学 | 基于区块链的加密数据的短语搜索和验证方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107766739B (zh) | 2020-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113194078B (zh) | 一种云端支持隐私保护的排序多关键字搜索加密方法 | |
CN113626484B (zh) | 一种可灵活替换密文可搜索加密方法、系统及计算机设备 | |
CN105262843B (zh) | 一种针对云存储环境的数据防泄漏保护方法 | |
Chase et al. | Substring-searchable symmetric encryption | |
CN109450935B (zh) | 云存储中可验证的语义安全的多关键词搜索方法 | |
CN106921674B (zh) | 抗后量子攻击的代理重加密语义可搜索加密方法 | |
EP3058678B1 (en) | System and method for dynamic, non-interactive, and parallelizable searchable symmetric encryption | |
CN112270006A (zh) | 电商平台中隐藏搜索模式和访问模式的可搜索加密方法 | |
CN106803784A (zh) | 安全多媒体云存储中基于格的多用户模糊可搜索加密方法 | |
CN108494768A (zh) | 一种支持访问控制的密文搜索方法及系统 | |
WO2018122287A1 (en) | Method and system for search pattern oblivious dynamic symmetric searchable encryption | |
CN107766739A (zh) | 面向加密文本数据的短语检索方法及其装置 | |
CN109361644B (zh) | 一种支持快速搜索和解密的模糊属性基加密方法 | |
CN106874516A (zh) | 一种云存储中基于kcb树和布隆过滤器的高效密文检索方法 | |
CN109740362B (zh) | 一种基于熵编码的密文索引生成与检索方法及系统 | |
CN108171066A (zh) | 一种医疗云中隐私保护下的关键词跨域搜索方法及系统 | |
CN106599719A (zh) | 支持高效密钥管理的密文检索方法 | |
CN111934875B (zh) | 一种支持密文模糊搜索功能的公钥加密方法和系统 | |
CN114142996B (zh) | 一种基于sm9密码算法的可搜索加密方法 | |
CN105007258B (zh) | 一种快速关键字可搜索公钥加密方法 | |
CN113407966A (zh) | 具有密钥更新与密文分享功能的可搜索公钥加密方法和系统 | |
CN109672525B (zh) | 一种具有前向索引的可搜索公钥加密方法及系统 | |
Ali et al. | Searchable encryption with conjunctive field free keyword search scheme | |
CN116663046A (zh) | 基于区块链的隐私数据共享和检索方法、系统及设备 | |
Jiang et al. | A novel privacy preserving keyword search scheme over encrypted cloud data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |