基于非对称密钥池的抗量子计算环签名方法和系统技术方案

技术编号:21277982 阅读:32 留言:0更新日期:2019-06-06 10:36
本发明专利技术涉及基于非对称密钥池的抗量子计算环签名方法和系统,应用于多个用户的群组中,各用户分别配置有密钥卡,密钥卡内存储有私钥、非对称密钥池以及分别与各参与方相应的公钥指针随机数,通过各用户的公钥指针随机数可在非对称密钥池中得到与该用户相应的公钥;本发明专利技术中,使用密钥卡存储公钥、私钥和公钥指针随机数;且对外发布的只是公钥的指针随机数,并不是原始的公钥本身。密钥卡是独立的硬件隔离设备,被恶意软件或恶意操作窃取密钥可能性大大降低。由于量子计算机无法得到明文公钥,于是也无法得到对应的私钥,因此该方案的环签名不容易被量子计算机破解。

【技术实现步骤摘要】
基于非对称密钥池的抗量子计算环签名方法和系统
本专利技术涉及安全通信领域,尤其是一种使用密钥卡技术手段实现抗量子计算的环签名方法。
技术介绍
环签名是一种数学签名方案,最初由Rivest等人提出,环签名是一种简化的群签名,环签名中只有环成员没有管理者,不需要环成员间的合作。环签名因签名中参数根据一定的规则首尾相接组成环状而得名。其实就是实际的签名方用其他可能签字者的公钥产生了一个带有断口的环,然后用私钥将断口连成一个完整的环。任何验证人利用环成员的公钥都可以验证一个环签名是否由某个可能的签名人生成。2001年,Rivest,Shamir和Tauman三位科学家首次提出了环签名。签名方利用自己的私钥和签名集合中其他人的公钥就可以独立的产生签名,而无需他人的帮助。签名集合中的成员可能并不知道自己被包含在其中。环签名是一种特殊的群签名,没有可信中心,没有群的建立过程,对于验证者来说签名人是完全匿名的。环签名的这种无条件匿名性在对信息需要长期保护的一些特殊环境中非常有用。例如,即使RSA被攻破也必须保护匿名性的场合。环签名的正确性体现在,如果按照正确的签名步骤对消息进行签名,并且在传播过程中签名没有被篡改,那么环签名满足验证等式;环签名的无条件匿名性体现在,攻击者即使非法获取了所有可能签名方的私钥,他能确定出真正的签名方的概率不超过1/N,这里N为所有可能签名方的个数;不可伪造性,外部攻击者在不知道任何成员私钥的情况下,即使能从一个产生环签名的随机预言者那里得到任何消息m的签名,他成功伪造一个合法签名的概率也可以忽略不计。量子计算机在密码破解上有着巨大潜力。当今主流的非对称(公钥)加密算法,如RSA加密算法,大多数都是基于大整数的因式分解或者有限域上的离散对数的计算这两个数学难题。它们的破解难度也就依赖于解决这些问题的效率。传统计算机上,要求解这两个数学难题,花费时间为指数时间(即破解时间随着公钥长度的增长以指数级增长),这在实际应用中是无法接受的。而为量子计算机量身定做的秀尔算法可以在多项式时间内(即破解时间随着公钥长度的增长以k次方的速度增长,其中k为与公钥长度无关的常数)进行整数因式分解或者离散对数计算,从而为RSA、离散对数加密算法的破解提供可能。现有技术存在的问题:现有技术中,由于量子计算机能快速通过公钥得到对应的私钥,因此基于公私钥的数字签名方法容易被量子计算机破解。
技术实现思路
本专利技术提供一种基于非对称密钥池的抗量子计算环签名方法,应用于多个用户的群组中,各用户分别配置有密钥卡,密钥卡内存储有私钥、非对称密钥池以及分别与各参与方相应的公钥指针随机数,通过各用户的公钥指针随机数可在非对称密钥池中得到与该用户相应的公钥;所述抗量子计算环签名方法在签名时包括:通过密钥卡内的多个公钥指针随机数R1~Rr结合非对称密钥池得到与多个用户相应的公钥P1~Pr,其中r小于等于群组中的用户数,且公钥指针随机数R1~Rr中至少包括对应签名方用户的公钥指针随机数;利用公钥P1~Pr分别对原文签名得到多个签名K1~Kr,;选择r-1个随机数x1~xr-1,利用所述多个公钥分别参与陷门函数的计算得到参数yi;所述陷门函数表达为yi=gi(xi),其中i为序号从1至r-1,i还对应至用户索引号,其中i不包括签名方的用户索引号;利用组合函数Ck,v(y1,y2,…,yr)=v和Ck,v(y1,y2,…,yr)=Ek(yr⊕Ek(yr-1⊕Ek(yr-2⊕Ek(…⊕Ek(y1⊕v)))))进行环计算,得到参数ys以及相应的参数xs,其中:v为预设的验证参数;y1,y2,…,yr为相应序号的参数yi;Ek表示分别用所述签名K1~Kr作为密钥进行加密;s表示签名方的用户索引号;以2r+1个数的组合即R1~Rr;v;x1~xr作为环签名,其中x1~xr中包含xs,将一起发送给群组内作为验证方的用户。可选的,所述抗量子计算环签名方法在验证时包括:接收环签名和原文,根据环签名中的公钥指针随机数R1~Rr结合密钥卡得到与多个用户相应的公钥P1~Pr;使用环签名中的随机数x1~xr,在公钥P1~Pr参与下通过陷门函数计算得到参数yi;利用公钥P1~Pr分别对原文签名得到多个签名K1~Kr;利用公式Ck,v(y1,y2,…,yr)=Ek(yr⊕Ek(yr-1⊕Ek(yr-2⊕Ek(…⊕Ek(y1⊕v)))))计算Ck,v(y1,y2,…,yr)的结果与环签名中的验证参数v是否相同,得到相应的验证结果。可选的,利用公钥P1~Pr分别对原文签名得到多个签名K1~Kr具体包括:利用hash函数分别作用于原文和公钥P1~Pr,得到相应的签名K1~Kr。可选的,利用组合函数Ck,v(y1,y2,…,yr)=v;和Ck,v(y1,y2,…,yr)=Ek(yr⊕Ek(yr-1⊕Ek(yr-2⊕Ek(…⊕Ek(y1⊕v)))))进行环计算时包括:根据公式v1=Ek(y1⊕v)依次计算得到vs-1;根据公式v=vr=Ek(yr⊕vr-1)依次计算得到vs+1;根据公式vs+1=Ek(ys+1⊕vs),利用Ks+1作为密钥解密得到ys+1⊕vs的值,即得到vs;根据公式公式vs=Ek(ys⊕vs-1),利用Ks作为密钥解密得到ys⊕vs-1的值,即得到ys的值;根据公式xs=gs-1(ys),使用签名方的私钥作为参数进行运算得到xs。本专利技术还提供一种基于非对称密钥池的抗量子计算环签名系统,应用于多个用户的群组中,各用户分别配置有密钥卡,密钥卡内存储有私钥、非对称密钥池以及分别与各参与方相应的公钥指针随机数,通过各用户的公钥指针随机数可在非对称密钥池中得到与该用户相应的公钥;所述抗量子计算环签名系统包括配置在签名方的:第一模块,用于通过密钥卡内的多个公钥指针随机数R1~Rr结合非对称密钥池得到与多个用户相应的公钥P1~Pr,其中r小于等于群组中的用户数,且公钥指针随机数R1~Rr中至少包括对应签名方用户的公钥指针随机数;利用公钥P1~Pr分别对原文签名得到多个签名K1~Kr,;第二模块,用于选择r-1个随机数x1~xr-1,利用所述多个公钥分别参与陷门函数的计算得到参数yi;所述陷门函数表达为yi=gi(xi),其中i为序号从1至r-1,i还对应至用户索引号,其中i不包括签名方的用户索引号;第三模块,用于利用组合函数Ck,v(y1,y2,…,yr)=v;和Ck,v(y1,y2,…,yr)=Ek(yr⊕Ek(yr-1⊕Ek(yr-2⊕Ek(…⊕Ek(y1⊕v)))))进行环计算,得到参数ys以及相应的参数xs,其中:v为预设的验证参数;y1,y2,…,yr为相应序号的参数yi;Ek表示分别用所述签名K1~Kr作为密钥进行加密;s表示签名方的用户索引号;第四模块,用于以2r+1个数的组合即R1~Rr;v;x1~xr作为环签名,其中x1~xr中包含xs,将一起发送给群组内作为验证方的用户。可选的,所述抗量子计算环签名系统还包括配置在验证方的:第五模块,用于接收环签名和原文,根据环签名中的公钥指针随机数R1~Rr结合密钥卡得到与多个用户相应的公钥P1~Pr;第六模块,用于使用环签名中的随机数x1~xr,在公钥P1~Pr参与下通过陷门函数计算得到参数yi;第七模块,本文档来自技高网
...

【技术保护点】
1.基于非对称密钥池的抗量子计算环签名方法,应用于多个用户的群组中,其特征在于,各用户分别配置有密钥卡,密钥卡内存储有私钥、非对称密钥池以及分别与各参与方相应的公钥指针随机数,通过各用户的公钥指针随机数可在非对称密钥池中得到与该用户相应的公钥;所述抗量子计算环签名方法在签名时包括:通过密钥卡内的多个公钥指针随机数R1~Rr结合非对称密钥池得到与多个用户相应的公钥P1~Pr,其中r小于等于群组中的用户数,且公钥指针随机数R1~Rr中至少包括对应签名方用户的公钥指针随机数;利用公钥P1~Pr分别对原文签名得到多个签名K1~Kr,;选择r‑1个随机数x1~xr‑1,利用所述多个公钥分别参与陷门函数的计算得到参数yi;所述陷门函数表达为yi=gi(xi),其中i为序号从1至r‑1,i还对应至用户索引号,其中i不包括签名方的用户索引号;利用组合函数Ck,v(y1,y2,…,yr)=v和Ck,v(y1,y2,…,yr)=Ek(yr⊕Ek(yr‑1⊕Ek(yr‑2⊕Ek(…⊕Ek(y1⊕v)))))进行环计算,得到参数ys以及相应的参数xs,其中:v为预设的验证参数;y1,y2,…,yr为相应序号的参数yi;Ek表示分别用所述签名K1~Kr作为密钥进行加密;s表示签名方的用户索引号;以2r+1个数的组合即R1~Rr;v;x1~xr作为环签名,其中x1~xr中包含xs,将一起发送给群组内作为验证方的用户。...

【技术特征摘要】
1.基于非对称密钥池的抗量子计算环签名方法,应用于多个用户的群组中,其特征在于,各用户分别配置有密钥卡,密钥卡内存储有私钥、非对称密钥池以及分别与各参与方相应的公钥指针随机数,通过各用户的公钥指针随机数可在非对称密钥池中得到与该用户相应的公钥;所述抗量子计算环签名方法在签名时包括:通过密钥卡内的多个公钥指针随机数R1~Rr结合非对称密钥池得到与多个用户相应的公钥P1~Pr,其中r小于等于群组中的用户数,且公钥指针随机数R1~Rr中至少包括对应签名方用户的公钥指针随机数;利用公钥P1~Pr分别对原文签名得到多个签名K1~Kr,;选择r-1个随机数x1~xr-1,利用所述多个公钥分别参与陷门函数的计算得到参数yi;所述陷门函数表达为yi=gi(xi),其中i为序号从1至r-1,i还对应至用户索引号,其中i不包括签名方的用户索引号;利用组合函数Ck,v(y1,y2,…,yr)=v和Ck,v(y1,y2,…,yr)=Ek(yr⊕Ek(yr-1⊕Ek(yr-2⊕Ek(…⊕Ek(y1⊕v)))))进行环计算,得到参数ys以及相应的参数xs,其中:v为预设的验证参数;y1,y2,…,yr为相应序号的参数yi;Ek表示分别用所述签名K1~Kr作为密钥进行加密;s表示签名方的用户索引号;以2r+1个数的组合即R1~Rr;v;x1~xr作为环签名,其中x1~xr中包含xs,将一起发送给群组内作为验证方的用户。2.如权利要求1所述的基于非对称密钥池的抗量子计算环签名方法,其特征在于,所述抗量子计算环签名方法在验证时包括:接收环签名和原文,根据环签名中的公钥指针随机数R1~Rr结合密钥卡得到与多个用户相应的公钥P1~Pr;使用环签名中的随机数x1~xr,在公钥P1~Pr参与下通过陷门函数计算得到参数yi;利用公钥P1~Pr分别对原文签名得到多个签名K1~Kr;利用公式Ck,v(y1,y2,…,yr)=Ek(yr⊕Ek(yr-1⊕Ek(yr-2⊕Ek(…⊕Ek(y1⊕v)))))计算Ck,v(y1,y2,…,yr)的结果与环签名中的验证参数v是否相同,得到相应的验证结果。3.如权利要求2所述的基于非对称密钥池的抗量子计算环签名方法,其特征在于,利用公钥P1~Pr分别对原文签名得到多个签名K1~Kr具体包括:利用hash函数分别作用于原文和公钥P1~Pr,得到相应的签名K1~Kr。4.如权利要求1所述的基于非对称密钥池的抗量子计算环签名方法,其特征在于,利用组合函数Ck,v(y1,y2,…,yr)=v和Ck,v(y1,y2,…,yr)=Ek(yr⊕Ek(yr-1⊕Ek(yr-2⊕Ek(…⊕Ek(y1⊕v)))))进行环计算时包括:根据公式v1=Ek(y1⊕v)依次计算得到vs-1;根据公式v=vr=Ek(yr⊕vr-1)依次计算得到vs+1;根据公式vs+1=Ek(ys+1⊕vs),利用Ks+1作为密钥解密得到ys+1⊕vs的值,即得到vs;根据公式...

【专利技术属性】
技术研发人员:富尧钟一民汪仲祥
申请(专利权)人:如般量子科技有限公司
类型:发明
国别省市:浙江,33

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

1