密钥交换(key exchange,KE)协议在安全通信领域具有重要的基础性作用,其旨在使得通信双方在不安全的信道上可以协商出共同的会话密钥.Diffile-Hellman密钥交换协议的提出在公钥密码学史上具有里程碑的意义,但此协议为被动安全的密钥交换协议,无法抵御中间人攻击.而认证密钥交换(authenticated key exchange,AKE)协议,不仅使通信双方通过协商得到共享会话密钥,且可为通信双方提供有效认证.AKE协议中,通信双方各自持有一个长期公私钥对与一个临时公私钥对,其中长期公钥由可信赖的第三方颁发,双方通过信息交互与计算最终得到共享会话密钥.
随着量子计算机技术不断取得突破,特别是以Shor算法为典型代表的量子算法的提出,在理论上相关运算操作可实现从指数级别向多项式级别的转变,对于经典计算机来说足够困难的问题必将在可预期的将来被实用型量子计算机轻易破解.2015年8月美国国家安全局宣布当前联邦政府使用的“密码算法B 套件”将升级为抗量子密码系统.2016 年4 月美国国家标准局在全球范围内展开了后量子密码算法的征集工作.近年来欧洲国家的“后量子密码”(PQCrypto)和“安全密码”(SAFEcrypto)项目以及日本的CREST密码数学项目都取得了优秀成果.量子计算的前溯性威胁使部署后量子密码技术需求更加迫切.
格密码具有较好的扩展性,可设计加密、数字签名、密钥交换协议、全同态密码等,被认为是后量子密码算法中最有力的竞争者.在理论研究方面,1996年Ajtai[1]首先基于格上小整数解问题(short integer solution,SIS)构造了抗碰撞杂凑函数;1998年Hoffstein等人[2]基于NTRU密码体制的公钥加密方案,与格上困难问题密切相关.2005年Regev等人[3]基于格理论提出错误学习问题(learning with errors,LWE),可归约为一般格上最近向量的最坏情形;2010年Lyubashevsky等人[4]提出了基于环上错误的学习问题(ring learning with errors,RLWE),可归约为理想格上的困难问题SVP(shortest vector problem)的最坏情形;2015年Langlois等人[5]研究了基于模上错误学习性问题(module learning with errors,MLWE),MLWE问题是理想格与一般格的推广.中国密码学研究者王小云等人[6]、张平原等人[7]、刘亚敏等人[8]对格密码理论方面也进行了较深入的研究.在应用实现方面,美国微软公司于2016年4月发布了格密码库;2016年7月美国谷歌公司在后量子项目试验中,在其浏览器进行了格理论设计的KE协议相关部署测试工作.基于格理论构造密码系统已成为当前后量子密码领域研究的热点.
近年来基于格困难问题构造KE协议方面成果显著.2012年Ding等人[9]基于RLWE问题的变体SLWE设计出了第1个Diffile-Hellman式KE协议;2014年Peikert[10]首先提出了一种高效但计算略复杂的错误协调机制技术构造的KE协议;2015年Bos等人[11]在S&P会议上提出一种基于RLWE问题并使用错误协调机制的KE协议,同时与传统签名结合增强为AKE协议方案集成到TSL协议中;2016年Alkim等人[12]基于RLWE问题将Peikert式错误协调机制拓展使用在
格解码中,并提出了一种高效的KE协议NewHope;2016年Bos等人[13]基于LWE问题利用错误协调机制的多比特变形设计出一种KE协议Frodo;在认证密钥交换协议设计方面,Zhang等人[14]于2015年欧密会上基于RLWE问题使用丁式错误协调机制提出一种HMQV式AKE协议;2016年Del Pino等人[15]将无认证的KE协议与使用带消息恢复功能的数字签名方案相结合,构造了一种AKE协议.
本文基于格理论RLWE困难问题设计了一种新型AKE协议.首先基于密文压缩技术提出了一个IND-CPA安全的公钥加密算法,在此基础上使用Fujisaki-Okamoto变换技术得到一种IND-CCA安全的密钥封装机制(key encapsulation mechanism,KEM),最后通过参与者双方分别拥有长期、临时公私钥对的隐式认证方式构造了一种AKE协议.协议在错误分布选取上,采用抽样效率相较于高斯分布更高的二项分布.采用密文压缩方式为基础构造有关方案,与使用计算较复杂的错误协调技术相比,更加简洁高效.本文提出的AKE协议在eCK模型下可证明安全且可达到弱的完美前向安全[16],是一种更加简洁安全、高效的后量子AKE协议.
定义1[8].判定型RLWE问题.已知n=2k≥1,k∈
,设n维整系数多项式环Rn=
(x)/f(x),其中f(x)=xn+1,设模q整数环
模数q=1 mod 2n.已知χ为环
上的某种特定分布,令多项式环向量秘密值
已知v=a·s+e,其中
且满足
即多项式环向量a,s分别在
中按照均匀分布随机选择,错误向量e在
上服从某种公开概率分布,此时(a,v)即为RLWE分布.
判定型RLWE问题是指给定分布(a,v),区分(a,v)为RLWE分布还是随机均匀分布.
定义2[17].判定型HNF-RLWE问题.已知n,q为正整数,χ为Rq上的某种特定分布,令秘密
已知v=a·s+e,其中
且满足
即多项式环向量a,s分别在
中按照均匀分布随机选择,错误向量e在
上服从某种公开的概率分布,此时分布(a,v)即为HNF-RLWE分布.
判定型HNF-RLWE问题是指给定分布(a,v),区分(a,v)为RLWE分布还是随机均匀分布.
定义3.中心二项分布Bη.已知输入为样本
其中η为正整数,输出为
中心二项分布即为
定义4[18].压缩函数Compressq(x,d).压缩函数Compressq(x,d)=┌(2d/q)·x┐ mod+2d,其中x∈
q,函数的输出是一个整数,具体是y=Compressq(x,d)∈{0,1,…,2d-1},并且其中d<
┌lb q┐.
定义5[18].解压函数Decompressq(y,d).解压函数Decompressq(y,d)=┌(q/2d)·y」,已知其中y∈{0,1,…,2d-1},并且满足d<┌lb q┐,可得x′=Decompressq(y,d)∈
q.
由定义可得压缩函数和解压函数之间的关系为x′=Decompress(Compressq(x,d),d),其中x与x′满足|x′-x mod± q|≤Bq=┌q/2d+1」.
基于RLWE困难问题设计了一种新型AKE协议.首先基于加密机制以及密文压缩技术提出一种IND-CPA安全的公钥加密方案,在此公钥加密方案的基础上并使用Fujisaki-Okamoto变换技术得到了一种IND-CCA安全的KEM方案,在KEM方案基础上,通过通信双方各持有一对长期、临时私钥的隐式认证方式构造了一个命名为NLPQ(new lattice post quantum)的AKE协议.
算法1~3分别为密钥生成、加密以及解密算法,下面分别对3个算法进行具体说明.
算法1.密钥生成算法:NLPQ.KeyGen.
①![]()
② a←Parse(SHAKE-128(seed));
③![]()
④ y=Compress(a·s+e,d);
⑤ pk=(y,seed),sk=s.
算法2.加密算法:NLPQ.Enc(pk,m),其中pk=(y,seed),m∈M.
① x′=Decompressq(y,d);
②![]()
③ a←Parse(SHAKE-128(seed));
④![]()
⑤ y′=Compressq(a·s′+e′,d);
⑥ y″=Compressq(x·s′+e″+┌q/2┐·m,d);
⑦ 返回值c=(y′,y″).
算法3.解密算法:NLPQ.Dec,其中sk=s,c=(y′,y″).
① u=Decompressq(y′,d);
② v=Decompressq(y″,d);
③ 返回值m′=Compressq(v-u·s,1).
已知杂凑函数G:{0,1}*→{0,1}512,H:{0,1}*→{0,1}256,应用Fujisaki-Okamoto变换,可将IND-CPA安全的公钥加密方案转变为IND-CCA安全的KEM方案[19].本节设计的IND-CCA安全的KEM方案包括NLPQ.KeyGen,NLPQ.Encaps,NLPQ.Decaps三个算法组成,其中NLPQ.KeyGen为2.1节的算法1.算法4,5分别为NLPQ.Encaps和NLPQ.Decaps.
算法4.加密封装算法NLPQ.Encaps,其中pk=(y,seed).
① m←{0,1}256;
② (k,t)=G(pk,m),k和t的长度均为256 b;
③ (y′,y″)=IND-CPA.Enc((y,seed),m);
④ c′=(y′,y″,t);
⑤ K=H(k,H(c′));
⑥ 返回值(c′,K).
算法5.算法NLPQ.Decaps,其中sk=s,c=(y′,y″,t)).
① m′=IND-CPA.Dec(s,(y′,y″));
② (k′,t′)=G(pk,m′);
③ (z′,z″)=Enc((y,seed),m′);
④ 如果满足(z′,z″,t′)=(y′,y″,t)条件时,返回值K=H(k′,H(c′));
⑤ 否则返回值K=H(r,H(c′)),r是一个随机秘密种子.
使用算法1~5构造的KE协议方案如图1所示:
AB(pk,sk)←NLPQ.KeyGenv()pk→(c,K)←NLPQ.Encaps(pk)key=NLPQ.Decaps(sk,c)c←key=K
Fig.1 Key exchange protocol
图1 密钥交换协议
已知通信参与者A和B分别持有长期公私钥(pkA,skA),(pkB,skB),临时公私钥(pk1,sk1),(pk2,sk2).利用通信双方各自持有一对长期、临时公私钥对,构造了一个基于RLWE问题的AKE协议,双方最终得到了共享会话密钥.图2是基于HNF-RLWE问题构造的AKE协议的具体过程.
AB(pkA,skA)←NLPQ.KeyGen()(pkB,skB)←NLPQ.KeyGen()(pk1,sk1)←NLPQ.KeyGen()(pk2,sk2)←NLPQ.KeyGen()(cB,KB)←NLPQ.Encaps(pkB)cB,c2→(cA,KA)←NLPQ.Encaps(pkA)(c2,K2)←NLPQ.Encaps(pk2)(c1,K1)←NLPQ.Encaps(pk1)K'B←NLPQ.Decaps(sk2,cB)K'A←NLPQ.Decaps(skA,c)cA,c1←K'2←NLPQ.Decaps(sk2,c2)K'1←NLPQ.Decaps(sk1,c1)key=H(K'A,KB,K'1,K2)key=H(KA,K'B,K1,K'2)
Fig.2 Authentication key exchange protocol
图2 认证密钥交换协议
为了满足正确性与安全性需求,参数设置如下:模数q=12 289<214,维度n=1 024,此时NLPQ.IND-CPA公钥加解密方案解密错误的概率δ是可以忽略的,可得解密正确性的概率为1-δ,其中δ<2-128.
下面对方案进行正确性分析,在算法2中,由解压缩函数公式x′=Decompressq(y,d),之后将y=Compressq(a·s+e,d)代入上式可以得到结果x′=Decompressq(Compress(a·s+e,d),d),然后计算可得x′=a·s+e+f,其中![]()
由算法3可知u=Decompressq(y′,d),此时进一步计算,将y′=Compressq(a·s′+e′,d)代入可得u=Decompressq(Compressq(a·s′+e′,d),d),此时u=a·s′+e′+f′,其中
由解压缩函数表达式v=Decompressq(y″,d),将上面的结果y″=
Compressq(x·s′+e″+┌q/2」·m,d)代入上式可得
结果v=(a·s+e+f)·s′+e″+┌q/2」·m+f″.其中
进而可以得到结果v-u·s=e·s′+f·s′+e″+┌q/2」·m+f″-e′·s-f′·s.由结果
|e·s′+f·s′+e″+f″-e′·s-f′·s|<┌q/4」,此时
记为|v-u·s|=w+┌q/2」·m,向量v-u·s中
的每个元素为wi,可得|wi|<┌q/4」,已知在算法3中有m′=Compressq(v-u·s,1),计算得到向量为v-u·s-┌q/2」·m′,其中的每个元素为vi,因此可以得到结果┌q/4」>|vi|,之后,向量w+┌q/2」·m-┌q/2」·m′中的每个元素设为mi,进而
得到┌q/4」>|mi|,根据分析已知|wi|<┌q/4」,可
得┌q/2」·(m-m′)|<2×┌q/4」,由已知q是奇数,因此可得m=m′,由此可得NLPQ.IND-CPA公钥加解密方案的正确性.由于杂凑函数G和H是随机预言模型,FO变换技术使得IND-CPA安全的公钥加解密方案转变为IND-CCA安全的KEM方案,因此可得NLPQ.IND-CCA方案的正确性概率为1-δ,其中δ<2-128.因此依据算法1~5构造的KE协议和AKE协议方案,通信参与双方可得到正确的会话密钥.
本文构造的协议方案基于随机预言机在标准eCK模型下是可证明安全的,并且由文献[16]相关结论可得可以达到弱的完美前向安全.此AKE协议的安全性最终可归约为格上的HNF-RLWE问题的困难性.
定理1. 如果RLWE问题假设成立,已知杂凑函数G和H为随机预言机,则协议方案在eCK模型下可证明安全.如果攻击者M可通过查询至多n个参与者,至多k个会话的方式赢得游戏,那么此时一定存在一个模拟器S,在多项式时间内满足以优势
可解决RLWE问题.其中,
证明.已知攻击者M,协议安全性指攻击者M存在的情况下,协议通信双方生成共享的会话密钥key,只有协议的真正参与者才可以共享该会话密钥,在多项式时间内会话密钥与随机生成密钥是不可区分.证明过程中假设杂凑函数G和H为随机预言机,
如果在多项式时间内攻击者M以不可忽略的概率赢得游戏,那么攻击者M可通过3种情形来区分真正的会话密钥和随机生成密钥:
情形1.猜测攻击.攻击者M通过猜测得到通信双方的会话密钥.
情形2.密钥复制攻击.敌手M与参与者建立了与测试会话相同的会话,此时敌手M通过SessionKeyReveal()查询可得到此次会话的会话密钥key,攻击者M得到了测试会话的会话密钥key.
情形3.伪造攻击.攻击者预先计算出会话密钥材料,进而通过H查询得到会话密钥key.
首先分析情形1,由于H为随机预言机,因此通过t次猜测猜到会话密钥的概率只有O(1/2t),因此通过猜测攻击无法得到真实的会话密钥.
下面分析情形2,协议方案杂凑函数G和H为随机预言机,生成碰撞的概率可以忽略;协议的参与者进行每次新的会话时临时私钥随机产生.因此,会话参与者2次不同的会话中持有相同的临时私钥的概率可忽略.情形2密钥复制攻击无法达到攻击目的.
分析情形3中伪造攻击:若攻击者M可构造一个模拟器S,且模拟器S可利用M以不可忽略的优势解决RLWE问题.
对于情形3,假设模拟器S选择一个会话sid,并且该会话sid相应的匹配会话为sid*,若选择的测试会话不存在匹配会话,则模拟器S终止.假设由2个诚实的参与者A和B拥有该匹配会话sid*,模拟器S将会话中通信双方的临时公钥pk1和pk2分别用I和J代替,攻击者M以1/k2的概率选取2个会话其中之一作为测试会话,另一个作为匹配会话.协议的双方最终得到的会话密钥
此时经过计算
从而可以得到
之后经过计算可得:
从而可以得到
若攻击者M可以成功进行攻击,则模拟器S可解决RLWE问题.攻击者M通过查询得到K,则必须同时进行长期私钥与临时私钥查询,得到长期私钥和临时临时私钥,在eCK模型中不允许攻击者同时查询得到长期私钥、临时私钥.已知模拟器S至多选取k次会话且每次选择为一对匹配会话,此时概率为2/k2,模拟器S成功的概率优势为
情形3存在另一种情况,即攻击者M选择的测试会话不存在匹配会话,此时模拟器S随机选取参与者A和B的会话,模拟器S会对参与者A向B发送的消息进行处理.
首先模拟器S未知参与者A的长期私钥,模拟器S随机选取
为参与者A的临时私钥,并且按照协议
进行计算.对于参与者B,攻击者M可以进行查询得到B的长期私钥和临时私钥.如果M进行了H查询,则模拟器S将
返回攻击者M,之后模拟器S会选取随机会话,并将参与者A作为此次会话的应答者.攻击者M以1/nk的概率选中此次随机会话.若攻击者M赢得游戏,则M一定进行了H查询,模拟器S可解决RLWE问题.在情形3测试会话不存在匹配会话情况时,模拟器S成功的优势为![]()
综上可得:![]()
证毕.
本文构造的协议可抵御猜测攻击、密钥复制攻击以及伪造攻击,基于随机预言机在标准eCK模型下是可证明安全的,且可以达到弱的完美前向安全.协议方案的安全性可归约为格理论上的RLWE问题的困难性.
在本协议方案中,设置参数维度n=1 024,模数q=1 073 479 681,选用n=16的中心二项分布错误分布.在2015年Albrecht等人[20]提出的LWE测试器,为当前最权威的针对LWE,RLWE问题的密码系统的安全度测试工具.通过计算暴力搜索、BKW、格基归约、MITM攻击等攻击复杂度来衡量密码系统的安全度.基于LWE,RLWE问题的密码系统的此种LWE测试器,被认为是目前最准确、高效、便捷的安全度测试工具.给定任意有效参数,LWE测试器便可输出各种攻击下的计算复杂度和空间复杂度,目前很多基于LWE和RLWE问题设计的公钥密码方案使用此工具进行方案的安全度测试.
在LWE性能测试平台上对本文设计的基于RLWE问题的协议进行安全性测试,可得协议的安全度为313 b.结果如图3所示:
Fig.3 Security test of the protocol
图3 协议的安全性测试
依据目前公开的最新学术成果,基于格上困难问题设计的KE协议与本文设计的方案进行综合分析.选取最典型的无认证KE协议方案BCNS15[11],NewHope[12],Frodo[13]方案.另外选取基于RLWE问题构造的HMQV式AKE协议[14]、基于NTRU体制构造的AKE方案[15].分别从模数q、维度n、困难问题假设、公私钥以及密文长度(单位b)、通信复杂度以及协议安全度(单位b)进行对比.表1为本方案与现有的基于格上困难问题设计有关方案性能指标对比情况.本文方案在安全度上有较大优势,与安全度较高的NewHope方案相比,公私钥以及密文尺寸相对较小.协议在较强安全性模型即标准eCK模型下可证明安全,并且可达到弱的完美前向安全.
Table 1 Performance Comparison of Key Exchange Protocols Based on Difficult Problem of Lattice
表1 基于格困难问题设计的密钥交换协议的性能比较
ProtocolModleDimensionDifficultProblemPublicKey Size∕BPrivateKey Size∕BCiphertestSize∕BCommunicationComplexitySecurityModuleQuantumSecurity∕bBCNS15232-11024RLWE409640964224n+2nlbqRO78NewHope122891024RLWE1824179220482n+2nlbqRO255Frodo215756LWE112961128011288( n+ m)(nlbq+1)RO130Ref [14]122891024RLWE1232141718482n+2nlbqBR210NTRU122891024NTRU144365120144363n+2nlbqBR128This Paper122891024RLWE1451320015793n+2nlbqeCK313
本文基于格理论RLWE困难问题,采用计算高效的密文压缩方式设计出一种隐式认证方式的AKE协议.协议在标准eCK模型下可证明安全,并且达到弱的前向安全.与当前的无认证的KE协议以及AKE协议相比,在公私钥及密文长度、通信复杂度与安全度上有很强的竞争力.
量子计算机研制技术的迅速发展,使得现代公钥密码体制的安全性面临着巨大挑战.目前政府、工业界以及相关标准化组织对于实用化的后量子密码系统的需求迫切.2018年4月11—13日,美国国家标准与技术研究院召开了首届后量子时代公钥密码标准化的国际会议,对2017年12月截止的在全球范围内征集的82个密码算法进行首轮评估测试,2019年初宣布共计26个密码算法方案进入了第2轮评估.
未来考虑基于RLWE问题及NTRU密码体制设计出计算简洁高效、安全度更高的KE协议.
[1]Ajtai M.Generating hard instances of lattice problems[C] //Proc of the 28th Annual ACM Symp on Theory of Computing.New York:ACM,1996:99-108
[2]Hoffstein J,Pipher J,Silverman J H.NTRU:A ring-based public key cryptosystem[C] //Proc of the 3rd Int Algorithmic Number Theory Symp.Berlin:Springer,1998:267-288
[3]Regev O.On lattices,learning with errors,random linear codes,and cryptography[C] //Proc of the 37th ACM Symp on Theory of Computing.New York:ACM,2005:84-93
[4]Lyubashevsky V,Peikert C,Regev O.On ideal lattices and learning with errors over rings[G] //LNCS 6110:Advance in EuroCrypt 2010.Berlin:Springer,2010:1-23
[5]Langlois A,Anglois A,Stehlé D.Worst-case to average-case reductions for module lattices[J].Designs,Codes and Cryptography,2015,75(3):565-599
[6]Wang Xiaoyun,Liu Mingjie.Survey of lattice-based cryptography[J].Journal of Cryptologic Research,2014,1(1):13-27 (in Chinese)(王小云,刘明洁.格密码学研究[J].密码学报,2014,1(1):13-27)
[7]Zhang Pingyuan,Jiang Han,Cai Jie,et al.Recent advances in lattice-based cryptography[J].Journal of Computer Research and Development,2017,54(10):2121-2129 (in Chinese)(张平原,蒋瀚,蔡杰,等.格密码技术近期研究进展[J].计算机研究与发展,2017,54(10):2121-2129)
[8]Liu Yamin,Li Xiangxue,Liu Hanlin.Research on post-quantum key exchange based on lattice[J].Journal of Cryptologic Research,2017,4(5):485-497 (in Chinese)(刘亚敏,李祥学,刘晗林.基于格的后量子密钥交换研究[J].密码学报,2017,4(5):485-497)
[9]Ding Jintai,Xie Xiang,Lin Xiaodong.A simple provably secure key exchange scheme based on the learning with errors problem[OL].[2019-03-15].http://eprint.iacr.org/2012/688
[10]Peikert C.Lattice cryptography for the Internet[G] //LNCS 8772:Proc of the 6th Int Conf on Post-Quantum Crypto-graphy.Berlin:Springer,2014:197-219
[11]Bos J W,Costello C,Naehrig M,et al.Post-quantum key exchange for the TLS protocol from the ring learning with errors problem[C] //Proc of the 2015 IEEE Symp on Security and Privacy.Piscataway,NJ:IEEE,2015:553-570
[12]Alkim E,Ducas L,Pöppelmann T,et al.Post quantum-key exchange-a new hope[C] //Proc of the 25th USENIX Security Symp.Berkeley,CA:USENIX Association,2016:327-343
[13]Bos J,Costello C,Ducas L,et al.Frodo:Take off the ring! Practical,quantum-secure key exchange from LWE[C] //Proc of the 2016 ACM SIGSAC Conf on Computer and Communications Security.New York:ACM,2016:1006-1018
[14]Zhang Jiang,Zhang Zhenfeng,Ding Jintai.Authenticated key exchange from ideal lattices[G] //LNCS 9057:Advances in EuroCrypt 2015,Part Ⅱ.Berlin:Springer,2015:719-751
[15]Del P R,Lyubashevsky V,Pointcheval D.The whole is less than the sum of its parts:Constructing more efficient lattice-based AKEs[C] //Proc of the 2016 Int Conf on Security and Cryptography for Networks.Berlin:Springer,2016:273-291
[16]Krawczy H.HMQV:A high-performance secure Diffe-Hellman protocol[C] //Proc of the 25th Annual Int Cryptology Conf.Berlin:Springer,2005:546-566
[17]Applebaum B,Cash D,Peikert C,et al.Fast cryptographic primitives and circular-secure encryption based on hard learning problems[C] //LNCS 5677:Advances in Crypto 2009.Berlin:Springer,2009:595-618
[18]Alkim E,Ducas L,Pöppelmann T,et al.Newhope without reconciliation[OL].[2019-03-15].http://eprint.iacr.org/2016/1157
[19]Fujioka A,Suzuki K,Xagawa K,et al.Practical and post-quantum authenticated key exchange from one-way secure key encapsulation mechanism[C] //Proc of the 8th ACM SIGSAC Symp on Information,Computer and Communications Security.New York:ACM,2013:83-94
[20]Albrecht M R,Player R,Scott S.On the concrete hardness of learning with errors[OL].[2019-03-15].http://eprint.iacr.org/2015/46
Li Zichen,born in 1965.PhD,professor,PhD supervisor.His main research interests include cryptography and information security.
Xie Ting,born in 1991.Master candidate.Her main research interests include crypto-graphy,cryptographic protocol design.
Zhang Juanmei,born in 1963.Associate professor.Her main research interests include cryptography and information security.
Xu Ronghua,born in 1978.PhD,Lecturer.Her main research interests include crypto-graphy and information security.