CN108599937B - 一种多关键字可搜索的公钥加密方法 - Google Patents
一种多关键字可搜索的公钥加密方法 Download PDFInfo
- Publication number
- CN108599937B CN108599937B CN201810361850.2A CN201810361850A CN108599937B CN 108599937 B CN108599937 B CN 108599937B CN 201810361850 A CN201810361850 A CN 201810361850A CN 108599937 B CN108599937 B CN 108599937B
- Authority
- CN
- China
- Prior art keywords
- representing
- public key
- keyword
- cloud storage
- storage server
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种支持多关键字搜索的公钥加密方法用于解决现有多关键字可搜索的公钥加密方法中存在的密文关键字计算过程复杂的技术问题,实现步骤包括:(1)可信第三方设定公共参数;(2)数据拥有者设置存储文件的关键字字段、关键字向量和查询格式;(3)可信第三方计算云存储服务器和数据共享者的密钥并分发;(4)数据拥有者对明文关键字向量中的明文关键字进行加密并发送;(5)数据共享者计算明文关键字向量中的明文关键字的陷门信息并发送;(6)云存储服务器搜索密文集合中的密文关键字,并将搜索到的密文关键字发送给数据共享者。本发明可在公开信道下传输关键字的密文信息和陷门信息,且抵抗关键字猜测攻击。
Description
技术领域
本发明属于数据加密技术领域,具体涉及一种多关键字可搜索的公钥加密方法,可用于在云存储环境中实现高效密文检索。
背景技术
随着云计算技术的出现,计算机以及互联网技术已经达到了新的高度,人们在享受互联网在数据存储、数据传输带来便捷的同时也在担心着数据遭受窃取泄露的风险。近些年来云计算技术得到了迅速发展,云计算的种种安全性问题也不断涌现,存储在云端的数据经常遭到来自服务器内部以及外部恶意攻击者的攻击,尽管许多安全专家提供了保护数据隐私的措施,但是存储数据量的逐渐增大,数据类型逐渐变多对数据的保护以及数据安全搜索提出了更高的要求,因此必须将隐私数据进行加密处理后存储在云平台,然而对数据加密后使得在海量密文文件中搜索特定的文件变得极为困难。根据使用密码体制的不同,可搜索加密分为基于对称密码体制加密和公钥密码体制加密,基于公钥的可搜索加密中使用到了数据共享者的公钥,数据拥有者不需要与数据共享者协商密钥。与基于对称密码体制的可搜索加密,应用场景更为广阔。
现有的技术方案中,授权公告号为CN104852801B名称为“一种可搜索的公钥加密方法”,公开了一种支持多个接收者的公钥加密方案,其实现步骤是:初始化数据拥有者、接收者和云服务器运行环境;数据拥有者定义一个接收者集合,并为选取数据文件的关键字加密;对数据文件加密与加密的关键字存放在云服务器上;数据拥有者为接收者发送一个保密陷门;接收者利用关键字陷门生成算法将关键字陷门发送给云服务器;服务器根据接收者提供的关键字陷门使用测试算法找出相应的关键字密文。该方法支持多个接收者进行可搜索公钥加密,保护指定接收者的成员隐私,但对于一个包含m个关键字的文件,必须计算2m-1个密文关键字才能满足数据共享者的搜索需求,由于关键字密文的数量呈指数级增长,使得密文关键字计算过程复杂,并且需要更大的存储空间来存储密文关键字。
发明内容
本发明的目的在于克服上述技术中存在的缺陷,提出了一种多关键字可搜索的公钥加密方法,用于解决现有多关键字可搜索的公钥加密方法中存在的密文关键字计算过程复杂的技术问题。
本发明的技术思路是:可信第三方为云存储服务器以及数据共享者分发密钥,并计算公共参数;数据拥有者对文件的明文关键字加密并上传云存储服务器;云服务器存储数据拥有者存储的文件密文以及关键字密文集合;数据共享者根据关键字生成陷门信息发送给云存储服务器;云存储服务器收到陷门信息后对存储在其中的密文进行搜索,只有当数据共享者搜索的关键字与服务器存储的关键字密文匹配时才能返回相应的密文关键字。
根据上述技术思路,实现本发明目的采取的技术方案包含步骤如下:
(1)可信第三方设定公共参数cp:
可信第三方设定公共参数cp,包括群G1、G1的生成元为P、G1的阶为q、群G2、群G1的双线性映射e、哈希函数H1和哈希函数H2;
(2)数据拥有者设置存储文件的关键字字段、关键字向量和查询格式:
(3)可信第三方计算云存储服务器和数据共享者的密钥并分发:
(3a)可信第三方通过公共参数cp中群G1、G1的生成元P和G1的阶q,计算云存储服务器的公钥pkS和私钥skS,并将skS发送给云存储服务器,同时将pkS发送给数据拥有者和数据共享者;
(3b)可信第三方通过公共参数cp中的群G1的生成元P和G1的阶q,计算数据共享者的公钥pkR和私钥skR,并将skR发送给数据共享者,同时将pkR发送给数据拥有者;
(4b)数据拥有者通过数据共享者的公钥pkR和群G1的生成元P,计算密文关键字集的四个信息分量U、V、B和C,得到密文集合R={t1,t2,...tm,U,V,B,C},并将R发送给云存储服务器;
(5a)数据共享者根据存储文件的关键字字段Attm和查询格式QU的要求,从明文关键字向量中选择n个明文关键字Ω1,Ω2,...Ωn,并通过公共参数cp中的哈希函数H1、双线性映射e、数据共享者的私钥skR、云存储服务器公钥pkS和选择的随机数计算n个明文关键字Ω1,Ω2,...Ωn的陷门信息分量Tw1;
(5b)数据共享者通过自己的私钥skR、公共参数cp中的哈希函数H1和选择的随机数计算n个明文关键字Ω1,Ω2,...Ωn的陷门信息分量Tw2,并将明文关键字Ω1,Ω2,...Ωn在关键字字段中I1,I2,...In,以及Tw1和Tw2作为明文关键字Ω1,Ω2,...Ωn的陷门信息Trap={Tw1,Tw2,I1,I2,...In},发送给云存储服务器;
(6)云存储服务器搜索密文集合R中的密文关键字,并将搜索结果发送给数据共享者:
(6c)云存储服务器通过验证中间值T′与验证中间值t′以及R中密文关键字集的信息分量U和V,验证H2[e(Tw,V)]=H2[T″·e(Tw2,U)]是否成立,若是,则搜索成功,并将密文关键字发送给数据共享者,否则搜索密文关键字失败。
本发明与现有技术相比,具有如下优点:
1.本发明中与现有技术相比,现有技术中一个包含m个关键字的文件,需要计算2m -1个密文关键字才能满足数据共享者的搜索需求,密文关键字数量呈指数级增长,本发明中简化了密文关键字计算过程,只需要m个密文关键字就可以满足搜索需求。
2.本发明与现有技术相比,现有技术中向云存储服务器发送密文关键字和关键字陷门信息需要在安全信道下进行,本发明中数据拥有者在计算关键字密文时使用了云存储服务器的公钥,使得密文关键字以及关键字的陷门信息可以在公开信道下传输,由于无法获取云存储服务器的私钥,外部攻击者即使拥有密文关键字和陷门信息也不能执行检测算法。
3.本发明与现有技术相比,现有技术中同一个关键字的陷门信息是唯一确定的,攻击者统计关键字陷门信息并对陷门信息包含的关键字进行猜测,本发明中在数据拥有者计算关键字陷门信息时,使用了云存储服务器的公钥和随机数,使得陷门信息满足密文不可区分性,攻击者无法对陷门信息包含的关键字进行离线猜测攻击。
4.本发明与现有技术相比,现有技术中当云服务器收到关键字陷门信息时,才执行关键字搜索过程,本发明中当数据共享者离线不进行搜索时,云存储服务器可以预先计算搜索需要的匹配中间值,当云存储服务器收到陷门信息时,通过匹配中间值简化了计算过程提高了搜索运算效率。
附图说明
图1是本发明适用的公钥加密系统的结构图;
图2是本发明的实现流程图。
具体实施方式
下面结合附图和具体实施例,对本发明作进一步详细描述;
参照图1,本发明适用的多关键字搜索的公钥加密方法的系统,包括云存储服务器、可信第三方、数据拥有者、数据共享者;其中可信第三方为云存储服务器以及数据共享者分发密钥,并计算公共参数;数据拥有者对文件的明文关键字加密并上传云存储服务器;云存储服务器用于存储数据拥有者上传的文件以及关键字密文集合,以及执行密文搜索过程;数据共享者根据关键字生成陷门信息发送给云存储服务器,云存储服务器在密文环境下进行搜索关键字;
参照图2,一种多关键字可搜索的公钥加密方法,包括如下步骤:
步骤1)可信第三方设定公共参数:
步骤1a)可信第三方设定群G1、G1的阶q和群G1的生成元P:
步骤1a1)选择不小于2k的最小的素数q,k为大于等于1的自然数;
步骤1b)可信第三方选择双线性映射e:选择一个满足双线性、非退化性和可计算性的双线性映射;
步骤1b1)双线性指对任意P,Q,R∈G1和a,b∈Z,满足式e(aP,bQ)=e(P,Q)ab或满足式e(P+Q,R)=e(P,R)·e(Q,R)和式e(P,Q+R)=e(P,Q)·e(P,R);
步骤1b2)非退化性指当群G1和群G2的阶数为素数时,若G1的生成元是P,则G2的生成元可由e(P,P)计算得到;
步骤1b3)可计算性指对任意的P,Q∈G1,在多项式时间内可以计算得到结果e(P,Q);
步骤1c)可信第三方设定群G2:
步骤1c1)使用群G1的生成元P,并根据双线性映射e性质中的的可计算性和非退化性,计算得到群G2的生成元e(P,P),表示为g=e(P,P);
步骤1c2)计算生成元g的幂次方ga,所有满足式ga≡1modp的ga构成群G2,其中1≤a≤q;
步骤1d)可信第三方选择哈希函数H1:选择映射过程为{0,1}*→G1的哈希函数;
步骤1e)可信第三方选择哈希函数H2:选择映射过程为G2→{0,1}k的哈希函数。
步骤2)数据拥有者设置存储文件的关键字字段、关键字向量和查询格式:
关键字字段Attm包括m个关键字字段,每个关键字字段包含一个明文关键字;
查询格式QU包括明文关键字Wi,1,Wi,2,...Wi,m中的待搜索明文关键字以及待搜索明文关键字在关键字字段Attm中的位置信息I1,I2.,..Im,且1≤I1,I2,...Im≤m。
步骤3)可信第三方计算云存储服务器和数据共享者的密钥并分发:
步骤3a1)可信第三方将公共参数cp作为作为云存储服务器的第一个私钥分量,选择一个小于群G1阶q的正随机数x,将x作为云存储服务器的第二个私钥分量,将cp和x构成的元组作为云存储服务器的私钥skS={cp,x};
步骤3a2)可信第三方将公共参数cp作为云存储服务器的第一个公钥分量,去除群G1中的零元,得到群从中选择随机数Q,将Q作为云存储服务器的第二个公钥分量,并通过私钥分量x和G1的生成元P,计算云存储服务器的第三个公钥分量X,将cp、Q和X构成的元组作为云存储服务器的公钥pkS={cp,Q,X},X的计算公式为:
X=xP
步骤3a3)将skS发送给云存储服务器,同时将pkS发送给数据拥有者和数据共享者;
步骤3b1)可信第三方将cp作为数据共享者的第一个私钥分量,并选择两个小于群G1阶q的正随机数s1和s2,分别作为数据共享者的第二个私钥分量和第三个私钥分量,将cp、s1和s2构成的元组作为数据共享者的私钥skR={cp,s1,s2};
步骤3b2)可信第三方通过s1、s2和群G1的生成元P,计算数据共享者的第一个公钥分量Y1、第二个公钥分量Y2和第三个公钥分量Y3,取值1,2,...P构成群ZP={1,2,...P},从ZP选择随机数Y4,并将Y4作为数据共享者的第四个公钥分量,将云存储服务器的公钥pkS作为数据共享者的第五个公钥分量,将Y1、Y2、Y3、Y4和pkS构成的元组作为数据共享者的公钥pkR={Y1,Y2,Y3,Y4,pkS},Y4∈ZP,Y1、Y2和Y3计算分别公式为:
Y1=s1P
Y2=s2P
Y3=s1s2P
步骤3b3)将skR发送给数据共享者,同时将pkR发送给数据拥有者;
tj=e(H1(Wi,j),rY1)e(rQ,X)
其中,e表示公共参数cp中的双线性映射,H1表示公共参数cp中的哈希函数,Wi,j表示第i个存储文件中的第j个明文关键字,r表示一个小于群G1阶q的正随机数。
步骤4b)数据拥有者通过数据共享者的公钥pkR中的公钥分量Y1、Y2、Y3和Y4以及群G1的生成元P,计算密文关键字集的四个信息分量U、V、B和C,并将密文集合R={t1,t2,...tm,U,V,B,C}发送给云存储服务器,计算公式分别为:
B=rY2
C=rP
U=rY2+rPY4
V=rY3+rY1Y4
其中,r表示一个小于群G1阶q的正随机数;
步骤5)数据共享者计算明文关键字的陷门信息并发送:
步骤5a1)数据共享者根据存储文件的关键字字段Attm和查询格式QU的要求,从明文关键字向量中选择n个明文关键字Ω1,Ω2,...Ωn,并通过公共参数cp中的哈希函数H1、数据共享者的私钥skR中的第二个私钥分量s1和第三个私钥分量s2、云存储服务器公钥pkS中的第四个公钥分量Y4计算n个明文关键字Ω1,Ω2,...Ωn的陷门信息中间值T1,计算公式为:
其中,p是大于群G1阶数q的最小素数,mod表示取模运算;
步骤5a2)数据共享者通过公共参数cp中的哈希函数H1、双线性映射e、私钥skR中的第二个私钥分量s1、云存储服务器的公钥pkS的第二个公钥分量Q和第三个公钥分量X以及T1,计算n个明文关键字Ω1,Ω2,...Ωn的陷门信息分量Tw1;计算公式为:
步骤5b)数据共享者通过私钥skR的第二个私钥分量s1、公共参数cp中的哈希函数H1和a~计算得到陷门信息分量Tw2,并将明文关键字Ω1,Ω2,...Ωn在关键字字段中位置信息I1,I2,...In,以及Tw1和Tw2作为明文关键字的陷门信息Trap={Tw1,Tw2,I1,I2,...In}发送给云存储服务器,计算公式为:
步骤6)云存储服务器执行验证过程并返回结果:
步骤6a)云存储服务器通过关键字陷门信息Trap和查询格式QU,从密文集合R中选择对应位置的密文关键字,计算得到第一个验证中间值T′,计算公式为:
其中,表示从密文集合R中选择的n个密文关键字的乘积,e表示公共参数cp中的双线性映射,表示存储文档的n个关键字,r表示一个小于群G1阶q的正随机数,Y1表示数据共享者的第一个公钥分量,Q表示云存储服务器的第二个公钥分量,X表示云存储服务器的第三个公钥分量;
步骤6b)云存储服务器根据关键字陷门信息Trap得到从密文集合R中选择的关键字的个数n,通过公钥pkS中的公钥分量Q、私钥skS中第二个私钥分量s1、密文集合R中密文关键字集的信息分量C和公共参数cp中的双线性映射e计算得到第二个验证中间值t′,计算公式为:
t′=e(xQ,C)-n
步骤6c1)云存储服务器计算验证中间值T′和t′,通过T′和t′计算第一个待验证值T″,计算公式为:
步骤6c2)云存储服务器对第一个验证值T″的计算公式进行化简:
其中,e表示公共参数cp中的双线性映射,H1表示公共参数cp中的哈希函数,r表示一个小于群G1阶q的正随机数,Y1表示数据共享者的第一个公钥分量,s1表示数据共享者的第二个私钥分量,P表示群G1的生成元,T1表示n个关键字Ω1,Ω2,...Ωn的陷门信息中间值,B和C表示密文集合R中密文关键字集的信息分量,Y4表示数据共享者的第四个公钥分量;
步骤6c3)云存储服务器计算第二个待验证值Tw,计算公式为:
其中,Tw1表示明文关键字的陷门信息Trap的陷门信息分量,表示异或运算,H1表示公共参数cp中的哈希函数,e表示公共参数cp中的双线性映射,x云存储服务器的第二个私钥分量,Q表示云存储服务器的第二个公钥分量,Y1表示数据共享者的公钥分量;
步骤6c4)云存储服务器验证式H2[e(Tw,V)]=H2[T″·e(Tw2,U)]是否成立:
云存储服务器计算H2[e(Tw,V)]和H2[T″·e(Tw2,U)]两个值,计算公式为:
Claims (10)
1.一种多关键字可搜索的公钥加密方法,其特征在于,包括以下步骤:
(1)可信第三方设定公共参数cp:
可信第三方设定公共参数cp,包括群G1、G1的生成元为P、G1的阶为q、群G2、群G1的双线性映射e、哈希函数H1和哈希函数H2;
(2)数据拥有者设置存储文件的关键字字段、关键字向量和查询格式:
(3)可信第三方计算云存储服务器和数据共享者的密钥并分发:
(3a)可信第三方通过公共参数cp中群G1、G1的生成元P和G1的阶q,计算云存储服务器的公钥pkS和私钥skS,并将skS发送给云存储服务器,同时将pkS发送给数据拥有者和数据共享者;
(3b)可信第三方通过公共参数cp中的群G1的生成元P和G1的阶q,计算数据共享者的公钥pkR和私钥skR,并将skR发送给数据共享者,同时将pkR发送给数据拥有者;
(4b)数据拥有者通过数据共享者的公钥pkR和群G1的生成元P,计算密文关键字集的四个信息分量U、V、B和C,得到密文集合R={t1,t2,...tm,U,V,B,C},并将R发送给云存储服务器;
(5a)数据共享者根据存储文件的关键字字段Attm和查询格式QU的要求,从明文关键字向量中选择n个明文关键字Ω1,Ω2,...Ωn,并通过公共参数cp中的哈希函数H1、双线性映射e、数据共享者的私钥skR、云存储服务器公钥pkS和选择的随机数计算n个明文关键字Ω1,Ω2,...Ωn的陷门信息分量Tw1;
(5b)数据共享者通过自己的私钥skR、公共参数cp中的哈希函数H1和选择的随机数计算n个明文关键字Ω1,Ω2,...Ωn的陷门信息分量Tw2,并将明文关键字Ω1,Ω2,...Ωn在关键字字段中的位置信息I1,I2,...In,以及Tw1和Tw2作为明文关键字Ω1,Ω2,...Ωn的陷门信息Trap={Tw1,Tw2,I1,I2,...In},发送给云存储服务器;
(6)云存储服务器搜索密文集合R中的密文关键字,并将搜索结果发送给数据共享者:
2.根据权利要求1所述的一种多关键字可搜索的公钥加密方法,其特征在于,步骤(1)所述的可信第三方设定公共参数cp,实现方法为;
(1a)可信第三方设定群G1、G1的阶q和群G1的生成元P:选择一个长度为k的素数q作为群G1的阶,选择大于q的最小素数p,取值1,2,...p-1构成循环群选择中所有满足式αq≡1modp的元素α,构成群G1,选择满足式元素β,将β作为群G1的生成元P,其中k表示大于1的自然数;
(1b)可信第三方设定双线性映射e:选择满足双线性、非退化性和可计算性的映射,作为群G1的双线性映射e;
(1c)可信第三方设定群G2:通过双线性映射e和G1的生成元P,计算元素g=e(P,P)作为群G2的生成元,并计算g的幂次方ga,所有满足式ga≡1modp的ga构成群G2,其中1≤a≤q;
(1d)可信第三方设定哈希函数H1:选择映射过程为{0,1}*→G1的哈希函数H1;
(1e)可信第三方设定哈希函数H2:选择映射过程为G2→{0,1}k的哈希函数H2。
4.根据权利要求1所述的一种多关键字可搜索的公钥加密方法,其特征在于,步骤(3a)所述的计算云存储服务器的公钥pkS和私钥skS,实现步骤为:
(3a1)可信第三方将公共参数cp作为作为云存储服务器的第一个私钥分量,并选择一个小于群G1阶q的正随机数x,将x作为云存储服务器的第二个私钥分量,将cp和x构成的元组作为云存储服务器的私钥skS={cp,x};
(3a2)可信第三方将公共参数cp作为云存储服务器的第一个公钥分量,去除群G1中的零元,得到群并将从中选择随机数Q作为云存储服务器的第二个公钥分量,通过私钥分量x和G1的生成元P,计算云存储服务器的第三个公钥分量X,将cp、Q和X构成的元组作为云存储服务器的公钥pkS={cp,Q,X},X的计算公式为:
X=xP。
5.根据权利要求1所述的一种多关键字可搜索的公钥加密方法,其特征在于,步骤(3b)中所述的计算数据共享者的公钥pkR和私钥skR,实现步骤为:
(3b1)可信第三方将cp作为数据共享者的第一个私钥分量,并选择两个小于群G1阶q的正随机数s1和s2,分别作为数据共享者的第二个私钥分量和第三个私钥分量,将cp、s1和s2构成的元组作为数据共享者的私钥skR={cp,s1,s2};
(3b2)可信第三方通过s1、s2和群G1的生成元P,计算数据共享者的第一个公钥分量Y1、第二个公钥分量Y2和第三个公钥分量Y3,取值1,2,...P构成群ZP={1,2,...P},并将从ZP选择随机数Y4作为数据共享者的第四个公钥分量,将云存储服务器的公钥pkS作为数据共享者的第五个公钥分量,将Y1、Y2、Y3、Y4和pkS构成的元组作为数据共享者的公钥pkR={Y1,Y2,Y3,Y4,pkS},Y4∈ZP,Y1、Y2和Y3计算分别公式为:
Y1=s1P
Y2=s2P
Y3=s1s2P。
7.根据权利要求1所述的一种多关键字可搜索的公钥加密方法,其特征在于,步骤(4b)中所述的计算密文关键字集的四个信息分量U、V、B和C,计算公式分别为:
B=rY2
C=rP
U=rY2+rPY4
V=rY3+rY1Y4
其中,r表示一个小于群G1阶q的正随机数,Y1表示数据共享者的第一个公钥分量,Y2表示数据共享者的第二个公钥分量,Y3表示数据共享者的第三个公钥分量,Y4表示数据共享者的第四个公钥分量,P表示公共参数cp中群G1的生成元。
8.根据权利要求1所述的一种多关键字可搜索的公钥加密方法,其特征在于,步骤(5a)中所述的计算n个明文关键字Ω1,Ω2,...Ωn的陷门信息分量Tw1,实现步骤为:
(5a1)数据共享者计算n个关键字Ω1,Ω2,...Ωn的陷门信息中间值T1,计算公式为:
其中,s1表示数据共享者的第二个私钥分量,s2表示数据共享者的第三个私钥分量,Y4表示数据共享者的第四个公钥分量,p表示大于群G1阶数q的最小素数,mod表示取模运算,H1是公共参数cp中的哈希函数,Ω1,Ω2,...Ωn表示数据共享者选取的n个明文关键字;
(5a2)数据共享者计算n个关键字Ω1,Ω2,...,Ωn的陷门信息分量Tw1,计算公式为:
10.根据权利要求1所述的一种多关键字可搜索的公钥加密方法,其特征在于,步骤(6c)中所述的验证H2[e(Tw,V)]=H2[T″·e(Tw2,U)]是否成立,实现步骤如下:
(6c1)云存储服务器计算第一个待验证值T″,计算公式为:
t′=e(xQ,C)-n
其中,T′表示第一个验证中间值,t′表示第二个验证中间值,表示从密文集合R中选择的n个密文关键字的乘积,e表示公共参数cp中的双线性映射,表示存储文档的n个关键字,r表示一个小于群G1阶q的正随机数,Y1表示数据共享者的第一个公钥分量,Q表示云存储服务器的第二个公钥分量,X表示云存储服务器的第三个公钥分量,s1表示数据共享者的第二个私钥分量,C表示密文集合R中密文关键字集的信息分量;
(6c2)云存储服务器对第一个验证值T″的计算公式进行化简:
其中,e表示公共参数cp中的双线性映射,H1表示公共参数cp中的哈希函数,r表示一个小于群G1阶q的正随机数,Y1表示数据共享者的第一个公钥分量,s1表示数据共享者的第二个私钥分量,P表示群G1的生成元,T1表示n个关键字Ω1,Ω2,...Ωn的陷门信息中间值,B和C表示密文集合R中密文关键字集的信息分量,Y4表示数据共享者的第四个公钥分量;
(6c3)云存储服务器计算第二个待验证值Tw,计算公式为:
其中,Tw1表示明文关键字的陷门信息Trap的陷门信息分量,表示异或运算,H1表示公共参数cp中的哈希函数,e表示公共参数cp中的双线性映射,x云存储服务器的第二个私钥分量,Q表示云存储服务器的第二个公钥分量,Y1表示数据共享者的公钥分量;
(6c4)云存储服务器验证式H2[e(Tw,V)]=H2[T″·e(Tw2,U)]是否成立:
云存储服务器计算H2[e(Tw,V)]和H2[T″·e(Tw2,U)]两个值,并比较两个值是否相等,计算公式分别为:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810361850.2A CN108599937B (zh) | 2018-04-20 | 2018-04-20 | 一种多关键字可搜索的公钥加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810361850.2A CN108599937B (zh) | 2018-04-20 | 2018-04-20 | 一种多关键字可搜索的公钥加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108599937A CN108599937A (zh) | 2018-09-28 |
CN108599937B true CN108599937B (zh) | 2020-10-09 |
Family
ID=63614402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810361850.2A Active CN108599937B (zh) | 2018-04-20 | 2018-04-20 | 一种多关键字可搜索的公钥加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108599937B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109347832A (zh) * | 2018-10-24 | 2019-02-15 | 中国银行股份有限公司 | 一种动态数据共享方法、终端设备及代理服务器 |
CN109672525B (zh) * | 2018-12-14 | 2020-10-02 | 华中科技大学 | 一种具有前向索引的可搜索公钥加密方法及系统 |
CN109617683B (zh) * | 2018-12-15 | 2021-09-17 | 西安邮电大学 | 终端以及云服务器 |
CN110611570B (zh) * | 2019-09-26 | 2022-03-22 | 鹏城实验室 | 一种加密、密钥信息提供以及数据获取方法、装置 |
CN111934875B (zh) * | 2020-07-06 | 2021-10-01 | 河海大学 | 一种支持密文模糊搜索功能的公钥加密方法和系统 |
CN112118104A (zh) * | 2020-09-17 | 2020-12-22 | 中国人民解放军31008部队 | 一种安全增强的基于公钥加密的连接关键词搜索方法 |
CN112118257B (zh) * | 2020-09-17 | 2023-04-07 | 中国人民解放军31008部队 | 一种安全增强的基于公钥加密的关键词搜索方法 |
CN112737924B (zh) * | 2020-12-28 | 2022-06-14 | 杭州趣链科技有限公司 | 基于配对的加密邮件过滤方法 |
CN112564907B (zh) * | 2021-03-01 | 2021-07-20 | 北京信安世纪科技股份有限公司 | 密钥生成方法及装置、加密方法及装置、解密方法及装置 |
CN112966302B (zh) * | 2021-03-09 | 2023-06-23 | 西安邮电大学 | 一种支持患者隐私保护的安全远程医疗数据共享方法 |
CN113158174B (zh) * | 2021-04-06 | 2022-06-21 | 上海交通大学 | 基于图论的分组密码实际密钥信息的自动化搜索系统 |
CN113904823B (zh) * | 2021-09-28 | 2024-02-27 | 长沙学院 | 常数级授权计算复杂度的属性基可搜索加密方法及系统 |
CN115002754B (zh) * | 2022-02-24 | 2023-03-31 | 华东师范大学 | 一种基于车辆社交网络的轻量级数据分享方法 |
CN116074013A (zh) * | 2022-11-18 | 2023-05-05 | 电子科技大学 | 一种抗后门攻击的公钥可搜索加密方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104023051A (zh) * | 2014-05-22 | 2014-09-03 | 西安理工大学 | 云存储中多用户多个关键词可搜索的加密方法 |
CN105871543A (zh) * | 2016-03-29 | 2016-08-17 | 西安电子科技大学 | 多数据拥有者背景下基于属性的多关键字密文检索方法 |
CN106407822A (zh) * | 2016-09-14 | 2017-02-15 | 华南理工大学 | 一种关键词、多关键词可搜索加密方法和系统 |
CN107491497A (zh) * | 2017-07-25 | 2017-12-19 | 福州大学 | 支持任意语言查询的多用户多关键词排序可搜索加密系统 |
US9946720B1 (en) * | 2015-12-04 | 2018-04-17 | Ionu Security, Inc. | Searching data files using a key map |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1757006A2 (en) * | 2004-06-01 | 2007-02-28 | Ben-Gurion University of the Negev Research and Development Authority | Structure preserving database encryption method and system |
KR20130085491A (ko) * | 2011-12-09 | 2013-07-30 | 한국전자통신연구원 | 인덱스 검증과 추적이 가능한 다자간 환경에서의 검색 가능 암호 시스템 및 방법 |
-
2018
- 2018-04-20 CN CN201810361850.2A patent/CN108599937B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104023051A (zh) * | 2014-05-22 | 2014-09-03 | 西安理工大学 | 云存储中多用户多个关键词可搜索的加密方法 |
US9946720B1 (en) * | 2015-12-04 | 2018-04-17 | Ionu Security, Inc. | Searching data files using a key map |
CN105871543A (zh) * | 2016-03-29 | 2016-08-17 | 西安电子科技大学 | 多数据拥有者背景下基于属性的多关键字密文检索方法 |
CN106407822A (zh) * | 2016-09-14 | 2017-02-15 | 华南理工大学 | 一种关键词、多关键词可搜索加密方法和系统 |
CN107491497A (zh) * | 2017-07-25 | 2017-12-19 | 福州大学 | 支持任意语言查询的多用户多关键词排序可搜索加密系统 |
Non-Patent Citations (4)
Title |
---|
Public Key Encryption with Conjunctive Field Keyword Search;Dong Jin Park;《5th internetional workshop》;20040831;全文 * |
Public key encryption with keyword search revisited;J. Beak;《Proceeding sof the internetional coference on computational science and its applications》;20080630;全文 * |
可搜索加密机制研究;李雪;《计算机技术与发展》;20170131;第27卷(第1期);全文 * |
面向云计算的数据安全保护关键技术研究;刘婷婷;《中国博士学位论文全文数据库 信息科技辑》;20140131;第5.3节 * |
Also Published As
Publication number | Publication date |
---|---|
CN108599937A (zh) | 2018-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108599937B (zh) | 一种多关键字可搜索的公钥加密方法 | |
CN111835500B (zh) | 基于同态加密与区块链的可搜索加密数据安全共享方法 | |
Pasupuleti et al. | An efficient and secure privacy-preserving approach for outsourced data of resource constrained mobile devices in cloud computing | |
CN109660555B (zh) | 基于代理重加密的内容安全分享方法和系统 | |
Huang et al. | Achieving big data privacy via hybrid cloud | |
Hsu et al. | A Study of Public Key Encryption with Keyword Search. | |
CN110120873B (zh) | 基于云外包交易数据的频繁项集挖掘方法 | |
JP6770075B2 (ja) | 暗号化メッセージ検索方法、メッセージ送受信システム、端末、プログラム | |
Li et al. | Enabling efficient and secure data sharing in cloud computing | |
CN112332979B (zh) | 云计算环境中的密文搜索方法及系统、设备 | |
WO2014185450A1 (ja) | 照合システム、ノード、照合方法およびプログラム | |
Liu et al. | Public-key authenticated encryption with keyword search: A generic construction and its quantum-resistant instantiation | |
Ling et al. | Group id-based encryption with equality test | |
CN111556048B (zh) | 一种支持密文模式匹配的属性基安全通信方法及系统 | |
Azarderakhsh et al. | How not to create an isogeny-based PAKE | |
Huang et al. | A more efficient public-key authenticated encryption scheme with keyword search | |
Oudah et al. | Lightweight Authentication Model for IoT Environments Based on Enhanced Elliptic Curve Digital Signature and Shamir Secret Share. | |
Hwang et al. | An ElGamal-like secure channel free public key encryption with keyword search scheme | |
CN113407966A (zh) | 具有密钥更新与密文分享功能的可搜索公钥加密方法和系统 | |
Zhang et al. | Efficient public key encryption with revocable keyword search in cloud computing | |
CN115021993B (zh) | 一种可验证的公钥可搜索加密系统及方法 | |
CN108920968B (zh) | 一种基于连接关键词的文件可搜索加密方法 | |
KR100951034B1 (ko) | 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법 | |
Hahn et al. | Multi-key similar data search on encrypted storage with secure pay-per-query | |
CN113132345B (zh) | 具有可搜索功能的代理隐私集合求交方法 |
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 |