【技术实现步骤摘要】
一种基于身份的不使用双线性对的密文等值判定方法
本专利技术属于信息安全
,涉及一种身份的密文等值判定方法,特别涉及一种用于比对两段不同密文所对应的明文是否相同的方法。
技术介绍
可搜索加密技术(PublicKeyEncryptionwithKeywordSearch)是一种密文检索技术,在云计算环境中,通过将用户上传的密文数据授权给云服务提供商进行检索,同时不泄露用户隐私。可搜索加密协议通常由三个参与方协同完成,分别为数据拥有者、数据用户、服务器。数据拥有者将自己持有的数据及其对应的关键字索引加密并上传到服务器。当用户希望搜索某关键字时,将该关键字对应的陷门随搜索请求一起发送给服务器。服务器利用陷门和已存储的密文进行计算,寻找匹配项,并将结果返回给用户。需要注意的是,这里的数据持有者和用户可以是同一角色。密文等值判定协议(PublicKeyEncryptionwithEqualityTest)是一种能够在不泄露明文信息的前提下判断两个不同密文是否对应了同一明文的技术。已有的协议较多的使用了双线性对以及HashToPoint操作,这两个操作的性能较差,限制了协议在某些场景中的高效应用,特别是在嵌入式设备、智能卡等轻量级设备中的应用。
技术实现思路
本专利技术的目的是在不使用双线性对的情况下,设计更细粒度的密文等值判定方法,大幅提高密文等值判定操作的性能。本专利技术所采用的技术方案是:一种基于身份的不使用双线性对的密文等值判定方法,由密钥生成中心KGC、用户和服务器S三个参与方共同执行;其特征在于,包括以下步骤:步骤1:密钥生成中心KGC对系统进行初始化,生 ...
【技术保护点】
1.一种基于身份的不使用双线性对的密文等值判定方法,由密钥生成中心KGC、用户和服务器S三个参与方共同执行;其特征在于,包括以下步骤:步骤1:密钥生成中心KGC对系统进行初始化,生成系统相关参数;步骤2:用户向密钥生成中心KGC发送注册请求,密钥生成中心KGC产生用户的公私钥对并通过安全信道发送给用户;步骤3:用户A和B对分别明文MA和MB进行加密得到密文CA和CB,并根据自身需求选择相应的授权方式Authi,产生陷门tdA和tdB,将密文CA、CB和陷门tdA、tdB分别发送给服务器S;步骤4:服务器S解密;步骤5:服务器S选择相应的测试算法Testi执行等值判定操作,若输出1,则MA和MB相同,否则不同。
【技术特征摘要】
1.一种基于身份的不使用双线性对的密文等值判定方法,由密钥生成中心KGC、用户和服务器S三个参与方共同执行;其特征在于,包括以下步骤:步骤1:密钥生成中心KGC对系统进行初始化,生成系统相关参数;步骤2:用户向密钥生成中心KGC发送注册请求,密钥生成中心KGC产生用户的公私钥对并通过安全信道发送给用户;步骤3:用户A和B对分别明文MA和MB进行加密得到密文CA和CB,并根据自身需求选择相应的授权方式Authi,产生陷门tdA和tdB,将密文CA、CB和陷门tdA、tdB分别发送给服务器S;步骤4:服务器S解密;步骤5:服务器S选择相应的测试算法Testi执行等值判定操作,若输出1,则MA和MB相同,否则不同。2.根据权利要求1所述的基于身份的不使用双线性对的密文等值判定方法,其特征在于,步骤1的具体实现包括以下子步骤:步骤1.1:密钥生成中心KGC选定λ∈Z*作为安全参数,其中Z*表示正整数集合;选定阶为素数q∈Z*的加法循环群G,P为G的生成元;随机选择作为系统主密钥;选择哈希函数h1,h2,h3,h4,h5,h6,h7,其中h1:{0,1}*×{0,1}*→{0,1}*,hi(i=2,3,4,5,6):{0,1}*→{0,1}*,h7:{0,1}*×{0,1}*×{0,1}*→{0,1}*;步骤1.2:KGC公布参数Params=(G,P,q,h1,h2,h3,h4,h5,h6,h7)并将msk秘密保存。3.根据权利要求2所述的基于身份的不使用双线性对的密文等值判定方法,其特征在于,步骤2的具体实现过程是:用户以身份ID向密钥生成中心KGC发送注册请求,密钥生成中心KGC计算用户私钥SK=(ska,skb),其中ska=h1(msk||ID||1),skb=h1(msk||ID||2),计算用户公钥PK=(PKa,PKb),其中PKa=ska·P,PKb=skb·P;其中,x||y表示x与y的拼接,x和y是比特串或字节串。4.根据权利要求3所述的基于身份的不使用双线性对的密文等值判定方法,其特征在于,步骤3中所述的加密,其具体实现包括以下子步骤:步骤3.1:计算点p1=(h2(M),h3(M)),点p2=(h4(M),h5(M)),计算经过点p1、p2的直线f(x);其中,明文M∈{0,1}*;步骤3.2:选择随机数并计算y1=f(x1),y2=f(x2);若x1=0或者x2=0,则重新执行此步骤;步骤3.3:选择随机数并计算C1=r·P,C2=M⊕h6(r·PKa),C3=(x1||x2||y1||y2)⊕h7(r·PKb,C1,C2);其中,x⊕y表示x与y的异或,x和y是比特串或字节串;a·Q表示点乘,a是整数,Q是循环群G上的点;步骤3.4:输出密文C=(C1,C2,C3)。5.根据权利要求4所述的基于身份的不使用双线性对的密文等值判定方法,其特征在于,步骤4的具体实现过程为:给定私钥SK=(ska,skb)和密文C=(C1,C2,C3),计算M←C2⊕h6(ska·C1)和x1||x2||y1||y2←C3⊕h7(sk2·C1,C1...
【专利技术属性】
技术研发人员:吴黎兵,张宇波,王婧,夏振厂,吴煜,
申请(专利权)人:武汉大学,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。