[发明专利]一种基于模糊关键字搜索的可撤销公钥加密方法有效
申请号: | 201810412331.4 | 申请日: | 2018-05-03 |
公开(公告)号: | CN108777623B | 公开(公告)日: | 2021-07-30 |
发明(设计)人: | 肖婷婷;韩德志;王军;毕坤;段乐天 | 申请(专利权)人: | 上海海事大学 |
主分类号: | H04L9/30 | 分类号: | H04L9/30;H04L29/06 |
代理公司: | 上海互顺专利代理事务所(普通合伙) 31332 | 代理人: | 余毅勤 |
地址: | 201306 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 模糊 关键字 搜索 撤销 加密 方法 | ||
1.一种基于模糊关键字搜索的可撤销公钥加密方法,其特征在于所述方法主要包含以下步骤:
步骤S1、系统初始化:由可信认证机构执行Setup算法,生成公共参数GP,具体生成过程为:
①可信认证机构选取一个双线性映射e:
G1×G1→G2 (1)
其中G1是阶为素数p的循环群,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=gs.t.i (8)
式中,随机选取令hA=gk,hB=gz,Y=e(g,g)y,t=H(e(C6,hA)a),其中,i为0到n的随机非负整数,根据数据拥有者给定的阈值d,选取一个q(i)的d-1阶多项式,并且令y=q(0);
步骤S4、解密用户根据要搜索的关键字域W'=(W′1,W′2,...,W′i,...),执行KTrapdoor(GP,skB,W')算法生成初始陷门dW';执行UTrapdoor(GP,skB,T,st,RL)算法,生成更新陷门uT;执行Revocation(GP,W”,T',RL,st)算法做撤销陷门操作,并发布更新的撤销列表RL,其中,T表示更新陷门的时间,T'表示撤销陷门时间,W”表示要撤销的关键字域;
步骤S5、服务器在解密用户执行撤销陷门操作后,对密文进行重加密,利用服务器重加密密钥rkC,执行用户级的访问控制,采用数据重加密算法Encrypt,产生新的密文C'=(C′1,C′2,i,C′3,C′4,C′5,C′6,C′7,i),并将得到的新密文发送给解密用户;
步骤S6、在测试阶段,解密用户输入私钥,密文C'和陷门uT,服务器计算:
t=H(e(C′6,hA)a) (9)
如果Wi=W′i,则下式成立:
其中,表示第i个查询关键字对应的陷门,其中,i为0到n的随机非负整数,W表示数据拥有者给定的待加密的关键字域;
服务器再计算数据拥有者给定的关键字域W与解密用户要搜索的关键字域W'交集的值,数据拥有者定义阈值d,比较交集的值与数据拥有者定义的阈值d的关系,如果W∩W'≥d,服务器输出正确的数据给解密用户,否则服务器输出“不能解密”提示给解密用户。
2.如权利要求1所述的基于模糊关键字搜索的可撤销公钥加密方法,其特征在于,
所述步骤S4具体包含以下步骤:
步骤S4.1、查询初始陷门,由解密用户执行KTrapdoor(GP,skB,W')算法,输入公共参数GP,解密用户的私钥skB,用户要搜索的关键字域W',生成初始陷门和更新的状态st,解密用户通过算法得到初始陷门的计算公式为:
其中,G1是阶为素数p的循环群;
步骤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;
在上述步骤中,如果解密用户在时间T进行更新陷门,则不允许在同一时间做撤销陷门操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海海事大学,未经上海海事大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810412331.4/1.html,转载请声明来源钻瓜专利网。