本发明涉及一种带关键词搜索的公钥加密技术,特别涉及一种无须安全信道的带关键词搜索公钥加密方法。
背景技术:
随着互联网、云计算的发展,用户需要存储加密后的数据在云端,此时需要对密文进行搜索,于是提出了带关键词搜索加密。典型的应用如下:假设用户A想发送加密的电子邮件给用户B,为了确保除用户B之外的任何人都不能解密电子邮件,用户A在发送电子邮件之前使用用户B的公钥加密该邮件,因此只有用户B拥有解密的能力。然而加密后的电子邮件是完全随机的,服务者(邮件服务器)将无法进行智能路由。比如,用户B想用其手机接收那些包含关键词“紧急”的邮件,而其它关键词的邮件希望路由(下载)到电脑上以便读取,那么用户B需要与邮件服务者之间建立一种密文匹配机制,即服务者在不解密邮件密文的条件下测试(TEST)邮件是否包含关键词“紧急”。
关键词往往来自于小的集合,而且普通用户经常使用大家熟知的关键词(如紧急、旅游等)来加密,之前研究的带关键词搜索的公钥加密方案只提供了搜索方案,而没有提供用户解密加密后的信息的能力,安全模型中攻击者只能获得关键词相关的陷门而不能获得陷门和关键词之间的测试结果。现实中,一个恶意的接收者(攻击者)能够自己产生所选关键词的陷门,并且通过与服务者交互得到陷门和密文之间的关系从而实现攻击。现有技术中已有通过增加测试查询增强了安全模型使得攻击者能够获得非挑战密文和陷门之间的关系,并给出了随机预言机模型下增强模型下安全的无需安全信道的带关键词搜索的公钥加密方案。虽然现有的无需安全信道的带关键词搜索的公钥加密方案已经很成熟,但是他们的安全性只能在随机预言模型下可证安全,而随机预言模型是一个理想化的模型,在该模型下所有的参与方都可以通过黑盒来访问真正随机的哈希函数,而且随机预言模型下的证明仅仅能被当作一个启发式的论据,实际环境中会导致系统的不安全性。
技术实现要素:
本发明的目的,在于提供一种无须安全信道的带关键词搜索公钥加密方法,能够提供效率更高且安全性更好的加密模型。
为了达成上述目的,本发明的解决方案是:
一种无须安全信道的带关键词搜索公钥加密方法,包括以下步骤:
步骤1,获取安全参数λ,根据安全参数λ输出全局公共参数GP;
步骤2,根据全局公共参数GP获取服务者S的公私钥对(pkS,skS);
步骤3,根据全局公共参数GP获取接收者的公私钥对(pkR,skR)和关键词ω;
步骤4,用关键词ω加密获得PEKS密文C并返回给安全参数λ;
步骤5,根据接收者的私钥skR和关键词ω,输出陷门Tω;
步骤6,根据服务者S的私钥skS、PEKS密文C和陷门Tω,反推关键词ω';
步骤7,判断ω=ω'是否成立,如果成立,则输出"Correct",加密成功,否则输出"Incorrect",加密不成功。
上述步骤1中,全局公共参数GP的具体获取方法为:设(p,g,G1,G2,e)为双线性对的参数,选择单向哈希函数设关键词域为随机产生随机参数u,v∈G1和强不可伪造一次签名Sig=(G,S,V);输出全局公共参数为GP=(p,g,G1,G2,e,u,v,Sig,H,KSω)。
上述步骤2中,服务者S的公私钥对(pkS,skS)的具体获取方法为:选择随机参数令X=gx,选择随机参数G1*是随机参数u,v的合集,输出服务者的公私钥对(pkS,skS),其中pkS=(GP,X,Q),skS=(pkS,x)。
上述步骤3中,接收者的公私钥对(pkR,skR)的具体获取方法为:选择随机参数令Y=gy,选择随机参数输出接收者的公私钥对(pkR,skR),pkR=(GP,Y,h),skS=(pkR,y)。
上述步骤5中,陷门Tω的具体获取方法为:选择随机参数令陷门为Tω=(sω,dω)。
上述步骤6中,反推关键词ω'的具体方法为:
步骤61,选择强不可伪造一次签名密钥对(ssk,svk)←G(λ),设置C0=svk;
步骤62,选择随机参数令C1=gs,t=H(e(X,Q)s),C2=(Yg-ω)r/t,C3=e(g,g)r,C4=e(g,h)r,C5=(usvkv)s;
步骤63,对五元组(C1,C2,C3,C4,C5)产生一个强不可伪造一次签名σ=S(ssk,(C1,C2,C3,C4,C5));
步骤64,PEKS密文为C=(C0,C1,C2,C3,C4,C5,σ)。
上述步骤7中,判断ω=ω'是否成立的具体方法为:
步骤71,验证等式V(C0,σ,(C1,C2,C3,C4,C5))=1是否成立,如果成立则转步骤72;
步骤72,验证等式是否成立,如果成立则转步骤73;
步骤73,计算t=H(e(C1,Q)x);
步骤74,验证等式是否成立,如果成立,则输出"Correct",加密成功,否则输出"Incorrect",加密不成功。
采用上述方案后,相比现有技术中的各种加密方案,本发明提出的增强的无需安全信道的带关键词搜索的公钥加密方案的安全性,为提高互联网中单对单的通信的安全性,能有效防止第三方的攻击,并且本发明的安全性和一致性在证明过程中避免了之前方案中使用随机预言机的缺点,具有以下特点:
(1)本发明有更强的安全模型。本发明的安全模型允许攻击者获得非挑战密文和陷门之间的关系,也即攻击者能力更强,那么在这一增强模型下可证安全的方案安全性更高。
(2)由于随机预言模型下证明是安全的方案在云端互联的实际应用中可能会不安全,而本发明的方案不依赖随机预言模型独立存在,能够带来更好的安全性。
具体实施方式
以下将结合具体实施例,对本发明的技术方案及有益效果进行详细说明。
首先对本发明中所使用到的概念进行说明:
1.1可忽略函数
函数ε(n):N→R被称为可忽略的,如果对于所有的n,1/ε(n)是一个非多项式界的量。
1.2双线性对
设G1,G2是阶数为素数p的循环群,g是群G1的生成元(分别表示G1\{1},Zp\{0})。称e:G1×G1→G2是一个双线性对,当且仅当如下的条件成立:
1.其中a,b∈ZP,g1,g2∈G1;
2.e(g,g)≠1;
3.对于所有的g1,g2∈G1,e(g1,g2)是可计算的。
1.3 DBDH假设
设e:G1×G1→G2是一个双线性对,定义敌手B的攻击优势函数如下:
a,b,c,r∈Zp且是随机选取的。如果对于所有的概率多项式时间敌手B,是可忽略的,那么基于双线性对的决定性Diffie-Hellman假设成立(可参见Boneh D,Boyen X..Efficient selective-ID Identity based encryption without random oracles[C].In Proc.of EUROCRYPT 2004,Springer Berlin Heidelberg,2004:223-238以及Gentry C..Practical identity-based encryption without random oracles[C].In Proc.of EUROCRYPT 2006,Springer-Verlag,2006:457-464)。
1.4 Truncated(Decisional)q-ABDHE假设
设e:G1×G1→G2是一个双线性对,定义敌手B的优势函数如下:
其中x,z,r∈Zp是随机选取的。如果对于所有的概率多项式时间敌手B,是可忽略的,那么决定性Truncated q-ABDHE假设成立。
1.5强不可伪造一次签名
强不可伪造一次签名包含一个三元组算法Sig=(G,S,V)。输入参数λ,G产生一对密钥(ssk,svk)。对于任意消息M,当σ=S(ssk,M)时V(svk,σ)=1,否则V(svk,σ)=0。强不可伪造一次签名指没有任何概率多项式时间攻击者A能够伪造一个新签名,即使是对曾经签过名的消息。
Sig=(G,S,V)是一个强不可伪造一次签名,当且仅当下面时间对于任何概率多项式时间伪造者F的概率是可忽略的:
AdvOTS=Pr[(ssk,svk)←G(λ);
(m,St)←F(svk);σ←S(ssk,m);
(m',σ')←F(m.,σ,svk,St):
V(svk,σ',m')=1∧(m',σ')≠(m,σ)]
其中St表示各个阶段F所获得的状态信息。
1.6无需安全信道的带关键词搜索的公钥加密定义
定义1(无需安全信道的带关键词搜索的公钥加密):无需安全信道的带关键词搜索的公钥加密方案包含如下几个算法:
-GloSetup(λ):输入安全参数λ,输出全局公共参数GP。
-KeyGenreceiver(GP):以公共参数GP为输入,输出接收者R的公私钥对(pkR,skR)。
-KeyGensever(GP):以公共参数GP为输入,输出服务者S的公私钥对(pkS,skS)。
-SCF-PEKS(GP,pkR,pkS,ω):输入公共参数GP,接收者的公钥pkR,服务者的公钥pkS,关键词ω。返回一个用关键词ω加密的PEKS密文C。
-Trapdoor(CP,skR,ω):输入公共参数GP,接收者的私钥skR,以及关键词ω,输出陷门Tω。
-Test(GP,skS,C,Tω):输入公共参数GP,服务者的私钥skS,陷门Tω,以及PEKS密文C,其中C=SCF-PEKS(GP,pkR,pkS,ω')。如果ω=ω',输出"Correct",否则输出"Incorrect"。
类似文献Abdalla M,Bellare M,Catalano D,et al.Advances in Cryptology–CRYPTO 2005[C].Springer Berlin Heidelberg,2005:205-222的一致性定义,无需安全信道的带关键词搜索的公钥加密方案的一致性定义如下:
定义2(一致性):假设存在一个敌手A,想破坏方案的一致性,形式化的定义如下:
(pkR,skR)←KeyGenreceiver(GP);(pkS,skS)←KeyGensever(GP)
(ω,ω')←A(pkR,pkS)
C←SCF-PEKS(GP,pkR,pkS,ω);Tω'←Trapdoor(GP,skR,ω')
ifω≠ω'and Test(GP,skS,C,Tω')="Correct"
then return 1,
else return 0。
其中A的优势如下:
如果对于所有的概率多项式时间的敌手A赢得上述游戏的概率都是可忽略的,则方案是计算一致性的。
接下来给出无需安全信道的带关键词搜索的公钥加密的安全性定义,即无需安全信道的带关键词搜索的公钥加密抵抗选择关键词攻击的不可区分性(IND-DT-CKA)。IND-DT-CKA保证了在可以获得任何非挑战关键词陷门的情况下没有任何服务者能区分PEKS密文是由他所选择的关键词ω0,ω1中的哪个关键词加密得到的。并且,任何没有获得服务者私钥的外部攻击者(包括接收者)不能区分PEKS密文是由他所选择的关键词ω0,ω1中的哪个关键词加密得到的,即使他可以获得非挑战密文和陷门之间的关系。具体定义如下:
定义3(IND-DT-CKA游戏):λ是安全参数,A是攻击者。考虑下面攻击者A和模拟者B的两个游戏:
游戏1:假设A是服务者。
系统建立:公共参数产生算法GloSetup(λ)和两个密钥产生算法KeyGenreceiver(GP),KeyGensever(GP)被执行,产生公共参数GP,接收者和服务者的公私钥对(pkR,skR),(pkS,skS),接着模拟者B把(pkS,skS)和pkR发送给攻击者A。
查询阶段一:攻击者A做如下查询:
(3.1)陷门查询<ω>:A询问B关于关键词ω的陷门,B返回给A陷门Tω=Trapdoor(GP,skR,ω)。
(3.2)测试查询<C,ω>:A询问B关于关键词ω和PEKS密文的测试查询。B首先做一个陷门查询<ω>来得到陷门Tω,B返回给A算法Test(GP,Tω,skS,C)的结果。
(3.3)挑战:一旦A决定查询1阶段结束,他输出挑战关键词对(ω0,ω1)(注意,ω0,ω1不能是查询阶段一中A所做的任何陷门查询的关键词)。收到挑战关键词对后,B随机地选择b∈{0,1},并且产生挑战密文C*=SCF-PEKS(GP,pkR,pkS,ωb),发送给A。
查询阶段二:A做和阶段一相同的查询,唯一的限制是A不能对ω0,ω1做陷门查询,并且如果<C,ω>=<C*,ω0>或者<C,ω>=<C*,ω1>则不允许做<C,ω>的测试查询。
(3.4)猜测:攻击者输出他的猜测b'。如果b=b',则攻击者获得胜利。
定义游戏1中攻击者A的优势:
游戏2:假设A是外部的攻击者(包括接收者)。
系统建立:公共参数产生算法GloSetup(λ)和两个密钥产生算法KeyGenreceiver(GP),KeyGensever(GP)被执行,产生公共参数GP,接收者和服务者的公私钥对(pkR,skR),(pkS,skS),接着模拟者B把(pkR,skR)和pkS发送给攻击者A。
查询阶段一:攻击者A做如下查询:
(3.5)陷门查询<ω>:A询问B关于关键词ω的陷门,B返回给A陷门Tω=Trapdoor(GP,skR,ω)。
(3.6)测试查询<C,ω>:A询问B关于关键词ω和PEKS密文C的测试查询。B首先做一个陷门查询<ω>来得到陷门Tω,B返回给A测试Test(GP,Tω,skS,C)的结果。
(3.7)挑战:一旦A决定查询1阶段结束,输出挑战关键词对(ω0,ω1)(注意,ω0,ω1不能是查询阶段一中A所做的任何陷门查询相关的关键词)。收到挑战关键词对后,B随机地选择b∈{0,1},并且产生挑战密文C*=SCF-PEKS(GP,pkR,pkS,ωb),发送给A。
查询阶段二:A做和阶段一相同的查询,限制如果<C,ω>=<C*,ω0>或者<C,ω>=<C*,ω1>则不允许做<C,ω>的测试查询。和游戏1不一样,ω0,ω1这里被允许做陷门查询。
(3.8)猜测:攻击者输出他的猜测b',如果b=b',则攻击者获得胜利。我们定义游戏1中攻击者A的优势:如果i=1或2是可忽略的,那么无需安全信道的带关键词搜索的公钥加密方案是IND-SCF-CKA安全的。
接下来具体描述本发明的实现方案以及安全性证明。
本发明的方案包含如下具体的构造方法:
·GloSetup(λ):λ是安全参数,设(p,g,G1,G2,e)为双线性对的参数。选择单向哈希函数设关键词域为随机产生u,v∈G1和强不可伪造一次签名Sig=(G,S,V)。输出全局公共参数为GP=(p,g,G1,G2,e,u,v,Sig,H,KSω)。
·KeyGensever(GP):随机选择计算X=gx,随机选择输出服务者的公私钥对(pkS,skS),其中pkS=(GP,X,Q),skS=(pkS,x)。
·KeyGenreceiver(GP):随机选择计算Y=gy,随机选择输出接收者的公私钥对,(pkR,skR),pkR=(GP,Y,h),skS=(pkR,y)。
·PEKS(GP,pkR,pkS,ω):
选择强不可伪造一次签名密钥对(ssk,svk)←G(λ),设置C0=svk,具体步骤如下:
(1)随机选择计算C1=gs,t=H(e(X,Q)s),C2=(Yg-ω)r/t,C3=e(g,g)r,C4=e(g,h)r,C5=(usvkv)s。
(2)对五元组(C1,C2,C3,C4,C5)产生一个强不可伪造一次签名σ=S(ssk,(C1,C2,C3,C4,C5))
(3)PEKS密文为C=(C0,C1,C2,C3,C4,C5,σ),返回C。
·Trapdoor(GP,skR,ω):随机选择计算陷门为Tω=(sω,dω),返回Tω。
·Test(GP,skS,C,Tω):验证下面几个等式是否成立:
V(C0,σ,(C1,C2,C3,C4,C5))=1
如果成立,则计算:t=H(e(C1,Q)x),接着验证下式是否成立:
如果上面等式都成立,则返回"Correct",否则返回"Incorrect"。
本发明的一致性验证如下:
假设1:上述构造的无需安全信道的带关键词搜索的公钥加密方案是计算一致性的。
证明:假设存在一个多项式时间攻击者A能够破坏上面方案的一致性。
令(ω0,ω1)是一致性游戏中攻击者A返回的关键词对。不失一般性,假设ω≠ω'。
令是产生密文SCF-PEKS(GP,pkR,pkS,ω)时随机选择的。(ssk,svk)是强不可伪造一次签名的密钥对。h=gz,C1=gs,t=H(e(X,Q)s),C2=(Yg-ω)r/t,C3=e(g,g)r,C4=e(g,h)r,Tω'=(sω',dω'),其中是由关键词ω'所产生的陷门。
显然A获胜的条件是ω≠ω',并且需要满足于是有:
因为y,z是私钥,对攻击者透明,因此,Pr[sω'=z]=1/(p-1),并且Pr[ω'=y]=1/(p-1),其中p-1是中元素的个数。如上所述,ω≠ω'时,Test(GP,skS,C,Tω')="Correct"。
本发明的安全性验证如下:
假设2:假设DBDH和q-ABDHE问题是难解的,那么上述方案是在标准模型下IND-DT-CKA安全的。
为了证明这一假设,分两个引证来完成证明。
引证1:设q≥qk+1,其中qk是攻击者所做陷门查询的总次数。假设q-ABDHE问题是难解的,上述的方案在游戏1中是标准模型下抗选择关键词攻击语义安全的。
证明:假设在游戏1中存在一个多项式时间攻击者A能够在标准模型下攻击上述方案。建立一个模拟者B能够解决q-ABDHE问题。具体模拟如下:首先,挑战者设置群G1,G2,及双线性对e,以及群G1的生成元g。模拟者B被输入一个q-ABDHE问题实例模拟者B的目标是区分或者T是群G2中的一个随机数。
系统建立:λ是安全参数,(p,g,G1,G2,e)是双线性对参数,单向哈希函数关键词域产生u,v∈G1和强不可伪造一次签名Sig=(G,S,V)。公共参数为GP=(p,g,G1,G2,e,u,v,Sig,H,KSω)。随机选取计算X=ga,随机选择设置服务者的公私钥分别为pkS=(GP,X,Q),skS=(GP,a)。
随机选取q阶多项式f(X),定义Y=gx,h=gf(x)。接收者的公钥为pkR=(pkS,Y,h)。发送(pkR,pkS,skS)给攻击者A。
查询阶段一:攻击者A做如下查询:
陷门查询<ω>:A询问B关于关键词ω的陷门,B设置sω=f(ω),计算dω=g(f(x)-f(ω))/(x-ω),发送陷门Tω=(sω,dω)给A。当q≥qk+1时,sω=f(ω)对于A来说是一个随机数,因为f(X)是一个随机的q阶多项式。
测试查询<C,ω>:A询问B关于关键词ω和PEKS密文之间的测试结果。B首先做一个陷门查询<ω>来得到陷门Tω,B返回给A测试Test(GP,Tω,skS,C)的结果。
挑战:一旦A决定查询1阶段结束,他输出挑战关键词对(ω0,ω1)(注意,ω0,ω1不能是查询阶段一中A所做的任何陷门查询的关键词)。B随机地选择b∈{0,1},设置ω*=ωb,产生强不可伪造一次签名的密钥对(ssk*,svk*)←G(λ),设置C0*=svk*,计算
B随机选择并且计算定义q+1阶多项式
计算
产生一个强不可伪造一次签名σ*=S(ssk*,(C1*,C2*,C3*,C4*,C5*))。发送挑战密文C*=(C0*,C1*,C2*,C3*,C4*,C5*,σ*)给攻击者A。
设r*=zF*(x),如果那么,
查询阶段二:A做和阶段一相同的查询,限制是A不能对ω0,ω1做陷门查询,并且如果<C,ω>=<C*,ω0>或者<C,ω>=<C*,ω1>,则不允许对<C,ω>做测试查询。
猜测:攻击者输出他的猜测b',如果b=b',则输出1,表示否则输出0,表示T=e(g,g)r。
概率分析:如果模拟是完美的,A正确猜出b的概率为1/2+ε。否则T是一个随机数,(C2*,C3*)是完全随机且相互独立。在该情况下不等式成立的概率为1-1/p。当不等式成立时,因为因为私钥是随机的,所以是随机的。并且从A获得信息的角度,C4*与密文中其他元素是相互独立的(C3*除外)。因此C4*是随机且相互独立的。因为s*∈Zp*是随机选取的,因此是随机且与(C2*,C3*,C4*)是相互独立的。挑战密文C*=(C0*,C1*,C2*,C3*,C4*,C5*,σ*)没有泄露关于b的任何信息。到此完成游戏1的证明。
引证2:假设DBDH问题是难解的,本发明的方案在游戏2中是在标准模型下抗选择关键词攻击语义安全的。
证明:假设在游戏2中存在一个多项式时间攻击者A能够在标准模型下攻击本文构造的方案,我们建立一个模拟者B能够解决DBDH问题。具体模拟如下:
首先,挑战者设置循环群G1,G2,及双线性对e,以及群G1的生成元g。模拟者被输入一个DBDH问题实例(g,ga,gb,gc,T),模拟者B的目标是区分T=e(g,g)abc或者T是群G2中的一个随机数。
在描述B之前,首先定义事件FOTS并给出它的概率范围。让C*=(C0*,C1*,C2*,C3*,C4*,C5*,σ*)表示游戏中发送给攻击者A的挑战密文。FOTS表示A对密文C=(svk*,C1,C2,C3,C4,C5,σ)进行解密查询,并且V(svk*,σ,(C1,C2,C3,C4,C5))=1。在阶段一,A不知道关于svk*的任何信息,因此事件FOTS在阶段一发生的概率不超过qkθ。其中qk是测试查询的总次数,θ表示一次签名的验证密钥svk*出现的最大概率(不超过1/p)。显然在阶段二,FOTS的发生等同伪造了强一次签名。因此Pr[FOTS]≤qk/p+AdvOTS,第二部分是强不可伪造一次签名被破坏的概率,因此也是可忽略的。
在模拟过程中,如果事件FOTS发生,则模拟者B停止游戏并且输出一个随机数代表猜测的结果。在准备阶段B产生强不可伪造一次签名的密钥对(ssk*,svk*)←G(λ),并且给攻击者A参数和其中是随机选择的。整个模拟过程如下:
系统建立:λ是安全参数,(p,g,G1,G2,e)是双线性对的参数,单向哈希函数公共参数为GP=(p,g,G1,G2,e,H,KSω)。KSω表示关键词域。令X=ga,Q=gb,设置服务者的公钥为pkS=(GP,X,Q)。
随机选择计算Y=gy。随机选择输出接收者的公私钥对(pkR,skR),其中pkR=(GP,Y,h),skS=(pkR,y)。(pkR,skR)和pkS发送给攻击者A。
查询阶段一:攻击者A做如下查询:
陷门查询<ω>:B随机选择sω∈Zp*,计算发送陷门Tω=(sω,dω)给A。
测试查询<C,ω>:A询问B关于关键词ω和PEKS密文C=(C0,C1,C2,C3,C4,C5,σ)之间的测试结果。B首先做一个陷门查询<ω>来得到陷门Tω,然后验证下面式子是否成立:
V(C0,σ,(C1,C2,C3,C4,C5))=1,
如果成立,分为下面两种情况:
如果C0=svk=svk*=C0*,且,
(C1,C2,C3,C4,C5,σ)≠(C1*,C2*,C3*,C4*,C5*,σ*)。
该情况下即事件FOTS发生,停止游戏。
如果C0=svk≠svk*=C0*,密文的合法性使得且,
因为C1=gs,B能够计算然后B能够计算
B检查下式是否成立:
如果所有等式都成立,返回正确,否则返回错误。
挑战:A输出挑战关键词对。B随机地选择b∈{0,1},令挑战关键词ω*=ωb,C0*=svk*,C1*=gc,t*=H(T),随机选取r∈Zp*,计算C3*=e(g,g)r,C4*=e(g,h)r,
产生一个强不可伪造一次签名σ*=S(ssk*,(C1*,C2*,C3*,C4*,C5*)),
返回密文C*=(C0*,C1*,C2*,C3*,C4*,C5*,σ*),发送C*给A。
查询阶段二:A做和阶段一相同的查询,限制是如果<C,ω>=<C*,ω0>或者<C,ω>=<C*,ω1>则不允许做<C,ω>的测试查询。和游戏1不一样,ω0,ω1这里被允许做陷门查询。
猜测:攻击者输出他的猜测b',如果b=b',输出1,表示T=e(g,g)abc。否则输出0,表示T=e(g,g)r。
概率分析:假设在游戏2中存在概率多项式时间攻击者A,能够在标准模型下以优势ε赢得游戏。现在给出模拟者B的概率:
当T=e(g,g)abc时,A满足|Pr[b=b']-1/2|≥ε。当T是G2*中一个随机数时,则t*=H(T)是随机的,同样是随机的,于是有Pr[b=b']=1/2。a,b,c是Zp*中的元素,T是G2*中的元素,于是有
即是不可忽略的。到此完成游戏2的证明。
以下将本发明的方案与现有技术中的一种方案进行性能比较:
因为Rhee等人的安全模型(Rhee H.S.,Park J.H.,Susilo W.,et al.Improved searchable public key encryption with designated tester[C].In Proc.of the 4th international Symposium on information,Computer,and Communications Security(ASIACCS’09),ACM,New York,NY,2009:376–379.)0的安全性在现有技术的安全模型中较高,因此与上述安全模型(以下简称Rhee方案)进行比较。
其中G1,G2表示循环群;te表示群G1,G2上指数运算的花费,tp是双线性对运算的花费,而双线性对运算的花费tp至少是数倍于指数运算的花费te;ts,tv分别表示签名和验证的计算花费。本发明将不考虑双线线性对e(Q,X),e(g,g),和e(g,Y)的计算时间,因为它们可以被看成是公钥。同样不考虑Rhee等人方案中双线性对e(g,h),e(g,u)和e(g,u~)的计算时间。比较的结果如下表1。“测试查询C*”表示对<C*,ω>的测试查询,其中ω≠ω0,ω≠ω1。
表1.本发明和Rhee方案比较的结果
Rhee等人方案详见Rhee H.S.,Park J.H.,Susilo W.,et al.Improved searchable public key encryption with designated tester[C].In Proc.of the 4th international Symposium on information,Computer,and Communications Security(ASIACCS’09),ACM,New York,NY,2009:376–379。
从表1中得出,本发明的方案在接收者和服务者的公钥大小以及PEKS加密方面更高效。但是本发明的方案在增强的安全模型可证安全的,即可以对挑战密文C*做关于<C*,ω>的测试查询,其中ω≠ω0,ω≠ω1。而且是标准模型下可证安全的,避免了Rhee方案依赖随机预言机这一缺点。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。