CN105393488B - 建立抗量子计算攻击的公钥密码的方法 - Google Patents
建立抗量子计算攻击的公钥密码的方法 Download PDFInfo
- Publication number
- CN105393488B CN105393488B CN201380001693.XA CN201380001693A CN105393488B CN 105393488 B CN105393488 B CN 105393488B CN 201380001693 A CN201380001693 A CN 201380001693A CN 105393488 B CN105393488 B CN 105393488B
- Authority
- CN
- China
- Prior art keywords
- agreement
- party
- calculates
- group
- subgroup
- 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.)
- Expired - Fee Related
Links
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/3271—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 challenge-response
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
- H04L9/0844—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
-
- 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/3247—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 digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/72—Signcrypting, i.e. digital signing and encrypting simultaneously
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Optical Communication System (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及信息安全领域,公开了一种建立抗量子计算攻击的公钥密码的方法,包括生成共享密钥的方法,所述生成共享密钥的方法包括如下步骤:(11)建立一个无限非交换群G;(12)协议双方选取G的两个元素作为私钥;(13)协议第二方计算y,并将y发送给协议第一方;(14)协议第一方计算x和z,并将(x,z)发送给协议第二方;(15)协议第二方计算w和v,并将(w,v)发送给协议第一方;(16)协议第一方计算u,并将u发给协议第二方;(17)协议第一方计算KA,而且协议第二方计算KB;从而达成共享密钥K=KA=KB。本发明所建设的公钥密码算法的安全保障是依赖于问题的不可解性,具有抗量子计算攻击的优点。
Description
技术领域
本发明涉及信息安全领域,特别涉及一种建立抗量子计算攻击的公钥密码的密码技术。
背景技术
对信息发送与接收人的真实身份的验证、对所发出/接收信息在事后的不可抵赖以及保障数据的完整性是现代密码学主题的二个重要问题。
公开密钥密码体制对这两方面的问题都给出了出色的解答,并正在继续产生许多新的思想和方案。在公钥体制中,加密密钥不同于解密密钥。人们将加密密钥公之于众,谁都可以使用;而解密密钥只有解密人自己知道。近代公钥密码系统的安全性几乎都是基于目前被认为计算困难的两类数学问题;第一类为大素数分解问题,例如RSA算法;第二类为离散对数问题,例如Diffie-Hellman的密钥交换算法、E1Gamal算法、和椭圆曲线公钥密码算法(简记为ECC)等。
近年来,由于非交换的辫群自身的有限呈示特性、清晰表达的代数关系式、漂亮的几何结构、因属于自动机群类而其字问题在二次多项式时间内可解从而相应的应用于编码的计算和贮存都可快速实现等优点,辫群成为了人们试图建立各种公开密钥密码协议的热门平台,并涌现了诸多以辩群为平台,并以辩群上的判定难题作为安全保障的公钥密码系统。例如,Ko等人基于辫群中的元素共轭问题建立的密钥交换协议。
在经典公钥密码算法中,作为安全保障的实际计算困难问题,随着计算机性能的提高其难解性将大大降低。特别地,Shor于1997年提出的著名的Shor量子算法将分别在多项式时间内进行大整数的因数分解和离散对数的计算,这意味着基于RSA,ECC,E1Gamal算法等建立的公钥密码协议将不再安全,而量子计算机的设计正紧锣密鼓地进行中。
针对Ko等人提出的基于辫群的元素的共轭问题建立公钥密码体制方案,人们陆续发现了诸如基于长度的攻击、线性表示攻击、Super-Summit-set攻击等攻击方案。从而,对应的公钥密码体制也存在着安全隐患。
综上所述,这样就使得上述公钥密码的身份的验证、数据保障的安全性存在隐患。
发明内容
为解决基于现有公钥密码的身份的验证、数据保障的安全性存在隐患的问题,本发明的目的在于建立一个能抵抗各种已知的攻击的公钥密码技术,和在此基础上给出各应用协议。
实现本发明目的的一种方式为:建立抗量子计算攻击的公钥密码的方法,包括生成共享密钥的方法,所述生成共享密钥的方法包括如下步骤:
(11.1)建立一个无限非交换群G及G的两个子群A和B,使得对任意a∈A、任意的b∈B,等式ab=ba成立;
(12.1)协议第一方选取G中一元素g,其中,协议第一方选取两个元素b10∈A和d20∈B作为私钥,协议第二方选取两个元素b20∈A和d10∈B作为私钥;
(13.1)协议第二方选取两个元素a20∈A和c10∈B,计算y=d10c10ga20b20,并将y发送给协议第一方;
(14.1)协议第一方选取四个元素a10,b40∈A和c20,d40∈B,计算
x=b10a10gc20d20和z=b40a10yc20d40=b40a10d10c10ga20b20c20d40,
并将(x,z)发送给协议第二方;
(15.1)协议第二方选取两个元素b30∈A和d30∈B,计算
w=d30c10xa20b30=d30c10b10a10gc20d20a20b30
和
v=d10 -1zb20 -1=d10 -1b40a10d10c10ga20b20c20d40b20 -1=b40a10c10ga20c20d40
并将(w,v)发送给协议第一方;
(16.1)协议第一方计算
u=b10 -1wd20 -1=b10 -1d30c10b10a10gc20d20a20b30d20 -1=d30c10a10gc20a20b30,
并将u发给协议第二方;
(17.1)协议第一方计算KA=b40 -1vd40 -1=a10c10ga20c20,而且协议第二方计算KB=d30 -1ub30 -1=c10a10gc2a2;
由于a10,a20∈A,c10,c20∈B,所以a10与c10和a20与c20分别乘法可交换,故协议第一方和协议第二方达成共享密钥K=KA=KB。
其中,所述无限非交换群G优选为辫群,给出辫群Bn(n≧12)的具有不可解的子群成员问题的Mihailova子群的生成元系,给出了辫群Bn(n≧12)的具有子群成员问题不可解的Mihailova子群的生成元系,并建议为抗量子计算攻击,上述协议双方的私钥由Mihailova子群的生成元生成;
所述无限非交换群G取指数为n≧12的辫群Bn,并由如下呈示所定义的群:
Bn=<σ1,σ2,…,σn-1|σiσj=σjσi,|i-j|≥2,σiσi+1σi=σi+1σiσi+1,1≤i≤n-2>,
辫群Bn含有如下两个子群:
令为不大于n/2的最大整数,辫群Bn的左辫子LBn和右辫子RBn分别为
LBn=<σ1,σ2,…,σm-1>和RBn=<σm+1,σm+2,…,σn-1>
即,分别为由σ1,σ2,…,σm-1和σm+1,σm+2,…,σn-1生成的子群,并且,对于任意的a∈LBn和任意的b∈RBn,有ab=ba,所述的G的子群A即取为LBn,,而G的子群B即取为RBn;
当n≧12时,LBn和RBn分别含有一个与F2×F2同构的子群,即两个秩为2的自由群的直积同构的子群:
LA=<σm-5 2,σm-4 2,σm-2 2,σm-1 2>≤LBn
和
RA=<σm+1 2,σm+2 2,σm+4 2,σm+5 2>≤RBn;
作为一种优选方式,所述辫群Bn的指数n≥12;子群为A=LBn和B=RBn;a1,a2,c1,c2的选取满足其乘积a1c1ga2c2不小于256比特或a10,a20,c10,c20的选取满足其乘积a10c10ga20c20不小于256比特;私钥b1,b2,d1,d2或b10,b20,d10,d20均不小于256比特;保护层元素b3,b4,d3,d4或b30,b40,d30,d40均不小于128比特。
本发明首先从理论建立了一个存在不可解的问题的代数系统,其次,以这个问题的不可解性作为安全保障建立公钥密码算法。本发明算法的安全性与不可解问题的等价性,证明了其对量子计算等攻击的免疫,由于本发明建立的公钥密码方法是以不可解的判定问题作为安全保障,因此该方法无论从理论上还是实际应用方面均得到了有力保障,与现有技术相比,具有以下优点:
1.所建设的公钥密码算法的安全保障是依赖于问题的不可解性,而不是问题的计算困难性,(经典公钥密码算法是基于计算的困难性);
2.本发明的公钥密码算法的安全性等价于所依赖的问题的不可解性是得到数学证明的;
3.本发明的公钥密码算法是抗量子计算攻击的。
具体实施方式
下面结合实施例对本发明一种建立抗量子计算攻击的公钥密码协议作进一步详细说明。
一、建立公钥密码协议的平台
建立所有公钥密码协议的平台是一个无限非交换群(non-abelian group)G及G的两个子群A和B,使得对任意a∈A任意的b∈B,等式ab=ba成立。此外,由于编码和密钥生成的需要,G还必须满足以下条件:
1)于G的生成元集合上的代表G的元素的字具有可计算的正规形式(normalform);
2)G至少是呈指数增长(exponential growth),即G中字长为正整数n的元素个数下囿于一个关于n的指数函数;
3)基于正规形式的群的乘积运算和求逆运算是能行可计算的。
为此,选取无限非交换群G为指数n≧12的辫群Bn,Bn具有上述性质并由如下呈示(presentation)所定义的群:
Bn=<σ1,σ2,…,σn-1|σiσj=σjσi,|i-j|≥2,σiσi+1σi=σi+1σiσi+1,1≤i≤n-2>,
辫群Bn含有如下两个子群:
令为不大于n/2的最大整数,辫群Bn的左辫子LBn和右辫子RBn分别为
LBn=<σ1,σ2,…,σm-1>和RBn=<σm+1,σm+2,…,σn-1>
即,分别由σ1,σ2,…,σm-1和σm+1,σm+2,…,σn-1生成的子群,并且,对于任意的a∈LBn和任意的b∈RBn,有ab=ba。
当n≧12时,LBn和RBn分别含有一个与F2×F2,即两个秩为2的自由群的直积同构的子群
LA=<σm-5 2,σm-4 2,σm-2 2,σm-1 2>≤LBn
和
RA=<σm+1 2,σm+2 2,σm+4 2,σm+5 2>≤RBn
由一个两个元素生成的其字问题不可解的有限呈示群H,再构造LA的一个Mihailova子群MLA(H)和RA的一个Mihailova子群MRA(H);下方即为MLA(H)的56个生成元,其中i=m-5;而当令i=m+1,便可得到MRA(H)的56个生成元:
而27个Sij为(将下述每一Sij中的所有σi换成σi+3,所有σi+1换成σi+4便得到对应的27个Tij,j=1,2,…,27):
二、建立公钥密码体制的核心协议一的实施例:
在本实施例中,协议双方分别是Alice和Bob,
1)Alice和Bob共同选取Bn中一元素g,Alice选取两个元素b1,b2∈LBn作为私钥,Bob选取两个元素d1,d2∈RBn作为私钥;
2)Bob选取两个元素c1,c2∈RBn,计算y=d1c1gc2d2,并将y发送给Alice;
3)Alice选取四个元素a1,a2,b3,b4∈LBn,计算
x=b1a1g a2b2和z=b3a1ya2b4=b3a1d1c1gc2d2a2b4,
并将(x,z)发送给Bob;
4)Bob选取两个元素d3,d4∈RBn,计算
w=d3c1xc2d4=d3c1b1a1ga2b2c2d4
和
v=d1 -1zd2 -1=d1 -1b3a1d1c1gc2d2a2b4d2 -1=b3a1c1gc2a2b4
并将(w,v)发送给Alice;
5)Alice计算
u=b1 -1wb2 -1=b1 -1d3c1b1a1ga2b2c2d4b2 -1=d3c1a1ga2c2d4,
并将u发给Bob,
上述协议中的第4)步中,由于d1,d2∈RBn,a1,a2,b3,b4∈LBn,所以d1 -1,d2 -1分别与b3,a1和b4,a2乘法可交换,故得该步骤中最后一个等式。同理得到第5)步中最后一个等式。
在本实施例的基础上,建立密钥交换协议的优选实施例:
在核心协议的五个步骤后继续进行如下进程:
6)Alice计算KA=b3 -1vb4 -1=a1c1gc2a2而且Bob计算KB=d3 -1ud4 -1=c1a1ga2c2。
由于a1,a2∈LBn,c1,c2∈RBn,所以a1与c1和a2与c2分别乘法可交换,故Alice和Bob达成共享密钥K=KA=KB。
在本实施例的基础上,建立数据加密协议的优选实施例:
设需要加密的明文信息(已编码)为m∈{0,1}k(即长度为k的0-1数串),并设Θ:Bn→{0,1}k是一个由群Bn到明文空间{0,1}k抗碰撞的Hash函数。Alice的公钥是(Bn,LBn,RBn,g,Θ),并选取a1,a2,b1,b2,b3,b4∈LBn,私钥为b1,b2。Bob选取c1,c2,d1,d2,d3,d4∈RBn,并且以d1,d2为私钥。在核心协议的五个步骤后继续进行如下进程:
6)加密:Bob先计算KB=d3 -1ud4 -1=c1a1ga2c2,然后计算(加密)并
将t作为密文发送给Alice。这里的是异或(exclusive or)运算。
7)解密:Alice先计算KA=b3 -1vb4 -1=a1c1gc2a2,然后计算(解密)
验证m′=m:由密钥交换协议知KA=KB,所以
在本实施例的基础上,建立数字签名协议的优选实施例:
设需要加密的明文信息(已编码)为m,并设Θ:Bn→{0,1}k是一个抗碰撞的Hash函数。Alice的公钥是(Bn,LBn,RBn,g,Θ),并选取a1,a2,b1,b2,b3,b4∈LBn,私钥为b1,b2。Bob选取c1,c2,d1,d2,d3,d4∈RBn,并且以d1,d2为私钥。在核心协议的五个步骤后继续进行如下进程:
6)签名:Alice计算KA=b3 -1vb4 -1=a1c1gc2a2和S=Θ(mKA),Alice将S作为她对文件m的签名并将(S,m)发送给Bob。
7)验证:Bob计算KB=d3 -1ud4 -1=c1a1ga2c2和S′=Θ(mKB),如果S′=S,Bob则认可S是Alice对文件m的签名,否则,Bob拒绝接受S是Alice对文件m的签名。
在本实施例的基础上,一种在核心协议基础上的身份认证协议的优选实施例:
Alice选取Bn中一元素g,四个元素a1,a2,b1,b2∈LBn,一个抗碰撞的Hash函数Θ:Bn→{0,1}k,并计算x=b1a1ga2b2。Alice的公钥是(Bn,LBn,RBn,g,x,Θ),私钥为b1,b2。
认证过程:
设Alice是示证人(prover),Bob是验证人(verifier)。
1)Bob选取六个元素c1,c2,d1,d2,d3,d4∈RBn,私钥为d1,d2。Bob计算
y=d1c1gc2d2和w=d3c1xc2d4
并将(y,w)作为挑战(challenge)一发送给Alice;
2)Alice选取两个元素b3,b4∈LBn,,计算
z=b3a1ya2b4和u=b1 -1wb2 -1=d3c1a1ga2c2d4,
并将(z,u)作为响应(response)发送给Bob;
3)Bob计算v=d1 -1zd2 -1=b3a1c1gc2a2b4,并将v作为挑战二发送给Alice;
4)Alice计算t=Θ(b3 -1vb4 -1)=Θ(a1c1gc2a2)并将t作为承诺(commitment)发送给Bob;
5)Bob t′=Θ(d3 -1ud4 -1)=Θ(c1a1ga2c2),并验证是否t=t′。
如果t=t′,Bob认可Alice的身份,否则拒绝认可。
三、建立公钥密码体制的核心协议二的实施例:
在本实施例中,协议双方分别是Alice和Bob,
1.1)Alice和Bob共同选取Bn中一元素g,Alice选取两个元素b1∈LBn和d2∈RBn作为私钥,Bob选取两个元素b2∈LBn和d1∈RBn作为私钥;
2.1)Bob选取两个元素a2∈LBn和c1∈RBn,计算y=d1c1ga2b2,并将y发送给Alice;
3.1)Alice选取四个元素a1,b4∈LBn和c2,d4∈RBn,计算
x=b1a1gc2d2和z=b4a1yc2d4=b4a1d1c1ga2b2c2d4,
并将(x,z)发送给Bob;
4.1)Bob选取两个元素b3∈LBn和d3∈RBn,计算
w=d3c1xa2b3=d3c1b1a1gc2d2a2b3
和
v=d1 -1zb2 -1=d1 -1b4a1d1c1ga2b2c2d4b2 -1=b4a1c1ga2c2d4
并将(w,v)发送给Alice;
5.1)Alice计算
u=b1 -1wd2 -1=b1 -1d3c1b1a1gc2d2a2b3d2 -1=d3c1a1gc2a2b3,
并将u发给Bob;
上述协议中的第4)步中,由于d1,d2∈RBn,a1,a2,b3,b4∈LBn,所以d1 -1,d2 -1分别与b3,a1和b4,a2乘法可交换,故得该步骤中最后一个等式。同理得到第5)步中最后一个等式。
3.3应用协议
在核心协议的基础上建立如下的应用协议,
在本实施例的基础上,建立密钥交换协议的优选实施例:
在核心协议的五个步骤后继续进行如下进程:
6.1)Alice计算KA=b4 -1vd4 -1=a1c1ga2c2而且Bob计算KB=d3 -1ub3 -1=c1a1gc2a2。
由于a1,a2∈LBn,c1,c2∈RBn,所以a1与c1和a2与c2分别乘法可交换,故Alice和Bob达成共享密钥K=KA=KB。
在本实施例的基础上,建立数据加密协议的优选实施例:
设需要加密的明文信息(已编码)为m∈{0,1}k(即长度为k的0-1数串),并设Θ:Bn→{0,1}k是一个由群Bn到明文空间{0,1}k抗碰撞的Hash函数。Alice的公钥是(Bn,LBn,RBn,g,Θ),并选取a1,b1,b4∈LBn和c2,d2,d4∈RBn,私钥为b1,d2。Bob选取a2,b2,b3∈LBn和c1,d1,d3∈RBn,并且以d1,b2为私钥。在核心协议的五个步骤后继续进行如下进程:
6.1)加密:Bob先计算KB=d3 -1ub3 -1=c1a1gc2a2,然后计算(加密)并将t作为密文发送给Alice。这里的是异或(exclusive or)运算。
7.1)解密:Alice先计算KA=b4 -1vd4 -1=a1c1ga2c2,然后计算(解密)
验证m′=m:由密钥交换协议知KA=KB,所以
在本实施例的基础上,建立数字签名协议的优选实施例:
设需要加密的明文信息(已编码)为m,并设Θ:Bn→{0,1}k是一个抗碰撞的Hash函数。Alice的公钥是(Bn,LBn,RBn,g,Θ),并选取a1,b1,b4∈LBn和c2,d2,d4∈RBn,私钥为b1,d2。Bob选取a2,b2,b3∈LBn和c1,d1,d3∈RBn,并且以d1,b2为私钥。在核心协议的五个步骤后继续进行如下进程:
6.1)签名:Alice计算KA=b4 -1vd4 -1=a1c1ga2c2和S=Θ(mKA),Alice将S作为她对文件m的签名并将(S,m)发送给Bob。
6.2)验证:Bob计算KB=d3 -1ub3 -1=c1a1gc2a2和S′=Θ(mKB),如果S′=S,Bob则认可S是Alice对文件m的签名,否则,Bob拒绝接受S是Alice对文件m的签名。
在本实施例的基础上,一种在核心协议基础上的身份认证协议的优选实施例:
Alice选取Bn中一元素g,四个元素a1,b1∈LBn和c2,d2∈RBn,一个抗碰撞的Hash函数Θ:Bn→{0,1}k,并计算x=b1a1gc2d2。Alice的公钥是(Bn,LBn,RBn,g,x,Θ),私钥为b1,d2。
认证过程:
设Alice是示证人(prover),Bob是验证人(verifier)。
6.1)Bob选取六个元素c1,d1,d3∈RBn和a2,b2,b3∈LBn,私钥为b2,d1。Bob计算
y=d1c1ga2b2和w=d3c1xa2b3
并将(y,w)作为挑战(challenge)一发送给Alice;
6.2)Alice选取两个元素b4∈LBn和d4∈RBn,计算
z=b4a1yc2d4和u=b1 -1wd2 -1=d3c1a1gc2a2b3,
并将(z,u)作为响应(response)发送给Bob;
6.3)Bob计算v=d1 -1zb2 -1=b4a1c1ga2c2d4,并将v作为挑战二发送给Alice;
6.4)Alice计算t=Θ(b4 -1vd4 -1)=Θ(a1c1ga2c2)并将t作为承诺(commitment)发送给Bob;
6.5)Bob t′=Θ(d3 -1ub3 -1)=Θ(c1a1gc2a2),并验证是否t=t′。
如果t=t′,Bob认可Alice的身份,否则拒绝认可。
四、安全性分析
我们仅给出密钥交换协议的安全性即可。
首先,给出群上的三个判定问题的定义。
子群成员问题(subgroup membership problem or generalized word problem,简记为GWP):给定群G的一个其生成元集为X的子群H,判定G中任意元素g是否可由X上的字代表,即判定g是否为H中元素。
元素分解搜索问题(decomposition search problem,简记为DSP):设g和h是群G两个元素。已知存在G的两个元素c和d,使得h=cgd。求G的两个元素c′和d′,使得h=c′gd′。
扩展的元素分解搜索问题(generalized decomposition search problem,简记为GDSP):设g和h是群G两个元素,H和K是G的两个子群。已知存在H元素c和K的元素d,使得h=cgd。求H的元素c′和K的元素d′,使得h=c′gd′。
DSP是十分容易求解的:令c′=g-1,d′=h即可。而GDSP的可判定性则不确定。然而,对于无限非交换群中分解方程式h=cgd(c和d未知),要确定地解出c和d是不可能的。应为人们不知道c和d的值,即使通过求解GDSP问题计算得到的所谓的“解”c′和d′,使得h=c′gd′,也无法确定是否c′=c和d′=d。特别地,如果c和d分别取自于具有不可解的GWP问题的子群C和D,求解者不仅无法确定是否c′=c和d′=d,而且他根本不能确定c′和d′是否分别是C和D的元素。
在核心协议一中,攻击方Eve通过公开信息和Alice与Bob的交互式过程能获取的信息如下:
无限非交换群G,G的两个子群A和B,使得对任意a∈A任意的b∈B,有ab=ba,G中一元素g,以及下列G中元素:
y=d1c1gc2d2,x=b1a1ga2b2,z=b3a1d1c1gc2d2a2b4,w=d3c1b1a1ga2b2c2d4,
v=b3a1c1gc2a2b4,u=d3c1a1ga2c2d4
注意,Eve只知道x,y,z,w,u,v,不知道对应的分解表达式。Eve如果能够通过解决GDSP问题而获得c1′,c2′∈B,和a1′,a2′∈A,使得a1′ga2′=a1ga2和c1′gc2′=c1gc2,则由A和B的元素乘法可交换性得
c1′a1′ga2′c2′=c1′a1ga2c1′=a1c1′gc2′a2=a1c1gc2a2=K
所以,Eve需要先获得元素a1ga2和c1gc2。
由于Eve不知道a1ga2和c1gc2,她无法从x剥离掉b1和b2去获得a1ga2,和从y剥离掉d1和d2去获得c1gc2。而Eve知道w=b1ub2和z=d1vd2(但不知b1,b2和d1,d2)。现在即使Eve能解决GDSP问题,解得b1′,b2′∈A,和d1′,d2′∈B,使得b1′ub2′=b1ub2和d1′vd2′=d1vd2,她也无法确定b1′=b1,b2′=b2和d1′=d1,d2′=d2。从而Eve仍然不能从x剥离掉b1和b2去获得a1ga2,和从y剥离掉d1和d2去获得c1gc2。
特别地,在具体实施方案中无限非交换群G取指数n≥12的辫群Bn,A和B分别取Bn的子群LBn和RBn,而私钥b1,b2和d1,d2分别在LBn的Mihailova子群MLA(H)和RBn的Mihailova子群MRA(H)中选取,则在上述Eve的攻击中,她通过解决GDSP问题解得b1′,b2′∈LBn,和d1′,d2′∈RBn,使得b1′ub2′=b1ub2和d1′vd2′=d1vd2,她必须确定b1′=b1,b2′=b2和d1′=d1,d2′=d2,因为b1,b2∈MLA(H),d1,d2∈MRA(H),从而她必须先确定是否b1′,b2′∈MLA(H),以及是否d1′,d2′∈MRA(H)。但是MLA(H)和MRA(H)的GWP问题不可解,故Eve即使借助量子计算系统也无法进行攻击。
在核心协议二中,攻击方Eve通过公开信息和Alice与Bob的交互式过程能获取的信息如下:
无限非交换群G,G的两个子群A和B,使得对任意a∈A任意的b∈B,有ab=ba,G中一元素g,以及下列G中元素:
y=d1c1ga2b2,x=b1a1gc2d2,z=b4a1d1c1ga2b2c2d4,w=d3c1b1a1gc2d2a2b3,
v=b4a1c1ga2c2d4,u=d3c1a1gc2a2b3
注意,Eve只知道x,y,z,w,u,v,不知道对应的分解表达式。Eve如果能够通过解决GDSP问题而获得c1′,c2′∈B,和a1′,a2′∈A,使得a1′gc2′=a1gc2和c1′ga2′=c1ga2,则由A和B的元素乘法可交换性得
c1′a1′gc2′a2′=c1′a1gc2c1′=a1c1′ga2′c2=a1c1ga2c2=K
所以,Eve需要先获得元素a1gc2和c1ga2。
由于Eve不知道a1gc2和c1ga2,她无法从x剥离掉b1和d2去获得a1gc2,和从y剥离掉d1和b2去获得c1ga2。而Eve知道w=b1ud2和z=d1vb2(但不知b1,b2和d1,d2)。现在即使Eve能解决GDSP问题,解得b1′,b2′∈A,和d1′,d2′∈B,使得b1′ud2′=b1ud2和d1′vb2′=d1vb2,她也无法确定b1′=b1,b2′=b2和d1′=d1,d2′=d2。从而Eve仍然不能从x剥离掉b1和d2去获得a1gc2,和从y剥离掉d1和b2去获得c1ga2。
特别地,在具体实施方案中无限非交换群G取指数n≥12的辫群Bn,A和B分别取Bn的子群LBn和RBn,而私钥b1,b2和d1,d2分别在LBn的Mihailova子群MLA(H)和RBn的Mihailova子群MRA(H)中选取,则在上述Eve的攻击中,她通过解决GDSP问题解得b1′,b2′∈LBn,和d1′,d2′∈RBn,使得b1′ud2′=b1ud2和d1′vb2′=d1vb2,她必须确定b1′=b1,b2′=b2和d1′=d1,d2′=d2,因为b1,b2∈MLA(H),d1,d2∈MRA(H),从而她必须先确定是否b1′,b2′∈MLA(H),以及是否d1′,d2′∈MRA(H)。但是MLA(H)和MRA(H)的GWP问题不可解,故Eve即使借助量子计算系统也无法进行攻击。
五、参数的选取
在一个优选实施例中,辫群Bn的指数n≥12,各协议中的子群A=LBn,B=RBn,a1,a2,c1,c2的选取要满足其乘积a1a2c1c2不小于256比特,私钥b1,b2,d1,d2均不小于256比特,保护层元素b3,b4,d3,d4均不小于128比特。
特别指出,为抗量子计算攻击,建议私钥b1,b2和d1,d2分别在辫群Bn的Mihailova子群MLA(H)和MRA(H)中选取。从而,由于MLA(H)和MRA(H)的GWP的不可解性,正如在安全性分析中所述,即使借助量子计算系统,b1,b2和d1,d2也是不可被攻击的。
以上是对本发明一种建立抗量子计算攻击的公钥密码的方法进行了阐述,用于帮助理解本发明,但本发明的实施方式并不受上述实施例的限制,任何未背离本发明原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (6)
1.一种建立抗量子计算攻击的公钥密码的方法,其特征在于:包括生成共享密钥的方法,所述生成共享密钥的方法包括如下步骤:
(11.1)建立一个无限非交换群G及G的两个子群A和B,使得对任意a∈A、任意的b∈B,等式ab=ba成立;
(12.1)协议第一方选取G中一元素g,其中,协议第一方选取两个元素b10∈A和d20∈B作为私钥,协议第二方选取两个元素b20∈A和d10∈B作为私钥;
(13.1)协议第二方选取两个元素a20∈A和c10∈B,计算y=d10c10ga20b20,并将y发送给协议第一方;
(14.1)协议第一方选取四个元素a10,b40∈A和c20,d40∈B,计算
x=b10a10gc20d20和z=b40a10yc20d40=b40a10d10c10ga20b20c20d40,
并将(x,z)发送给协议第二方;
(15.1)协议第二方选取两个元素b30∈A和d30∈B,计算
w=d30c10xa20b30=d30c10b10a10gc20d20a20b30
和
v=d10 -1zb20 -1=d10 -1b40a10d10c10ga20b20c20d40b20 -1=b40a10c10ga20c20d40
并将(w,v)发送给协议第一方;
(16.1)协议第一方计算
u=b10 -1wd20 -1=b10 -1d30c10b10a10gc20d20a20b30d20 -1=d30c10a10gc20a20b30,
并将u发给协议第二方;
(17.1)协议第一方计算KA=b40 -1vd40 -1=a10c10ga20c20,而且协议第二方计算KB=d30 - 1ub30 -1=c10a10gc2a2;
由于a10,a20∈A,c10,c20∈B,所以a10与c10和a20与c20分别乘法可交换,故协议第一方和协议第二方达成共享密钥K=KA=KB。
2.根据权利要求1所述的建立抗量子计算攻击的公钥密码的方法,其特征在于:还包括信息数据加密解密的方法,所述信息数据加密解密的方法包括如下步骤;
(21.1)定义需要加密的已编码明文信息为m∈{0,1}k,即长度为k的0-1数串;并定义Θ:G→{0,1}k是一个由群G到明文空间{0,1}k抗碰撞的Hash函数,协议第一方选取(G,A,B,g,Θ)为其公钥;
(22.1)加密:协议第二方先计算KB=d30 -1ub30 -1=c10a10gc20a20,然后进行加密计算并将t作为密文发送给协议第一方,这里的是异或运算;
(23.1)解密:协议第一方先计算KA=b40 -1vd40 -1=a10c10ga20c20,然后进行解密计算
(24.1)验证m′=m:由密钥交换协议知KA=KB,所以
3.根据权利要求1所述的建立抗量子计算攻击的公钥密码的方法,其特征在于:还包括数字签名的方法,所述数字签名的方法包括如下步骤:
(31.1)将需要签名的已编码明文信息定义为p,并定义Θ:G→{0,1}k是一个抗碰撞的Hash函数,协议第一方选取(G,A,B,g,Θ)为其公钥;
(32.1)签名:协议第一方计算KA=b40 -1vd40 -1=a10c10ga20c20和S=Θ(pKA),协议第一方将S作为它对信息p的签名并将(S,p)发送给协议第二方;
(33.1)验证:协议第二方计算KB=d30 -1ub30 -1=c10a10gc20a20和S′=Θ(pKB),如果S′=S,协议第二方则认可S是协议第一方对信息p的签名,否则,协议第二方拒绝接受S是协议第一方对信息p的签名。
4.根据权利要求1所述的建立抗量子计算攻击的公钥密码的方法,其特征在于:还包括身份认证的方法,所述协议第一方为示证人,所述协议第二方为验证人;所述身份认证的方法包括如下步骤:
(41.1)协议第一方选取一个抗碰撞的Hash函数Θ:G→{0,1}k,协议第一方选取(G,A,B,g,Θ)为其公钥;
(42.1)协议第二方计算y=d10c10ga20b20和w=d30c10xa20b30,并将(y,w)作为挑战一发送给协议第一方;
(43.1)协议第一方计算
z=b40a10yc20d40和u=b10 -1wd20 -1=d30c10a10gc20a20b30,
并将(z,u)作为响应发送给协议第二方;
(44.1)协议第二方计算v=d10 -1zb20 -1=b40a10c10ga20c20d40,并将v作为挑战二发送给协议第一方;
(45.1)协议第一方计算t=Θ(b40 -1vd40 -1)=Θ(a10c10ga20c20)并将t作为承诺发送给协议第二方;
(46.1)协议第二方计算t′=Θ(d30 -1ub30 -1)=Θ(c10a10gc20a20),并验证是否t=t′,如果t=t′,协议第二方认可协议第一方的身份,否则拒绝认可。
5.根据权利要求1-4所述的任一建立抗量子计算攻击的公钥密码的方法,其特征在于:所述无限非交换群G为辫群,
所述辫群为具有子群成员不可解的Mihailova子群,且私钥在Mihailova子群中选取;
所述无限非交换群G取指数为n≧12的辫群Bn,并由如下呈示所定义的群:
Bn=<σ1,σ2,…,σn-1|σiσj=σjσi,|i-j|≥2,σiσi+1σi=σi+1σiσi+1,1≤i≤n-2>,
辫群Bn含有如下两个子群:
令为不大于n/2的最大整数,辫群Bn的左辫子LBn和右辫子RBn分别为
LBn=<σ1,σ2,…,σm-1>和RBn=<σm+1,σm+2,…,σn-1>
即,分别为由σ1,σ2,…,σm-1和σm+1,σm+2,…,σn-1生成的子群,并且,对于任意的a∈LBn和任意的b∈RBn,有ab=ba,所述的G的子群A即取为LBn,而G的子群B即取为RBn;
当n≧12时,LBn和RBn分别含有一个与F2×F2同构的子群,即两个秩为2的自由群的直积同构的子群:
LA=<σm-5 2,σm-4 2,σm-2 2,σm-1 2>≤LBn
和
RA=<σm+1 2,σm+2 2,σm+4 2,σm+5 2>≤RBn;
再由两个元素生成的其字问题不可解的有限呈示群H,构造LA的一个Mihailova子群MLA(H)和RA的Mihailova子群MRA(H);下方即为MLA(H)的56个生成元,其中i=m-5;而当令i=m+1,便可得到MRA(H)的56个生成元:
而27个Sij为:
将上述每一Sij中的所有σi换成σi+3,所有σi+1换成σi+4便得到对应的27个Tij,j=1,2,…,27。
6.根据权利要求5所述的建立抗量子计算攻击的公钥密码的方法,其特征在于:所述辫群Bn的指数n≥12;子群为A=LBn和B=RBn;a1,a2,c1,c2的选取满足其乘积a1c1ga2c2不小于256比特或a10,a20,c10,c20的选取满足其乘积a10c10ga20c20不小于256比特;私钥b1,b2,d1,d2或b10,b20,d10,d20均不小于256比特;保护层元素b3,b4,d3,d4或b30,b40,d30,d40均不小于128比特。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/088475 WO2015081505A1 (zh) | 2013-12-04 | 2013-12-04 | 建立抗量子计算攻击的公钥密码的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105393488A CN105393488A (zh) | 2016-03-09 |
CN105393488B true CN105393488B (zh) | 2019-07-09 |
Family
ID=53272735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380001693.XA Expired - Fee Related CN105393488B (zh) | 2013-12-04 | 2013-12-04 | 建立抗量子计算攻击的公钥密码的方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105393488B (zh) |
WO (1) | WO2015081505A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411504B (zh) * | 2015-07-31 | 2020-10-09 | 腾讯科技(深圳)有限公司 | 数据加密系统、方法及装置 |
CN106664199A (zh) * | 2015-10-12 | 2017-05-10 | 王晓峰 | 建立抗攻击的安全性公钥密码的方法 |
WO2019000231A1 (zh) * | 2017-06-27 | 2019-01-03 | 王威鉴 | 建立抗攻击的公钥密码的方法 |
US11228432B2 (en) * | 2019-03-04 | 2022-01-18 | Siavash Bayat-Sarmadi | Quantum-resistant cryptoprocessing |
CN114640463B (zh) * | 2022-02-25 | 2023-05-12 | 深圳大学 | 一种数字签名方法、计算机设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931527A (zh) * | 2010-07-23 | 2010-12-29 | 北京邮电大学 | 对反直观量子密钥分配系统的单光子分束攻击方法 |
CN102164032A (zh) * | 2011-05-19 | 2011-08-24 | 吉林大学 | 抗量子攻击的非确定的公钥密码构造方法 |
CN101931528B (zh) * | 2010-07-23 | 2011-12-07 | 北京邮电大学 | 一种对傅里叶变换量子秘密共享系统的攻击方法 |
CN103414569A (zh) * | 2013-08-21 | 2013-11-27 | 王威鉴 | 一种建立抗攻击的公钥密码的方法 |
-
2013
- 2013-12-04 WO PCT/CN2013/088475 patent/WO2015081505A1/zh active Application Filing
- 2013-12-04 CN CN201380001693.XA patent/CN105393488B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931527A (zh) * | 2010-07-23 | 2010-12-29 | 北京邮电大学 | 对反直观量子密钥分配系统的单光子分束攻击方法 |
CN101931528B (zh) * | 2010-07-23 | 2011-12-07 | 北京邮电大学 | 一种对傅里叶变换量子秘密共享系统的攻击方法 |
CN102164032A (zh) * | 2011-05-19 | 2011-08-24 | 吉林大学 | 抗量子攻击的非确定的公钥密码构造方法 |
CN103414569A (zh) * | 2013-08-21 | 2013-11-27 | 王威鉴 | 一种建立抗攻击的公钥密码的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105393488A (zh) | 2016-03-09 |
WO2015081505A1 (zh) | 2015-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103414569B (zh) | 一种建立抗攻击的公钥密码的方法 | |
WO2021042685A1 (zh) | 一种区块链的交易方法、装置及系统 | |
CN107733648B (zh) | 一种基于身份的rsa数字签名生成方法及系统 | |
CN107342859B (zh) | 一种匿名认证方法及其应用 | |
CN107911209B (zh) | 建立抗量子计算攻击的安全性公钥密码的方法 | |
CN106936593B (zh) | 基于椭圆曲线高效匿名的无证书多接收者签密方法 | |
CN104639315B (zh) | 基于身份密码和指纹识别双重认证的方法和装置 | |
CN105393488B (zh) | 建立抗量子计算攻击的公钥密码的方法 | |
CN106664199A (zh) | 建立抗攻击的安全性公钥密码的方法 | |
CN109936456B (zh) | 基于私钥池的抗量子计算数字签名方法和系统 | |
CN111563733B (zh) | 一种用于数字钱包的环签名隐私保护系统及方法 | |
CN109547209A (zh) | 一种两方sm2数字签名生成方法 | |
Saranya et al. | Cloud based efficient authentication for mobile payments using key distribution method | |
CN110851845A (zh) | 一种轻量级单用户多数据的全同态数据封装方法 | |
CN111865555B (zh) | 一种基于k-Lin假设的同态加密方法 | |
CN113132104A (zh) | 一种主动安全的ecdsa数字签名两方生成方法 | |
Rezaeibagha et al. | Secure and privacy-preserved data collection for IoT wireless sensors | |
CN109787752A (zh) | 建立抗攻击的共享密钥的方法 | |
CN103346999B (zh) | 一种支持not运算符并具有cca安全的cp-abe方法 | |
US20190215148A1 (en) | Method of establishing anti-attack public key cryptogram | |
CN110740034B (zh) | 基于联盟链的qkd网络认证密钥生成方法及系统 | |
Liao et al. | Cryptanalysis of an identity-based encryption scheme with equality test and improvement | |
CN114900283A (zh) | 基于多方安全计算的深度学习用户梯度聚合方法 | |
KR101327980B1 (ko) | 아이디 기반 덧셈 준동형 암호화 방법 | |
Wang | Signer‐admissible strong designated verifier signature from bilinear pairings |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190709 Termination date: 20191204 |
|
CF01 | Termination of patent right due to non-payment of annual fee |