CN113422685B - 一种搜索令牌限时撤销的无证书可搜索公钥加密方法及系统 - Google Patents
一种搜索令牌限时撤销的无证书可搜索公钥加密方法及系统 Download PDFInfo
- Publication number
- CN113422685B CN113422685B CN202110694152.6A CN202110694152A CN113422685B CN 113422685 B CN113422685 B CN 113422685B CN 202110694152 A CN202110694152 A CN 202110694152A CN 113422685 B CN113422685 B CN 113422685B
- Authority
- CN
- China
- Prior art keywords
- receiver
- key
- ciphertext
- private key
- parameter set
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- 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/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- 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/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种搜索令牌限时撤销的无证书可搜索公钥加密方法和系统,所述方法包括生成系统的全局公开参数集和主密钥、生成协助者的公私钥、生成接收者的部分私钥、生成接收者的秘密值、生成接收者的初始私钥、生成接收者的公钥、生成当前时间周期的更新密钥、生成接收者当前时间周期的私钥、生成索引密文、生成搜索令牌和匹配测试的步骤。本发明所述技术方案不仅具有私钥进化的功能,在保持接收者公钥不变的情况下实现其私钥的周期性更新,有效减轻私钥泄露带来的危害,而且实现了搜索令牌的限时撤销,有效避免现有方法中由于服务器滥用搜索令牌或由于接收者私钥泄露导致的非授权密文搜索问题。
Description
技术领域
本发明涉及信息安全中的数据加密技术领域,特别是一种搜索令牌限时撤销的无证书可搜索公钥加密方法和系统。
背景技术
为解决公钥密码系统中密文搜索难题,Boneh等人在2004年首次提出了可搜索公钥加密技术。这一新型公钥密码技术使得用户可以使用自己的私钥生成搜索关键字的搜索令牌,并将搜索令牌发送给密文存储服务器作为授权来检测发送给他的密文是否含有与搜索令牌中相同的关键字。而在此过程中,密文存储服务器无需对密文进行解密且不知道密文接收者所搜索的关键字是什么,因此有效保护了用户的隐私。
可搜索公钥加密有效克服了传统公钥加密技术无法直接搜索密文的不足。自其被提出后,迅速引起了密码学界的高度关注,很多可搜索公钥加密方法被相继被提出。然而,已有可搜索公钥加密方法大多是在传统公钥密码体制下构造的,因此存在复杂的公钥证书管理问题。为了解决这个问题,Abdalla等人提出了基于身份的可搜索加密方法。在基于身份的可搜索加密中,用户的身份即为公钥,因此不再需要公钥证书。但由于用户的私钥需要由一个完全可信的密钥生成中心来生成,因此存在密钥托管问题。2014年,Peng等人提出了无证书可搜索公钥加密方法来解决上述问题。在无证书可搜索公钥加密体制中,用户私钥由部分私钥和秘密值两部分组成,其中部分私钥由可信的密钥生成中心生成,而秘密值则由用户自己生成。由于密钥生成中心对用户的秘密值一无所知,因此密钥生成中心不知道用户的私钥,即解决了密钥托管问题。此外,无证书可搜索公钥加密方法不需要使用公钥证书,因此避免了复杂的公钥证书管理。
在无证书可搜索公钥加密方法的实际应用中,一个用户需要使用自己的私钥和待搜索关键字产生搜索令牌,并将之发送给密文存储服务器以授权后者搜索其密文。搜索结束后,密文存储服务器应将用户的搜索令牌删除。然而,密文存储服务器通常由第三方提供,是不完全可信的。一个密文存储服务器可能会出于某种目的保存特定用户的搜索令牌,在用户非授权且不知情的情况下搜索该用户的密文,这可能会给用户带来数据隐私泄露的隐患。此外,随着移动通信技术的广泛应用,密码计算经常在易失或易被盗的便携设备上执行。存储在这些便携设备上的用于产生搜索令牌的私钥的泄露变得不可避免。恶意实体一旦得到用户的私钥,就可以产生搜索令牌并搜索该用户的密文。现有无证书可搜索公钥加密方法均无法应对上述由于密文存储服务器滥用搜索令牌或用户私钥泄露而导致的非授权搜索问题,因此这些方法无法在实际中部署并安全应用。克服上述问题的有效方法是提供一种撤销机制,使得用户发送给密文存储服务器的搜索令牌或用于产生搜索令牌的密钥会“过期失效”,无法长期用于用户密文的搜索。
发明内容
本发明所要解决的技术问题是克服现有技术方案的不足而提供一种搜索令牌限时撤销的无证书可搜索公钥加密方法和系统。本发明所述技术方案不仅具有私钥进化的功能,在保持用户公钥不变的情况下实现其私钥的周期性更新,有效减轻私钥泄露带来的危害,而且实现了搜索令牌的限时撤销,有效避免由于服务器滥用搜索令牌或由于私钥泄露导致的非授权密文搜索问题。
本发明为解决上述技术问题采用以下技术方案:一种搜索令牌限时撤销的无证书可搜索公钥加密方法,所述方法包含以下步骤:
步骤A、根据安全参数,密钥生成中心生成系统的全局公开参数集和主密钥;
步骤B、根据系统的全局公开参数集,协助者生成自己的公私钥;
步骤C、根据系统的全局公开参数集、系统的主密钥和接收者的身份标识,密钥生成中心生成接收者的部分私钥;
步骤D、根据系统的全局公开参数集和接收者的身份标识,接收者生成自己的秘密值;
步骤E、根据系统的全局公开参数集、接收者的部分私钥和秘密值,接收者生成自己的初始私钥;
步骤F、根据系统的全局公开参数集、接收者的秘密值、初始私钥和协助者的公钥,接收者生成自己的公钥;
步骤G、根据系统的全局公开参数集、协助者的私钥、接收者的身份标识和当前时间周期标识,协助者生成当前时间周期的更新密钥;
步骤H、根据系统的全局公开参数集、当前时间周期标识、当前时间周期的更新密钥和接收者前一时间周期的私钥,接收者生成自己当前时间周期的私钥;
步骤I、根据系统的全局公开参数集、接收者的身份标识、当前时间周期标识、接收者的公钥和一个与待发送数据密文相关联的关键字,发送者生成索引密文,并将其附加在数据密文后构成可搜索密文;
步骤J、根据系统的全局公开参数集、接收者的身份标识、接收者当前时间周期的私钥和待搜索的关键字,接收者生成搜索令牌;
步骤K、根据系统的全局公开参数集、索引密文和搜索令牌,密文存储服务器测试索引密文和搜索令牌是否包含相同的关键字。若相同,密文存储服务器将索引密文关联的数据密文发送给接收者;否则,密文存储服务器忽略该密文。
进一步的,所述步骤A的详细步骤如下:
步骤A.1、系统参数生成中心根据安全参数λ∈Z+生成一个λ比特的素数q,一个q阶椭圆曲线群G以及系统的最大时间周期N∈Z+,其中Z+为正整数集合;
步骤A.3、定义四个哈希函数 其中,H1是{0,1}*到集合的哈希函数,H2是{0,1}*与正整数集合Z+的笛卡尔积{0,1}*×Z+到集合的哈希函数,H3是{0,1}*到集合的哈希函数,H4是加法循环群G到集合的哈希函数,{0,1}*是长度不固定的二进制符号串的集合;
步骤A.4、生成系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4}和主秘密钥msk=s。
进一步的,所述步骤B的详细步骤如下:根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},协助者在集合中随机选择自己的私钥HK=v,并计算自己的公钥PKhelper=vP。
进一步的,所述步骤C的详细步骤如下:根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},系统的主秘密钥msk=s和接收者的身份标识ID,密钥生成中心生成接收者的部分私钥DID=sH1(ID),其中H1(ID)为哈希函数H1输出的身份标识ID的哈希值。
进一步的,所述步骤E的详细步骤如下:
步骤E.1、根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},接收者的部分私钥DID=sH1(ID)和秘密值sID,接收者计算自己初始私钥的第一部分SK0,1=sID+sH1(ID);
步骤E.3、接收者组合SK0,1和SK0,2作为自己的初始私钥SKID,0,即接收者的初始私钥SKID,0=(SK0,1,SK0,2)由SK0,1和SK0,2两个部分构成。
进一步的,所述步骤F的详细步骤如下:
步骤F.1、根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},接收者的秘密值sID,接收者的初始私钥SKID,0=(sID+sH1(ID),y)和协助者的公钥PKhelper=vP,接收者分别计算公钥的第一部分PK1=sIDP和第二部分PK2=yP,并置公钥的第三部分PK3=PKhelper;
步骤F.2、接收者组合PK1、PK2和PK3作为自己的公钥,即接收者的公钥PKID=(PK1,PK2,PK3)由PK1、PK2和PK3三个部分构成。
进一步的,所述步骤G的详细步骤如下:根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},协助者的私钥HK=v,接收者的身份标识ID和当前时间周期标识i∈{1,2,...,N},若当前时间周期标识为1,协助者生成当前时间周期的更新密钥UKID,1=vH2(ID,1);否则,协助者生成当前时间周期的更新密钥UKID,i=vH2(ID,i)-vH2(ID,i-1),其中H2(ID,i)为哈希函数H2输出的身份标识ID和当前时间周期标识i级联的哈希值,H2(ID,i-1)为哈希函数H2输出的身份标识ID和时间周期标识i-1级联的哈希值。
进一步的,所述步骤H的详细步骤如下:
步骤H.1、根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},当前时间周期标识i∈{1,2,K,N},当前时间周期的更新密钥UKID,i和接收者前一时间周期的私钥SKID,i-1=(SKi-1,1,SKi-1,2),接收者计算自己当前时间周期的私钥的第一部分SKi,1=SKi–1,1+UKID,i;
步骤H.2、接收者置自己当前时间周期的私钥的第二部分SKi,2=SKi-1,2;
步骤H.3、接收者组合SKi,1和SKi,2作为自己当前时间周期的私钥SKID,i,即接收者当前时间周期的私钥SKID,i=(SKi,1,SKi,2)由SKi,1和SKi,2两个部分构成。
进一步的,所述步骤I的详细步骤如下:
步骤I.1、根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},接收者的身份标识ID、当前时间周期标识i∈{1,2,...,N}、接收者的公钥PKID和一个与待发送数据密文相关联的关键字w,发送者随机选择一个整数计算索引密文的第一部分C1=rP;
步骤I.2、发送者计算索引密文的第二部分C2=H4(rH3(w)(PK1+PK2+H1(ID)Ppub+H2(ID,i)PK3)),其中H3(w)为哈希函数H3输出的关键字w的哈希值;
步骤I.3、发送者组合Ci,1和Ci,2生成索引密文Ci,w,即索引密文Ci,w=(Ci,1,Ci,2)由Ci,1和Ci,2两个部分构成,然后将之附加在数据密文上发送给密文存储服务器。
进一步的,所述步骤J的详细步骤如下:根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},接收者的身份标识ID、接收者当前时间周期的私钥SKID,i=(SKi,1,SKi,2)和待搜索的关键字w′,接收者计算搜索令牌Tw′=(SKi,1+SKi,2)H3(w′),然后将之发送给密文存储服务器,其中H3(w′)为哈希函数H3输出的关键字w′的哈希值。
进一步的,所述步骤K的详细步骤如下:根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},索引密文Ci,w=(Ci,1,Ci,2)和搜索令牌Tw′,密文存储服务器验证等式Ci,2=H4(Tw′Ci,1)是否成立。如果等式成立,即索引密文和搜索令牌包含相同的关键字,密文存储服务器将索引密文Ci,w对应的数据密文发送给接收者;否则,密文存储服务器忽略该密文。
本发明还提出一种搜索令牌限时撤销的无证书可搜索公钥加密系统,包括系统初始化模块、协助者公私钥生成模块、接收者部分私钥生成模块、接收者秘密值生成模块、接收者初始私钥生成模块、接收者公钥生成模块、更新密钥生成模块、接收者私钥更新模块、索引密文生成模块、搜索令牌生成模块和匹配测试模块:
系统参数生成模块,用于根据输入的安全参数生成系统的全局公开参数集和主密钥;
协助者公私钥生成模块,用于根据所述系统的全局公开参数集,协助者生成自己的公私钥;
接收者部分私钥生成模块,用于根据所述系统的全局公开参数集、系统的主密钥和接收者的身份标识,密钥生成中心生成接收者的部分私钥;
接收者秘密值生成模块,根据系统的全局公开参数集和接收者的身份标识,接收者生成自己的秘密值;
接收者初始私钥生成模块,用于根据所述系统的全局公开参数集、接收者的部分私钥和秘密值,接收者生成自己的初始私钥;
接收者公钥生成模块,用于根据所述系统的全局公开参数集、接收者的秘密值、初始私钥和协助者的公钥,接收者生成自己的公钥;
更新密钥生成模块,用于根据所述系统的全局公开参数集、协助者的私钥、接收者的身份标识和当前时间周期标识,协助者生成当前时间周期的更新密钥;
接收者私钥更新模块,用于根据所述系统的全局公开参数集、当前时间周期标识、当前时间周期的更新密钥和接收者前一时间周期的私钥,接收者生成自己当前时间周期的私钥;
索引密文生成模块,用于根据所述系统的全局公开参数集、接收者的身份标识、当前时间周期标识、接收者的公钥和一个与待发送数据密文相关联的关键字,发送者生成索引密文,并将之附加在数据密文后构成可搜索密文;
搜索令牌生成模块,用于根据所述系统的全局公开参数集、接收者的身份标识、接收者当前时间周期的私钥和待搜索的关键字,接收者生成搜索令牌;
匹配测试模块,用于根据所述系统的全局公开参数集、索引密文和搜索令牌,密文存储服务器测试索引密文和搜索令牌是否包含相同的关键字。若相同,密文存储服务器将索引密文关联的数据密文发送给接收者;否则,密文存储服务器忽略该密文。
有益效果
与现有技术相比,本发明的技术方案具有以下有益技术效果:
首先,该方法支持用户私钥的周期性更新,有效克服私钥泄露问题。在系统的整个生命周期内,用户的公钥保持不变,而用户的私钥则在一个物理安全的协助者的辅助下进行周期性更新。这样,即使用户某一时间周期的私钥泄露了,也不会危及其它时间周期的私钥的安全性,因此有效缓解了私钥泄露给用户带来的损害。
其次,该方法实现了搜索令牌的限时撤销功能,有效解决了非授权密文搜索问题。由于用户产生搜索令牌的私钥仅在一个特定的时间周期内有效,因此用户的搜索令牌也仅能在该时间周期内使用。当进入下一时间周期后,上一周期内产生的搜索令牌将失去效用,需要重新产生,这样有效避免了由于服务器滥用搜索令牌或由于私钥泄露导致的非授权密文搜索问题。
此外,该方法采用轻量级的密码计算,有效解决了计算受限设备上的应用问题。现有技术方案均基于低效的双线性群,其密码计算会耗费大量的计算资源和能源。本案方法基于轻量级的椭圆曲线群,无需计算代价高昂的双线性对,因此非常适用于计算资源受限的物联网设备等无线移动设备。
附图说明
图1是本发明所述的搜索令牌限时撤销的无证书可搜索公钥加密方法的流程图。
图2依照本发明所述的搜索令牌限时撤销的无证书可搜索公钥加密系统执行的操作流程图。
图3是本发明所述的搜索令牌限时撤销的无证书可搜索公钥加密系统的示意图。
具体实施方式
本发明所述搜索令牌限时撤销的无证书可搜索公钥加密方法可利用素数域上的椭圆曲线群来实现,下面首先简要介绍素数域和椭圆曲线群的基本知识。
令p为素数,则集合F={0,1,...,p-1}关于加法运算和乘法运算构成一个p阶有限域,也称为素数域,记为Fp。令a,b∈Fp且满足4a3+27b2(modp)≠0,则素数域Fp上椭圆曲线(记为E(Fp))的方程满足y2=x3+ax+b。该椭圆曲线上的点(x,y)∈Fp×Fp和无穷远点O构成一个加法循环群,称该群为椭圆曲线群,记为G,即G={(x,y)∈Fp×Fp|y2=x3+ax+b∧4a3+27b2(modp)≠0∧a,b∈Fp}∪{O}。
其中,加法循环群的概念为:设G为群,如果存在一个元素P∈G使得G={nP|n∈Z},则称G为加法循环群,称P是群G的生成元。若生成元P的阶为q(即q是使得P的倍数等于群G的单位元的最小正整数),则称G为q阶循环群。此外,其中Zq是指整数模q的剩余类,即Zq={0,1,...,q-1}。
根据以上描述,下面结合附图和实现例对本发明提出的搜索令牌限时撤销的无证书可搜索公钥加密方法作进一步说明,但并不作为对本发明的限定。
本发明所述方法涉及的用户如下:
(1)密钥生成中心:系统中唯一的可信第三方,负责生成系统的全局参数集和主秘密钥,以及接收者的部分私钥;
(2)密文存储服务器:负责存储系统中接收者的密文,并负责在收到接收者的搜索令牌后对密文进行检索,将符合要求的密文发送给接收者;
(3)协助者:负责为接收者生成每个时间周期的更新密钥;
(4)发送者:密文的发送实体,将待发送的数据加密成数据密文,然后将与数据相关联的关键字加密成索引密文并附加在数据密文上发送给密文存储服务器;
(5)接收者:密文的接收实体,负责生成接收者的秘密值、接收者的初始私钥、接收者的公钥和接收者在每个时间周期的私钥,并负责生成待搜索关键字的搜索令牌,授权密文存储服务器通过搜索令牌搜索其接收到的密文。
参照图附图1和附图2,本发明所述方法的步骤具体描述如下:
一种搜索令牌限时撤销的无证书可搜索公钥加密方法,所述方法包含以下步骤:
步骤A、根据安全参数,密钥生成中心生成系统的全局公开参数集和主密钥;
步骤B、根据系统的全局公开参数集,协助者生成自己的公私钥;
步骤C、根据系统的全局公开参数集、系统的主密钥和接收者的身份标识,密钥生成中心生成接收者的部分私钥;
步骤D、根据系统的全局公开参数集和接收者的身份标识,接收者生成自己的秘密值;
步骤E、根据系统的全局公开参数集、接收者的部分私钥和秘密值,接收者生成自己的初始私钥;
步骤F、根据系统的全局公开参数集、接收者的秘密值、初始私钥和协助者的公钥,接收者生成自己的公钥;
步骤G、根据系统的全局公开参数集、协助者的私钥、接收者的身份标识和当前时间周期标识,协助者生成当前时间周期的更新密钥;
步骤H、根据系统的全局公开参数集、当前时间周期标识、当前时间周期的更新密钥和接收者前一时间周期的私钥,接收者生成自己当前时间周期的私钥;
步骤I、根据系统的全局公开参数集、接收者的身份标识、当前时间周期标识、接收者的公钥和一个与待发送数据密文相关联的关键字,发送者生成索引密文,并将其附加在数据密文后构成可搜索密文;
步骤J、根据系统的全局公开参数集、接收者的身份标识、接收者当前时间周期的私钥和待搜索的关键字,接收者生成搜索令牌;
步骤K、根据系统的全局公开参数集、索引密文和搜索令牌,密文存储服务器测试索引密文和搜索令牌是否包含相同的关键字。若相同,密文存储服务器将索引密文关联的数据密文发送给接收者;否则,密文存储服务器忽略该密文。
进一步的,所述步骤A的详细步骤如下:
步骤A.1、系统参数生成中心根据安全参数λ∈Z+生成一个λ比特的素数q,一个q阶椭圆曲线群G以及系统的最大时间周期N∈Z+,其中Z+为正整数集合;
步骤A.3、定义四个哈希函数 其中,H1是{0,1}*到集合的哈希函数,H2是{0,1}*与正整数集合Z+的笛卡尔积{0,1}*×Z+到集合的哈希函数,H3是{0,1}*到集合的哈希函数,H4是加法循环群G到集合的哈希函数,{0,1}*是长度不固定的二进制符号串的集合;
步骤A.4、生成系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4}和主秘密钥msk=s。
进一步的,所述步骤B的详细步骤如下:根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},协助者在集合中随机选择自己的私钥HK=v,并计算自己的公钥PKhelper=vP。
进一步的,所述步骤C的详细步骤如下:根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},系统的主秘密钥msk=s和接收者的身份标识ID,密钥生成中心生成接收者的部分私钥DID=sH1(ID),其中H1(ID)为哈希函数H1输出的身份标识ID的哈希值。
进一步的,所述步骤E的详细步骤如下:
步骤E.1、根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},接收者的部分私钥DID=sH1(ID)和秘密值sID,接收者计算自己初始私钥的第一部分SK0,1=sID+sH1(ID);
步骤E.3、接收者组合SK0,1和SK0,2作为自己的初始私钥SKID,0,即接收者的初始私钥SKID,0=(SK0,1,SK0,2)由SK0,1和SK0,2两个部分构成。
进一步的,所述步骤F的详细步骤如下:
步骤F.1、根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},接收者的秘密值sID,接收者的初始私钥SKID,0=(sID+sH1(ID),y)和协助者的公钥PKhelper=vP,接收者分别计算公钥的第一部分PK1=sIDP和第二部分PK2=yP,并置公钥的第三部分PK3=PKhelper;
步骤F.2、接收者组合PK1、PK2和PK3作为自己的公钥,即接收者的公钥PKID=(PK1,PK2,PK3)由PK1、PK2和PK3三个部分构成。
进一步的,所述步骤G的详细步骤如下:根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},协助者的私钥HK=v,接收者的身份标识ID和当前时间周期标识若当前时间周期标识为1,协助者生成当前时间周期的更新密钥UKID,1=vH2(ID,1);否则,协助者生成当前时间周期的更新密钥UKID,i=vH2(ID,i)-vH2(ID,i-1),其中H2(ID,i)为哈希函数H2输出的身份标识ID和当前时间周期标识i级联的哈希值,H2(ID,i-1)为哈希函数H2输出的身份标识ID和时间周期标识i-1级联的哈希值。
进一步的,所述步骤H的详细步骤如下:
步骤H.1、根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},当前时间周期标识i∈{1,2,K,N},当前时间周期的更新密钥UKID,i和接收者前一时间周期的私钥SKID,i-1=(SKi-1,1,SKi-1,2),接收者计算自己当前时间周期的私钥的第一部分SKi,1=SKi–1,1+UKID,i;
步骤H.2、接收者置自己当前时间周期的私钥的第二部分SKi,2=SKi-1,2;
步骤H.3、接收者组合SKi,1和SKi,2作为自己当前时间周期的私钥SKID,i,即接收者当前时间周期的私钥SKID,i=(SKi,1,SKi,2)由SKi,1和SKi,2两个部分构成。
进一步的,所述步骤I的详细步骤如下:
步骤I.1、根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},接收者的身份标识ID、当前时间周期标识i∈{1,2,...,N}、接收者的公钥PKID和一个与待发送数据密文相关联的关键字w,发送者随机选择一个整数计算索引密文的第一部分C1=rP;
步骤I.2、发送者计算索引密文的第二部分C2=H4(rH3(w)(PK1+PK2+H1(ID)Ppub+H2(ID,i)PK3)),其中H3(w)为哈希函数H3输出的关键字w的哈希值;
步骤I.3、发送者组合Ci,1和Ci,2生成索引密文Ci,w,即索引密文Ci,w=(Ci,1,Ci,2)由Ci,1和Ci,2两个部分构成,然后将之附加在数据密文上发送给密文存储服务器。
进一步的,所述步骤J的详细步骤如下:根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},接收者的身份标识ID、接收者当前时间周期的私钥SKID,i=(SKi,1,SKi,2)和待搜索的关键字w′,接收者计算搜索令牌Tw′=(SKi,1+SKi,2)H3(w′),然后将之发送给密文存储服务器,其中H3(w′)为哈希函数H3输出的关键字w′的哈希值。
进一步的,所述步骤K的详细步骤如下:根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},索引密文Ci,w=(Ci,1,Ci,2)和搜索令牌Tw′,密文存储服务器验证等式Ci,2=H4(Tw′Ci,1)是否成立。如果等式成立,即索引密文和搜索令牌包含相同的关键字,密文存储服务器将索引密文Ci,w对应的数据密文发送给接收者;否则,密文存储服务器忽略该密文。
参见附图3,本发明还提出一种搜索令牌限时撤销的无证书可搜索公钥加密系统,包括系统初始化模块、协助者公私钥生成模块、接收者部分私钥生成模块、接收者秘密值生成模块、接收者初始私钥生成模块、接收者公钥生成模块、更新密钥生成模块、接收者私钥更新模块、索引密文生成模块、搜索令牌生成模块和匹配测试模块:
系统参数生成模块,用于根据输入的安全参数生成系统的全局公开参数集和主密钥;
协助者公私钥生成模块,用于根据所述系统的全局公开参数集,协助者生成自己的公私钥;
接收者部分私钥生成模块,用于根据所述系统的全局公开参数集、系统的主密钥和接收者的身份标识,密钥生成中心生成接收者的部分私钥;
接收者秘密值生成模块,根据系统的全局公开参数集和接收者的身份标识,接收者生成自己的秘密值;
接收者初始私钥生成模块,用于根据所述系统的全局公开参数集、接收者的部分私钥和秘密值,接收者生成自己的初始私钥;
接收者公钥生成模块,用于根据所述系统的全局公开参数集、接收者的秘密值、初始私钥和协助者的公钥,接收者生成自己的公钥;
更新密钥生成模块,用于根据所述系统的全局公开参数集、协助者的私钥、接收者的身份标识和当前时间周期标识,协助者生成当前时间周期的更新密钥;
接收者私钥更新模块,用于根据所述系统的全局公开参数集、当前时间周期标识、当前时间周期的更新密钥和接收者前一时间周期的私钥,接收者生成自己当前时间周期的私钥;
索引密文生成模块,用于根据所述系统的全局公开参数集、接收者的身份标识、当前时间周期标识、接收者的公钥和一个与待发送数据密文相关联的关键字,发送者生成索引密文,并将之附加在数据密文后构成可搜索密文;
搜索令牌生成模块,用于根据所述系统的全局公开参数集、接收者的身份标识、接收者当前时间周期的私钥和待搜索的关键字,接收者生成搜索令牌;
匹配测试模块,用于根据所述系统的全局公开参数集、索引密文和搜索令牌,密文存储服务器测试索引密文和搜索令牌是否包含相同的关键字。若相同,密文存储服务器将索引密文关联的数据密文发送给接收者;否则,密文存储服务器忽略该密文。
本技术领域技术人员可以理解的是,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
以上所述,仅是本发明的优选实施例,并非对本发明做任何形式上的限制,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围;凡是依据本发明的技术实质,对以上实施例所做出任何简单修改或同等变化,均落入本发明的保护范围之内。
Claims (13)
1.一种搜索令牌限时撤销的无证书可搜索公钥加密方法,其特征在于,所述方法包含以下步骤:
步骤A、根据安全参数,密钥生成中心生成系统的全局公开参数集和主密钥;
步骤B、根据系统的全局公开参数集,协助者生成自己的公私钥;
步骤C、根据系统的全局公开参数集、系统的主密钥和接收者的身份标识,密钥生成中心生成接收者的部分私钥;
步骤D、根据系统的全局公开参数集和接收者的身份标识,接收者生成自己的秘密值;
步骤E、根据系统的全局公开参数集、接收者的部分私钥和秘密值,接收者生成自己的初始私钥;
步骤F、根据系统的全局公开参数集、接收者的秘密值、初始私钥和协助者公钥,接收者生成自己的公钥;
步骤G、根据系统的全局公开参数集、协助者的私钥、接收者的身份标识和当前时间周期标识,协助者生成当前时间周期的更新密钥;
步骤H、根据系统的全局公开参数集、当前时间周期标识、当前时间周期的更新密钥和接收者前一时间周期的私钥,接收者生成自己当前时间周期的私钥;
步骤I、根据系统的全局公开参数集、接收者的身份标识、当前时间周期标识、接收者的公钥和一个与待发送数据密文相关联的关键字,发送者生成索引密文,并将其附加在数据密文后构成可搜索密文;
步骤J、根据系统的全局公开参数集、接收者的身份标识、接收者当前时间周期的私钥和待搜索的关键字,接收者生成搜索令牌;
步骤K、根据系统的全局公开参数集、索引密文和搜索令牌,密文存储服务器测试索引密文和搜索令牌是否包含相同的关键字,若相同,密文存储服务器将索引密文关联的数据密文发送给接收者;否则,密文存储服务器忽略该密文。
2.根据权利要求1所述的一种搜索令牌限时撤销的无证书可搜索公钥加密方法,其特征在于,所述步骤A的详细步骤如下:
步骤A.1、系统参数生成中心根据安全参数λ∈Z+生成一个λ比特的素数q,一个q阶椭圆曲线群G以及系统的最大时间周期N∈Z+,其中Z+为正整数集合;
步骤A.3、定义四个哈希函数 其中,H1是{0,1}*到集合的哈希函数,H2是{0,1}*与正整数集合Z+的笛卡尔积{0,1}*×Z+到集合的哈希函数,H3是{0,1}*到集合的哈希函数,H4是椭圆曲线群G到集合的哈希函数,{0,1}*是长度不固定的二进制符号串的集合;
步骤A.4、生成系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4}和主密钥msk=s。
4.根据权利要求3所述的一种搜索令牌限时撤销的无证书可搜索公钥加密方法,其特征在于,所述步骤C的详细步骤如下:根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},系统的主密钥msk=s和接收者的身份标识ID,密钥生成中心生成接收者的部分私钥DID=sH1(ID),其中H1(ID)为哈希函数H1输出的身份标识ID的哈希值。
7.根据权利要求6所述的一种搜索令牌限时撤销的无证书可搜索公钥加密方法,其特征在于,所述步骤F的详细步骤如下:
步骤F.1、根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},接收者的秘密值sID,接收者的初始私钥SKID,0=(sID+sH1(ID),y)和协助者的公钥PKhelper=vP,接收者分别计算公钥的第一部分PK1=sIDP和第二部分PK2=yP,并置公钥的第三部分PK3=PKhelper;
步骤F.2、接收者组合PK1、PK2和PK3作为自己的公钥,即接收者的公钥PKID=(PK1,PK2,PK3)由PK1、PK2和PK3三个部分构成。
8.根据权利要求7所述的一种搜索令牌限时撤销的无证书可搜索公钥加密方法,其特征在于,所述步骤G的详细步骤如下:根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},协助者的私钥HK=v,接收者的身份标识ID和当前时间周期标识i∈{1,2,...,N},若当前时间周期标识为1,协助者生成当前时间周期的更新密钥UKID,1=vH2(ID,1);否则,协助者生成当前时间周期的更新密钥UKID,i=vH2(ID,i)-vH2(ID,i-1),其中H2(ID,i)为哈希函数H2输出的身份标识ID和当前时间周期标识i级联的哈希值,H2(ID,i-1)为哈希函数H2输出的身份标识ID和时间周期标识i-1级联的哈希值。
9.根据权利要求8所述的一种搜索令牌限时撤销的无证书可搜索公钥加密方法,其特征在于,所述步骤H的详细步骤如下:
步骤H.1、根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},当前时间周期标识i∈{1,2,...,N},当前时间周期的更新密钥UKID,i和接收者前一时间周期的私钥SKID,i-1=(SKi-1,1,SKi-1,2),接收者计算自己当前时间周期的私钥的第一部分SKi,1=SKi–1,1+UKID,i;
步骤H.2、接收者置自己当前时间周期的私钥的第二部分SKi,2=SKi-1,2;
步骤H.3、接收者组合SKi,1和SKi,2作为自己当前时间周期的私钥SKID,i,即接收者当前时间周期的私钥SKID,i=(SKi,1,SKi,2)由SKi,1和SKi,2两个部分构成。
10.根据权利要求9所述的一种搜索令牌限时撤销的无证书可搜索公钥加密方法,其特征在于,所述步骤I的详细步骤如下:
步骤I.1、根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},接收者的身份标识ID、当前时间周期标识i∈{1,2,...,N}、接收者的公钥PKID和一个与待发送数据密文相关联的关键字w,发送者随机选择一个整数计算索引密文的第一部分C1=rP;
步骤I.2、发送者计算索引密文的第二部分C2=H4(rH3(w)(PK1+PK2+H1(ID)Ppub+H2(ID,i)PK3)),其中H3(w)为哈希函数H3输出的关键字w的哈希值;
步骤I.3、发送者组合Ci,1和Ci,2生成索引密文Ci,w,即索引密文Ci,w=(Ci,1,Ci,2)由Ci,1和Ci,2两个部分构成,然后将之附加在数据密文上发送给密文存储服务器。
11.根据权利要求10所述的一种搜索令牌限时撤销的无证书可搜索公钥加密方法,其特征在于,所述步骤J的详细步骤如下:根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},接收者的身份标识ID、接收者当前时间周期的私钥SKID,i=(SKi,1,SKi,2)和待搜索的关键字w′,接收者计算搜索令牌Tw′=(SKi,1+SKi,2)H3(w′),然后将之发送给密文存储服务器,其中H3(w′)为哈希函数H3输出的待搜索的关键字w′的哈希值。
12.根据权利要求11所述的一种搜索令牌限时撤销的无证书可搜索公钥加密方法,其特征在于,所述步骤K的详细步骤如下:根据系统的全局公开参数集prms={q,G,P,Ppub,H1,H2,H3,H4},索引密文Ci,w=(Ci,1,Ci,2)和搜索令牌Tw′,密文存储服务器验证等式Ci,2=H4(Tw′Ci,1)是否成立,如果等式成立,即索引密文和搜索令牌包含相同的关键字,密文存储服务器将索引密文Ci,w对应的数据密文发送给接收者;否则,密文存储服务器忽略该密文。
13.实现如权利要求1所述的一种搜索令牌限时撤销的无证书可搜索公钥加密方法的加密系统,其特征在于,包括系统初始化模块、协助者公私钥生成模块、接收者部分私钥生成模块、接收者秘密值生成模块、接收者初始私钥生成模块、接收者公钥生成模块、更新密钥生成模块、接收者私钥更新模块、索引密文生成模块、搜索令牌生成模块和匹配测试模块:
系统初始化模块,用于根据输入的安全参数生成系统的全局公开参数集和主密钥;
协助者公私钥生成模块,用于根据所述系统的全局公开参数集,协助者生成自己的公私钥;
接收者部分私钥生成模块,用于根据所述系统的全局公开参数集、系统的主密钥和接收者的身份标识,密钥生成中心生成接收者的部分私钥;
接收者秘密值生成模块,根据系统的全局公开参数集和接收者的身份标识,接收者生成自己的秘密值;
接收者初始私钥生成模块,用于根据所述系统的全局公开参数集、接收者的部分私钥和秘密值,接收者生成自己的初始私钥;
接收者公钥生成模块,用于根据所述系统的全局公开参数集、接收者的秘密值、初始私钥和协助者的公钥,接收者生成自己的公钥;
更新密钥生成模块,用于根据所述系统的全局公开参数集、协助者的私钥、接收者的身份标识和当前时间周期标识,协助者生成当前时间周期的更新密钥;
接收者私钥更新模块,用于根据所述系统的全局公开参数集、当前时间周期标识、当前时间周期的更新密钥和接收者前一时间周期的私钥,接收者生成自己当前时间周期的私钥;
索引密文生成模块,用于根据所述系统的全局公开参数集、接收者的身份标识、当前时间周期标识、接收者的公钥和一个与待发送数据密文相关联的关键字,发送者生成索引密文,并将之附加在数据密文后构成可搜索密文;
搜索令牌生成模块,用于根据所述系统的全局公开参数集、接收者的身份标识、接收者当前时间周期的私钥和待搜索的关键字,接收者生成搜索令牌;
匹配测试模块,用于根据所述系统的全局公开参数集、索引密文和搜索令牌,密文存储服务器测试索引密文和搜索令牌是否包含相同的关键字;若相同,密文存储服务器将索引密文关联的数据密文发送给接收者;否则,密文存储服务器忽略该密文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110694152.6A CN113422685B (zh) | 2021-06-22 | 2021-06-22 | 一种搜索令牌限时撤销的无证书可搜索公钥加密方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110694152.6A CN113422685B (zh) | 2021-06-22 | 2021-06-22 | 一种搜索令牌限时撤销的无证书可搜索公钥加密方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113422685A CN113422685A (zh) | 2021-09-21 |
CN113422685B true CN113422685B (zh) | 2022-06-24 |
Family
ID=77716162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110694152.6A Active CN113422685B (zh) | 2021-06-22 | 2021-06-22 | 一种搜索令牌限时撤销的无证书可搜索公钥加密方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113422685B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114793176B (zh) * | 2022-04-27 | 2023-08-04 | 陕西师范大学 | 支持撤销和验证的无配对可搜索加密方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017202161A1 (zh) * | 2016-05-26 | 2017-11-30 | 中兴通讯股份有限公司 | 基于无证书两方认证密钥协商方法、装置和存储介质 |
CN112152803A (zh) * | 2020-09-15 | 2020-12-29 | 河海大学 | 一种多接收者密文可搜索的基于身份加密方法和系统 |
-
2021
- 2021-06-22 CN CN202110694152.6A patent/CN113422685B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017202161A1 (zh) * | 2016-05-26 | 2017-11-30 | 中兴通讯股份有限公司 | 基于无证书两方认证密钥协商方法、装置和存储介质 |
CN112152803A (zh) * | 2020-09-15 | 2020-12-29 | 河海大学 | 一种多接收者密文可搜索的基于身份加密方法和系统 |
Non-Patent Citations (2)
Title |
---|
Certificateless key-insulated encryption: cryptographic primitive for achieving key-escrow free and key-exposure resilience;Libo He等;《International Conference on Big Data Computing and Communications》;20161231;全文 * |
具有密钥更新功能的可搜索公钥加密方案研究;王芬;《中国优秀硕士论文全文数据库(电子期刊)》;20220315;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113422685A (zh) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Miao et al. | Lightweight fine-grained search over encrypted data in fog computing | |
Baek et al. | Public key encryption with keyword search revisited | |
Chen et al. | Dual-server public-key encryption with keyword search for secure cloud storage | |
Byun et al. | Off-line keyword guessing attacks on recent keyword search schemes over encrypted data | |
Zhang et al. | Efficient public key encryption with equality test in the standard model | |
JP5690465B2 (ja) | カスタム静的ディフィ−ヘルマン(Diffie−Hellman)群 | |
Wang et al. | IDCrypt: A multi-user searchable symmetric encryption scheme for cloud applications | |
US20050005100A1 (en) | Cryptographic method and system | |
CN112152803B (zh) | 一种多接收者密文可搜索的基于身份加密方法 | |
WO2023082823A1 (zh) | 一种量子数字签名和量子数字签密方法 | |
CN109327304A (zh) | 一种云计算中实现隐私保护的轻量级同态加密方法 | |
CN114338025A (zh) | 一种云环境下密文等值测试方法 | |
CN113422685B (zh) | 一种搜索令牌限时撤销的无证书可搜索公钥加密方法及系统 | |
CN113407966A (zh) | 具有密钥更新与密文分享功能的可搜索公钥加密方法和系统 | |
Birrell et al. | Randomness-dependent message security | |
Kirtane et al. | RSA-TBOS signcryption with proxy re-encryption | |
Yan et al. | Identity‐based signcryption from lattices | |
Li et al. | A secure two-factor authentication scheme from password-protected hardware tokens | |
Choudhary et al. | A comparative analysis of cryptographic keys and security | |
Wang et al. | DPP: Data Privacy-Preserving for Cloud Computing based on Homomorphic Encryption | |
Sjöberg | Post-quantum algorithms for digital signing in Public Key Infrastructures | |
CN115550007A (zh) | 一种基于异构系统的具有等值测试功能的签密方法及系统 | |
CN112118257B (zh) | 一种安全增强的基于公钥加密的关键词搜索方法 | |
KR101232385B1 (ko) | 대칭키 기반의 암호 생성 및 검색 방법과 그 시스템 | |
CN109412815B (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 |