一种基于模糊关键字搜索的可撤销公钥加密方法技术

技术编号:19390854 阅读:14 留言:0更新日期:2018-11-10 02:45
本发明专利技术公开了一种基于模糊关键字搜索的可撤销公钥加密方法,包含以下步骤:可信认证机构执行密钥生成算法,为数据拥有者生成主公钥,为解密用户生成公私钥对,为服务器生成重加密密钥;数据拥有者对要发送的数据进行加密;解密用户进行查询初始陷门、更新陷门以及撤销陷门操作;服务器对密文进行重加密生成新密文,然后比较解密用户要搜索的关键字域与数据拥有者给定的关键字域交集取值是否大于数据拥有者给定的阈值,如果交集的值大于阈值则输出正确数据,否则解密用户得到“不能解密”提示。本发明专利技术通过结合可撤销陷门的公钥加密方法与模糊关键字匹配方法,在实现模糊关键字搜索功能同时实现了高效地撤销陷门,确保了数据加密前后的安全性。

A revocable public key encryption method based on fuzzy keyword search

The invention discloses a revocable public key encryption method based on fuzzy keyword search, which includes the following steps: the trusted authentication authority executes key generation algorithm, generates the master public key for the data owner, generates the public-private key pair for the decrypted user, and generates the re-encrypted key for the server; and the data owner enters the data to be transmitted. Row encryption; decrypted users query the initial trap, update trap and revoke trap; server re-encrypts the ciphertext to generate new ciphertext, and then compares whether the intersection value of the key fields to be searched by decrypted users and the key fields given by the data owner is greater than the threshold given by the data owner if the intersection value is greater than the threshold given by the data owner. If the value is greater than the threshold, output the correct data, otherwise, the decryption user will get the \unable to decrypt\ prompt. By combining the public key encryption method of revocable trapdoor with the matching method of fuzzy keywords, the invention realizes the function of searching fuzzy keywords and efficiently revokes trapdoor, thus ensuring the security before and after data encryption.

【技术实现步骤摘要】
一种基于模糊关键字搜索的可撤销公钥加密方法
本专利技术涉及云安全领域,特别涉及一种基于模糊关键字搜索的可撤销公钥加密方法。
技术介绍
自从20世纪70年代公钥密码被提出后,公钥加密方法得到快速的发展。不同的加密方法应用的场景也有不同。带关键字搜索公钥加密方法被提出,目前主要的无安全信道带关键字搜索公钥加密方法都是在随机预言机模型下证明安全性的。所谓“模糊”的意义在于有多个“身份”(比如“姓名”,“职位”等的集合),相当于生物的多个特征值,不同的特征组合我们得到不同的公钥。受此概念的影响,人们开始构造基于属性的公钥加密方法。与传统公钥加密的区别便是加入了“属性”,它如同基于身份加密中的“身份”,解密用户根据不同的属性解密不同的密文,实现了多关键字模糊匹配。通常的密码系统,基于身份的密钥加密(IBE)或者公开密钥基础架构(PKI)都必须提供从系统中撤销解密用户私钥的途径,同样带关键字搜索加密(PEKS)也应该提供撤销陷门的方式。在IBE或者PKI系统中,如果用户的私钥泄露了,就必须提供从系统中撤销用户的途径。同样在带关键字搜索公钥加密中,解密用户在发送出某关键字对应的陷门给服务器后,因为某种原因不想让服务器继续搜索相应关键字了,即撤销这一关键字陷门是很自然的。同时在公钥加密系统中,撤销工作是通过证书撤销列表来完成的,通过在证书中加入有效时间段标志,为了提高效率,基于身份的加密和带关键字搜索公钥加密中都避免使用证书。现有的研究方法中虽然有些公钥加密方法支持模糊关键字搜索,但是并不能在实现模糊关键字搜索的同时解决解密用户撤销陷门的问题。针对上述问题该专利技术提出一种基于模糊关键字搜索的可撤销公钥加密方法,能够在解密用户不想搜索相应关键字时,可以及时撤销相应关键字陷门。
技术实现思路
本专利技术的目的在于提供一种基于模糊关键字搜索的可撤销公钥加密方法,可撤销带关键字搜索的公钥加密方法与模糊关键字匹配方法,在关键字加密方法基础上根据模糊关键字匹配的原理完善了明文的加密和解密,并且关键字是模糊匹配的。此外,在带模糊关键字搜索公钥加密方法的陷门撤销问题上,提出了可高效撤销的无需安全信道的带关键字搜索公钥加密方法,因为可以在实现多关键字模糊匹配的同时解决陷门撤销问题。为了达到以上目的,本专利技术通过以下技术方法实现:一种基于模糊关键字搜索的可撤销公钥加密方法,包含以下步骤:步骤S1、系统初始化:由可信认证机构执行Setup算法,生成公共参数GP,具体生成过程为:①可信认证机构选取一个双线性映射e:G1×G1→G2(1)其中G1是阶为素数P的循环群,g为G1中的生成元,G2是乘法循环群;②由数据拥有者给定关键字域W=(W1,W2,…,Wi,…),可信认证机构选择一个单向哈希函数并执行Setup算法,得到公共参数GP=(p,g,G1,G2,e,H);③由可信认证机构将系统初始状态定义为st,再为系统初始化一个空的撤销列表RL;所述的可信认证机构指的是能被数据拥有者、服务器和解密用户完全信任的主要负责初始化系统以及为数据拥有者生成主公钥,为解密用户生成公私钥对,为服务器生成重加密密钥的权威机构;步骤S2、可信认证机构执行三个密钥产生算法KenGenA、KenGenB和KenGenC,为数据拥有者生成主公钥pkA,为解密用户生成公私钥对(pkB,skB),为服务器生成重加密秘钥rkC,具体过程如下:①随机选择且hA=ga,可信认证机构执行密钥产生算法KenGenA(GP,hA),为数据拥有者生成主公钥pkA;②随机选择且hB=gb,可信认证机构执行密钥产生算法KenGenB(GP,hB),输出解密用户的公私钥对(pkB,skB);③随机选择且hC=gc,可信认证机构执行密钥产生算法KenGenC(GP,hC),输出服务器的重加密密钥rkC;步骤S3、数据拥有者对其要发送的数据M进行加密,根据其待加密的关键字域W=(W1,W2,…,Wi,…)和要发送的数据M,执行Enc(pkA,pkB,M,W1,W2,…)算法,得到加密后的密文C=(C1,C2,i,C3,C4,C5,C6,C7,i),并将得到的密文发送给服务器,数据拥有者对数据M进行加密的计算公式为:C1=H(e(pkA,hA)s)(2)C3=e(g,g)r(4)C4=e(g,hB)r(5)C5=mYs(6)C6=gs(7)C7,i=gsti(8)式中,随机选取令hA=gk,hB=gz,Y=e(g,g)y,t=H(e(C6,hA)a),元素i属于根据数据拥有者给定的阈值d,选取一个q(i)的d-1阶多项式,并且令y=q(0);步骤S4、解密用户根据要搜索的关键字域W'=(W1',W2',…,Wi',…),执行KTrapdoor(GP,skB,W')算法生成初始陷门dW;执行UTrapdoor(GP,skB,T,st,RL)算法,生成更新陷门uT;执行Revocation(GP,W”,T,RL,st)算法做撤销陷门操作,并发布更新的撤销列表RL;步骤S5、服务器在解密用户执行撤销陷门操作后,对密文进行重加密,利用服务器重加密密钥rkC,执行用户级的访问控制,采用数据重加密算法Encrypt,产生新的密文C'=(C1',C'2,i,C3',C'4,C5',C'6,C'7,i),并将得到的新密文发送给解密用户;步骤S6、在测试阶段,解密用户输入私钥,密文C'和陷门uT,服务器计算:t=H(e(C'6,hA)a)(9)如果Wi=Wi',则下式成立:服务器再计算数据拥有者给定的关键字域W与解密用户要搜索的关键字域W'交集的值,数据拥有者定义阈值d,比较交集的值与数据拥有者定义的阈值d的关系,如果W∩W'≥d,服务器输出正确的数据给解密用户,否则服务器输出“不能解密”提示给解密用户;解密用户查询初始陷门、更新陷门以及撤销陷门具体包含以下过程:步骤S4.1、查询初始陷门,由解密用户执行KTrapdoor(GP,skB,W')算法,输入公共参数GP,解密用户的私钥skB,用户要搜索的关键字域W',生成初始陷门和更新的状态st,解密用户通过算法得到初始陷门的计算公式为:步骤S4.2、更新陷门,由解密用户执行UTrapdoor(GP,skB,T,st,RL)算法,输入公共参数GP,解密用户的私钥skB,更新陷门的时间T,撤销列表RL和状态st,生成更新陷门步骤S4.3、撤销陷门,解密用户执行Revocation(GP,W”,T',RL,st)算法,输入公共参数GP,将要撤销的关键字域W”和撤销陷门时间T',输出更新的撤销列表RL和状态st。本专利技术与现有技术相比具有以下优点:融合了传统模糊关键字匹配方法与可撤销带关键字搜索的公钥加密方法,改进了在数据拥有者和解密用户之间陷门不可撤销问题,并且实现了解密用户根据不同属性解密不同的密文,实现了多关键字的模糊匹配。附图说明图1为本专利技术一种基于模糊关键字搜索的可撤销公钥加密方法的流程图。具体实施方式以下结合附图,通过详细说明一个较佳的具体实施例,对本专利技术做进一步阐述。如图1所示,本专利技术一种基于模糊关键字搜索的可撤销公钥加密方法,该方法在关键字匹配,模糊身份加密,陷门撤销,算法耗时方面明显提高了性能效果。该检测方法包含以下步骤:步骤S1、系统初始化:由可信认证机构执本文档来自技高网
...

【技术保护点】
1.一种基于模糊关键字搜索的可撤销公钥加密方法,其特征在于所述方法主要包含以下步骤:步骤S1、系统初始化:由可信认证机构执行Setup算法,生成公共参数GP,具体生成过程为:①可信认证机构选取一个双线性映射e:G1×G1→G2  (1)其中G1是阶为素数P的循环群,g为G1中的生成元,G2是乘法循环群;②由数据拥有者给定关键字域W=(W1,W2,…,Wi,…),可信认证机构选择一个单向哈希函数

【技术特征摘要】
1.一种基于模糊关键字搜索的可撤销公钥加密方法,其特征在于所述方法主要包含以下步骤:步骤S1、系统初始化:由可信认证机构执行Setup算法,生成公共参数GP,具体生成过程为:①可信认证机构选取一个双线性映射e:G1×G1→G2(1)其中G1是阶为素数P的循环群,g为G1中的生成元,G2是乘法循环群;②由数据拥有者给定关键字域W=(W1,W2,…,Wi,…),可信认证机构选择一个单向哈希函数并执行Setup算法,得到公共参数GP=(p,g,G1,G2,e,H);③由可信认证机构将系统初始状态定义为st,再为系统初始化一个空的撤销列表RL;所述的可信认证机构指的是能被数据拥有者、服务器和解密用户完全信任的主要负责初始化系统以及为数据拥有者生成主公钥,为解密用户生成公私钥对,为服务器生成重加密密钥的权威机构;步骤S2、可信认证机构执行三个密钥产生算法KenGenA、KenGenB和KenGenC,为数据拥有者生成主公钥pkA,为解密用户生成公私钥对(pkB,skB),为服务器生成重加密秘钥rkC,具体过程如下:①随机选择且hA=ga,可信认证机构执行密钥产生算法KenGenA(GP,hA),为数据拥有者生成主公钥pkA;②随机选择且hB=gb,可信认证机构执行密钥产生算法KenGenB(GP,hB),输出解密用户的公私钥对(pkB,skB);③随机选择且hC=gc,可信认证机构执行密钥产生算法KenGenC(GP,hC),输出服务器的重加密密钥rkC;步骤S3、数据拥有者对其要发送的数据M进行加密,根据其待加密的关键字域W=(W1,W2,…,Wi,…)和要发送的数据M,执行Enc(pkA,pkB,M,W1,W2,…)算法,得到加密后的密文C=(C1,C2,i,C3,C4,C5,C6,C7,i),并将得到的密文发送给服务器,数据拥有者对数据M进行加密的计算公式为:C1=H(e(pkA,hA)s)(2)C3=e(g,g)r(4)C4=e(g,hB)r(5)C5=mYs(6)C6=gs(7)C7,i=gsti(8)式中,随机选取令hA=gk,hB=gz,Y=e(g,g)y,t=H(e(C6,hA)a),元素i属于根据...

【专利技术属性】
技术研发人员:肖婷婷韩德志王军毕坤段乐天
申请(专利权)人:上海海事大学
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1