基于编码的加密体制综述
2020-08-14韩益亮朱率率杨晓元
李 喆,韩益亮,李 鱼,朱率率,杨晓元
(武警工程大学 密码工程学院, 陕西 西安 710086)
2019年10月26日,第十三届全国人大常委会第十四次会议通过了《中华人民共和国密码法》,通过制度的形式把信息安全的重要性上升为国家意志。现在社会中的银行交易、无人驾驶、卫星通信、指挥控制等方面,密码学具有不可替代的作用。随着科学技术的飞速发展,量子计算机逐渐进入人们的视野,其强大的计算能力备受青睐,量子计算机强大的计算能力在诸多方面带来了极大的便利,但是其强大的计算能力也对经典计算机(图灵机)条件下基于数论的密码体制带来了严重的威胁。目前,大部分密码体制都依赖于经典计算机在多项式时间内无法有效解决的两个计算困难问题,即大整数分解和离散对数问题。Shor[1]提出了可以在多项式时间内破解大整数问题和离散对数问题的量子算法,这一算法使得经典的公钥密码方案极不安全,RSA[2]、离散椭圆曲线方案(Elliptic Curve Cryptography, ECC)[3]等密码体制的安全性受到挑战。因此,为了应对量子计算机带来的挑战,许多密码学者尝试构造可以抵御量子计算的新型密码体制,即抗量子计算密码体制(Post-Quantum Cryptography, PQC)。PQC主要有五种[4]:基于编码的公钥密码体制、基于格的公钥密码体制、基于哈希树的公钥密码体制、基于多变量的公钥密码体制、超奇异椭圆曲线同源密码。
2015年,美国和欧盟分别推动抗量子密码的标准化进程[5]。2018年,美国国家标准与技术研究院(National Institute of Standards and Technology, NIST)面向全球征集抗量子密码,举办第一轮PQC算法征集会议,基于编码的密码体制占有很大的比例[6]。2019年,NIST评选第二轮后量子密码算法,基于编码的密码方案依然具有很大的比重[7]。在未来的研究过程中,基于编码的密码体制依然是研究的热点。
为了使我国后量子密码算法同步推进,国家密码局于2018年面向全国征求密码算法,目前,全国密码算法设计竞赛第一轮算法评选结果已经揭晓,第二轮算法评选正在进行中,预计于2022年左右开展抗量子密码算法标准化工作。
基于编码的密码体制最初是由McEliece[8]提出的,其一般性译码问题属于一般线性码的非确定性多项式完全问题。到目前为止,原始的方案依然具有安全性。该体制采用Goppa码,具有加解密速度快、计算复杂度低的优点。但现实中没有大量使用该体制的原因是,其密钥储存空间太大、码率低。Niederreiter[9]提出了基于GRS码的Niederreiter密码体制,相较于McEliece体制,该体制密钥存储空间减少,但仍然不能投入到实际使用中。因此,许多学者为了减小密钥的尺寸,推动提高密码方案的实用化,改进McEliece体制,提出了用其他结构更加紧凑的编码代替Goppa码,例如准循环低密度奇偶校验码(Quasi-Cyclic Low-Density Parity Check, QC-LDPC)码[10]、Polar码[11]、中密度奇偶校验码(Medium Density Parity Check, MDPC)码[12]、Gabidulin码[13]、低秩奇偶校验(Low Rank Parity Check, LRPC)码[14],改进的密码方案减少了密钥长度,但容易受到攻击[15]。
后来,基于编码的方案进一步发展,一些学者对McEliece体制的结构进行变型。Wang[16]在生成矩阵的每一列中都嵌入了随机列并构造了一种线性随机码的加密方案RLCE。Kim等[17]通过将McEliece和Niederreiter相结合,利用秩度量的编码构造了McNie密码方案。刘相信等[18]通过隐藏明文的汉明重量,将校验矩阵拆分构造了一种新型密码方案。Mostafa[19]通过利用错误向量的汉明重量大于编码最小距离的性质,构造了一种不同的密码方案。
本文根据编码的性质,总结了基于汉明度量编码和基于秩度量的加密方案,归纳了目前发展的现状,展望了未来的发展方向。介绍了目前基于McEliece方案进行结构改变的新型密码方案,为将来研究抗量子密码方案提供了新的方向。综述了目前对基于编码的密码方案主流的攻击方法。
1 基于纠错码的密码体制
1.1 McEliece加密体制
该密码体制包括密钥生成(公钥、私钥)、加密过程、解密过程三部分。
1)密钥生成过程如下:
①随机生成长度为n,维度为k的k×n阶生成矩阵G,其中最小距离d≥2t+1;
②生成k×k阶随机非奇异可逆矩阵S;
③生成n×n阶二元随机置换矩阵P。
G左乘随机非奇异可逆矩阵S,右乘随机置换矩阵P,得到扰乱后的k×n阶矩阵Gpub,Gpub=SGP。其中,公钥为Gpub和t;私钥为S、DC、P,DC是编码C的译码算法。
2)加密过程如下:
①随机选择错误向量e∈Fn,其中,Fn为有限域上的n维线性向量空间,wt(e)≤t;
②发送方利用接收方的公钥Gpub对发送的消息m进行加密,得到密文c。c=mGpub⊕e,其中m∈Fk。
3)解密过程如下:
①接收方收到密文c,利用自己的私钥对密文进行解密;
②cP-1=(mS)G⊕eP-1。
利用编码的译码算法进行译码,mS=DC(cP-1),m1=mS,m=m1S-1。
目前,这一方案的研究目标和发展方向主要有以下三类:
1)采用Goppa码的原始方案,到目前为止都足够安全,下一步的关注点是,在保证安全性的基础上,分析目前存在的攻击类型,合理选用参数,对Goppa码进行变型,如交织Goppa码;
2)进一步分析原始方案存在的攻击,尤其是要关注侧信道攻击,在模拟仿真平台上实现密码方案,通过侧信道攻击检验方案的安全性;
3)分析McEliece密码体制延展性以及消息重放攻击,进一步研究方案保证其安全性。
1.2 Niederreiter密码体制
Niederreiter采用McEliece的对偶形式提出了Niederreiter体制,与McEliece公钥密码体制不同的是,Niederreiter密码体制采用一致校验矩阵来构造加密算法。同样地,该密码体制包括密钥生成(公钥、私钥)、加密过程、解密过程三部分。
1)密钥生成过程如下:
①系统参数:n,t∈N。
②生成M:(n-k)×(n-k)阶可逆矩阵。
③生成H:纠正t个错误的编码C的(n-k)×n阶校验矩阵。
④生成P:n×n阶随机置换矩阵。
⑤计算Hpub=MHP。
2)加密过程如下:
计算s=HpubeT,其中,e∈{0,1}n。
3)解密过程如下:
计算M-1s=HPeT,利用伴随式译码算法恢复PeT,计算eT=P-1PeT。
McEliece体制的公钥为k×nbit,Niederreiter公钥体制的公钥为(n-k)×nbit,采用这种对偶变型的密码方案,可以有效减小密钥长度。在McEliece体制中,攻击者可以通过两个被加密消息之间的关系来确定错误位置。而Niederreiter公钥体制并不存在延展性,所以不会遭到密文的延展性攻击和消息重放攻击。
目前,这一方案的研究目标和发展方向主要有以下两类:
1)研究重点逐渐聚焦在采用Niederreiter 密码体制进行签名方案的构造;
2)研究改进Niederreiter 密码体制在硬件上面的实现,提高效率和实用性。
1.3 研究现状
目前关于McEliece密码体制的研究大概分为两类:
1)研究改进McEliece原始方案的结构分析其原始方案的底层编码,选择性能更优的码字来替代原始方案的Goppa码,达到减小密钥长度的目的,使其投入到实际运用中;
2)研究分析McEliece原始方案及其变型的安全性,分析其存在安全性问题的原因,进一步完善密码方案。
2 采用其他编码改进的McEliece体制
2.1 基于汉明度量编码的密码方案
2.1.1 基于LDPC/MDPC码的密码方案
采用LDPC码或MDPC码代替原来的Goppa码,LDPC码或MDPC码具有有效的迭代译码算法,可以明显降低译码错误率,并且采用其循环结构可以有效减小公钥尺寸。MDPC码奇偶校验矩阵的行列密度比LDPC码高。
Monico等[20]提出用LDPC码代替原来的Goppa码。Baldi等[10]提出基于QC-LDPC码的McEliece体制,该体制可以减小密钥大小,具有一定的安全性,采用比特迭代译码算法可以快速解码。但其对偶码存在低维数的漏洞,易被攻破。Baldi等[21]提出改进的QC-LDPC变型,其中可逆矩阵和置换矩阵都采用稀疏矩阵,提高了安全性,可以抵抗结构化攻击。Shooshtari等[22]指出,Baldi改进后的方案容易受到信息集译码攻击(Information Set Decoding, ISD),原因是改进后的QC-LDPC方案中,会出现循环矩阵的循环块为偶数的情况。
Misoczki等[23]提出基于QC-MDPC码的McEliece体制来抵御已知的对LDPC码的攻击,同时减小了密钥量。Guo等[24]通过研究译码错误率与密钥距离谱之间的联系,对文献[23]提出的QC-MDPC方案进行了密钥恢复攻击。Fabšiĉ等[25]同样通过大量实验寻找置换矩阵Q与译码错误率之间的关联性,对密钥进行恢复攻击。
Moufek等[26]提出一种新的思路,将两种奇偶校验码结合使用。该方案通过QC-LDPC码和QC-MDPC码的级联使用,可以减少密钥长度,采用伪随机生成矩阵具有一定的安全性。Dragoi等[27]对文献[26]改进的方案进行安全性分析,发现文献[26]改进的方案存在极大的漏洞。
目前,这一方案的研究目标和发展方向主要有以下两类:
1)研究QC-LDPC码和QC-MDPC码的性质,进一步改进方案的译码算法,减小译码错误率,提高译码效率;
2)分析采用QC-LDPC码和QC-MDPC码密码方案的结构,研究低重量搜索攻击对其密码方案的影响,并对其安全性做进一步分析。
2.1.2 基于Polar码的密码方案
Polar码是目前可以在理论上证明趋于Shannon限的编码。Arikan提出Polar码[28],并深入研究Polar码的性质,后来众多学者进一步研究了Polar码的结构及性能。
首先,Polar码比Goppa码等其他编码纠错能力更强;其次,极化码的连续消除译码算法比Goppa码的译码效率更高,降低了解密过程中的计算复杂度。通过研究极性码的性质,Mahdlavifar等尝试把极化码应用到密码学中,并取得了一定的进展[29]。Hooshmand 等[30]利用极化码的性质构造对称密码体制。Hooshmand 等[31]为了避免主动攻击和被动攻击,通过分析有限长度极化码的性质,提出了基于物理层加密(Physical Layer Encryption, PLE)方案[32],在合法的通信双方建立安全可靠的保密通信。
Shrestha等[33]将Polar码应用到编码密码中,提出了基于Polar码的McEliece密码方案。Hooshmand等[34]在原有方案的基础上,优化了基于Polar码的McEliece密码方案,减少了密钥存储空间。但是,Bardet等[35]分析了文献[34]中提出的基于Polar码的McEliece密码方案的结构,提出了密钥恢复攻击的方法。这种攻击方法可以获得文献[33]方案解密密文所需要的任何信息。杨超等[36]利用Polar码译码算法的低复杂性构造Niederreiter 公钥密码体制,并进行了仿真分析。Drǎgoi等[37]证明任何基于弱递减单项式码的密码方案都有可能受到密钥恢复攻击,基于Polar码的密码方案也不例外。
目前,这一方案的研究目标和发展方向主要有四类:
1)进一步研究Polar码,研究其极化现象的原因,提高中等长度码字的编码效率;
2)进一步研究其译码算法,分析连续消除算法,列表连续删除译码算法,加入循环冗余检验位的列表连续删除算法的性能,在提高译码正确率的同时提高译码效率;
3)把Polar码的极化性质应用到签名领域,把极化性质与签名有效结合,提高签名的效率;
4)通过把Polar码与其他性能好的码字相级联,克服了Polar码在中等长度时性能差的缺点,总体上使密码方案的效率与安全性达到最佳。
2.1.3 基于RS码/GRS码的密码方案
该体制采用RS码或GRS码代替McEliece原始方案中的Goppa码。GRS码存在有效译码算法,可以有效减少公钥长度。
基于GRS码的Niederreiter体制变型被Silelnikov等完全攻破,当公钥Hpub的列元素可以表示为支撑元素的多项式,利用各列元素的关系可求出支撑向量和常数向量[38]。Wieschebrink[39]提出用GRS码与随机码并列的级联码避免了文献[38]中提到的攻击。Couvreur等[40]针对三种GRS变型,采用GRS码的平方码构造与随机码相区分的区分器,进而采用密钥恢复攻击,能够在多项式时间内攻破文献[39]所采用的级联码方案。
Márquez-Corbella等[41]提出用两个GRS码构造“u/u+v”的变型。目前,这一方案的研究目标和发展方向主要有两类。
1)进一步研究文献[38]针对基于GRS码的密码体制提出的攻击方法,分析这种攻击是否会对McEliece体制原始方案的安全性造成影响;
2)进一步研究采用GRS码的Niederreiter体制,利用Niederreiter体制可以抵抗反应攻击和延展性攻击的优点,深究其本质,设计可以达到原始方案的新型密码体制。
2.2 基于秩度量编码
基于汉明度量的McEliece密码,使用Goppa码或MDPC码,其缺点是有相对较大的密钥。原始基于编码的密码方案是基于具有汉明度量的Goppa码,实际上可以考虑基于秩度量的编码。秩度量的特别之处在于译码问题的实际难度随着参数的增大而迅速增大。在同样安全级别下,基于秩度量的密码方案比基于汉明度量的密码方案更安全。与基于汉明度量的编码相比,秩度量中已知的具有高效译码算法的码族很少。可以用于McEliece方案的两大类秩度量编码,即Gabidulin码和LRPC码。基于LRPC码的密码方案,因其低代数结构,逐渐成为研究的热点。
Kshevetskiy等对基于Gabidulin码的原始方案进一步优化参数,在保证安全性的同时进一步减少密钥尺寸[42]。Overbeck[43]针对基于秩度量编码的原始方案及其变型进行分析,提出一种有效的攻击方法。该攻击主要是对基于秩度量码的密码方案进行分析,发现Gabidulin码包含一个巨大的向量空间不变作用下的弗罗贝尼乌斯自同构。后来,许多学者试图用其他扰乱矩阵来避免存在的已知其他攻击,但是Gabidulin代码自身存在的问题仍没有消失[44]。换句话说,对编码进行扰乱的生成器的一些核心部分仍然存在向量空间不变的问题,这就增加了系统的弱点。
为了抵御文献[43]提及的攻击,Loidreau[45]对维度等参数进行优化,提出一种基于新型秩度量的编码体制。Coggia等[46]对文献[45]提出的密码方案进行安全性分析,指出当λ=2时,攻击者有超过50%的可能性用区分器把公共代码和随机码区分开,利用这个区分器可以在多项式时间内实现密钥恢复攻击。Aragon等[47]提出一种新的译码算法,该方法可以降低以往方案的译码错误概率。Aragon等[48]利用LRPC码在选择明文攻击下的不可区分性(INDistinguishability-Chosen ciPhertext Attacks, IND-CPA)情况解密失败条件下,采用一种代数方法对解密失败发生的情况进行建模,然后根据攻击者可以利用IND-CPA方案中发送给解密oracle的错误这一事实,对比文献[24]中提出的对QC-MDPC码密钥恢复攻击,Aragon等尝试把这种攻击应用到基于秩度量的密码方案。
与汉明度量相比,秩度量的优势比较明显,在一定的参数选择范围下,通过搜索低重量攻击的复杂度会明显提升。
目前,这一方案的研究目标和发展方向主要有以下两类:
1)分析研究LRPC码的结构,改进译码算法以减小LRPC码的译码错误率;
2)寻找隐藏Gabidulin码结构的方法,使其能够抵抗文献[43]提及的攻击。
3 McEliece加密方案结构的变型
3.1 McNie方案
Kim等[17]提出将McEliece方案和Niederreiter方案结合的McNie加密方案,该方案采用4-循环低秩奇偶校验码,能够抵抗目前已知的结构化攻击,减小了密钥的大小。Lau等[49]针对McNie方案提出了一种密钥恢复攻击,能够恢复McNie方案所有参数下的密钥,进而提出了一种新的基于Gabidulin码的McNie方案,该新方案不存在译码失败率。Aragon等[48]对McNie方案采用消息恢复攻击和改进的信息集译码攻击,使McNie方案的安全级别减半。Kim等[50]在文献[49]改进的基础上,进一步提出了McNie2-Gabidulin方案,该方案具有IND-CPA安全性,密钥尺寸小于其他没有译码失败概率的密码方案。
1)密钥生成过程如下:
①对于给定的参数n和r,产生下列矩阵:
G′:域Fqm上的信息数为k、最小距离l>n-k码C的k×n阶生成矩阵。
S:(n-k)×(n-k)阶可逆矩阵。
H:一个能够纠正r个错误的码C的(n-k)×n阶校验矩阵。
P:n×n阶随机置换矩阵。
②计算矩阵F=G′P-1HTS。
公钥:(G′,F)。
私钥:(S,H,P)。
c1=mG′+e
(1)
c2=mF
(2)
3)解密过程如下:
S′=c1P-1HT-c2S-1=eP-1HT
(3)
接收者利用译码算法
φH(S′)=eP-1
(4)
c1-e=mG′
(5)
得到m。
把McNie体制和McEliece类比,则
G′=SGPF=G′P-1HTS=(SGP)P-1HTS
(6)
因为GHT=0,所以F=0,推出c2=0,c1=mG′+e,这就是McEliece体制的原始方案。
目前,这一方案的研究目标和发展方向主要有以下两类:
1)分析研究McNie方案,找到McNie方案没有入围第二轮抗量子候选方案的原因;
2)寻找隐藏Gabidulin码结构的方法,使其能够抵抗文献[43]提及的攻击。
3.2 改进版Niederreiter密码方案
刘相信等[18]对错误向量e的重量进行了隐藏,提出的Niederreiter密码方案改进版可以抵抗ISD攻击。
1)密钥生成过程如下:
①选择二元(n,k,t)Goppa码,纠错能力为t,校验矩阵为(n-k)×n,快速译码算法为βHt。
②将H随机拆分成两个矩阵H1、H2(H=H1+H2),随机选取三个阶数为(n-k)×(n-k)可逆矩阵S1、S2、S3,选取一个n×n阶的可逆置换矩阵P,分别计算H′=S1H1P,H″=S2H2P,H‴=S3HP。
③公钥:(H′,H″,H‴,t)。
④私钥:(S1,S2,S3,T,βHt)。
2)加密过程如下:
将明文m编码成汉明重量t的向量e,并将e拆分为两个向量e1、e2,且e=e1+e2,wt(e1)=t1,wt(e2)=t2(t≠t1≠t2)。计算
(7)
将(c1,c2,c3)发送给接收方。
3)解密过程:收到(c1,c2,c3)后,计算
(8)
(9)
(10)
因为H=H1+H2,e=e1+e2。所以
(11)
利用译码算法βHt进行译码可得ePT,再利用私钥P,即可得到密文e=ePT(PT)-1。
目前,这一方案的研究目标和发展方向主要有两类:
1)研究本方案的安全性,隐藏后的错误向量是否可以保证密码方案的安全;
2)选择其他编码进一步减少密钥长度,例如LRPC码。
3.3 改进错误向量的密码方案
Mostafa[19]在其博士论文中提出Mostafa Esmaeili方案,该方案在McEliece加密的基础上,改变了McEliece的结构,不再利用可逆矩阵和置换矩阵对生成的矩阵进行扰乱,主要利用汉明重量大于编码最小距离的错误向量,构造了新型的密码方案。该密码方案与McEliece方案构造过程类似,包括密钥生成(公钥、私钥)、加密过程、解密过程三部分。
1)密钥生成过程如下:
①G:域F上的维度为k、最小距离d≥2t+1的码C的k×n阶生成矩阵。
②H:域F上的(n-k)×n阶的校验矩阵。
③S:(n-k)×(n-k)随机非奇异可逆矩阵。
④公钥:(G,S(H-1)T)。
⑤私钥:HTS-1。
2)加密过程如下:
发送者选择长度为l1的消息m,随机选择长度为l2的随机比特串r(其中l=l1+l2),将随机比特串r与明文m并联,得到[r|m]。随机选择n-k位的向量s,计算sS(H-1)T,假如wt(sS(H-1)T) 发送者使用接收者的公钥对并联后的消息进行加密,得到 c=[r|m]G+sS(H-1)T (12) 3)解密过程如下: 接收者收到密文c后,使用自己的私钥对密文进行解密。 cHTS-1=([r|m]G+sS(H-1)T)HTS-1=s (13) 接收者通过自己的私钥对密文进行解密得到s,然后用向量s乘以公钥S(H-1)T,得到sS(H-1)T,然后计算 [r|m]G=c+sS(H-1)T (14) 利用译码算法对[r|m]G进行解密,得到[r|m],把长度为l2的随机比特串r丢弃,最后得到明文m。 目前,这一方案的研究目标和发展方向主要有三类: 1)研究编码的性质,寻找适合构造本方案的编码; 2)研究本密码方案是否可以抵御其他类型的攻击; 3)利用本方案中汉明重量大于编码最小距离的错误向量这种新的思想,尝试把这种新的思想应用于签名、密钥交换、密钥封装等密码学原语中。 对基于编码密码体制的攻击,主要有密钥恢复攻击[51]和信息集译码攻击[52]等。 1)密钥恢复攻击。原始McEliece体制采用的是Goppa码,具有一些随机码的特征。Gpub=SGP,攻击者只有找到扰乱矩阵S、置换矩阵P,才有可能恢复出生成矩阵G,最后才能通过Goppa码的快速译码算法解码密文。假如攻击者找不到扰乱矩阵S、置换矩阵P,无法恢复出生成矩阵G,也就无法达到破译密文的目的。事实上,可逆矩阵S、置换矩阵P的码族非常大,通过找到可逆矩阵S、置换矩阵P这种方法来恢复生成矩阵G在理论上是不可行的。 3)区分器攻击。当区分器攻击密码方案时,区分器利用公钥矩阵不具有随机性,则将公钥矩阵和随机二进制矩阵进行区分。Faugère 等[54]发现采用的编码和密码方案的秩具有一定的相关性。当采用的Goppa码的码率接近于1,攻击者构造了一个Goppa码区分器,很容易将随机码和Goppa码区分。区分器攻击的基本思想就是利用公共码和随机码的可区分性,区分密码方案所采用的代码是否为随机码,从而达到攻击的目的。 4)侧信道攻击。侧信道攻击通过检测密码方案实现过程中的一些物理现象,例如软件的运行时间或硬件的功耗来分析密码方案,以达到攻击的目的。Strenzke等[55]提出对McEliece公钥体制的侧信道攻击,Strenzke指出在解密过程中采用Patterson译码算法,时间功耗攻击是非常有效的,在密钥生成时能量攻击可以对校验矩阵的构造造成极大的破坏。如果编码的支撑向量已知,则在密钥生成过程中的奇偶校验矩阵构造中,通过分析不可约Goppa多项式的求值所带来的功耗,可以得到不可约Goppa多项式。对Patterson译码算法的定时攻击使用了错误定位多项式的次数恰好等于接收到单词中的错误数量这一事实。因此,为了得到明文,可以尝试请求对伪密码文本进行解密。Shoufan等[56]在文献[55]分析的基础上,对原始攻击做了进一步分析。Heyse等[57]分析了解密过程中可逆矩阵和置换矩阵的功耗攻击。Molter等[58]用所测量的功耗轨迹图峰值信息取代时序信息,对时序分析和错误注入相结合的攻击方法进行了研究。Chen等[59]提出一种分析基于编码的差分攻击功率的新型方法,该攻击采用的方法是计算硬件实现上选定的基于QC-MDPC码单密文的特征值。Chen等[60]采用与校验矩阵大小相同的Boolean的方法隐藏信息,进一步对密钥和特征值进行优化。Santini等[61]研究了基于稀疏对偶校验码的密码方案,在采用循环校验码的情况下,通过新的侧信道攻击方法恢复出比目前已知的其他攻击更多的信息。 5)其他攻击。由于McEliece公钥密码体制存在延展性[62],攻击者可以通过观察两个密文之间的关联性来确定错误向量。另外一种反应攻击[63]则是对密文加以修改,合法接收方收到修改密文,攻击者观察其反应。消息在信道传递的过程中,攻击者非法截取密文,然后对截取的密文添加更多的错误位,如果接收方译码失败,表明修改的错误位在原来的错误向量e上。攻击者利用这种方法,最多重复k次就能恢复一个没有错误的信息。 目前,基于编码的体制主要采用两类具有快速译码算法的码:秩度量码和汉明度量码。其存在的共同问题是密钥尺寸太大,为了减小密钥尺寸,推动基于编码加密体制的实用化进程,可以从以下几方面完善密码体制。 1)密码体制中编码理论方面还值得继续研究,例如研究码的结构特征,寻找新的性能更优、安全性更强的码,将编码理论中的码应用到密码学中;改进译码算法,降低译码复杂度,提高译码效率;研究如何构造随机性更强的公钥矩阵,使攻击者不能在公钥中得到生成矩阵或校验矩阵。 2)尝试在原有方案的基础上对结构进行改变,减少密钥长度,提高密码方案的实用化。 3)研究基于编码加密方案的软硬件实现,优化算法的能耗,提高实现效率,做好抗量子密码的实用化准备。 4)研究分析目前存在的攻击的共性,预测还可能存在的攻击,针对这些攻击,设计更加完善的密码方案。 目前,后量子密码标准化进程正稳步推进,后量子密码方案已完成第二轮评选,我国也有序推进后量子算法标准化进程,基于编码的后量子密码方案已成为研究的热点。McEliece密码方案是很早的基于编码的方案,具有抗量子计算的优点,在量子计算机大规模投入使用之前,亟待研究基于编码的密码方案。后量子密码评选方案中包括公钥加密、密钥封装、数字签名和密钥交换。本文综述了基于汉明度量编码和基于秩度量编码加密方案的发展历程及研究现状,介绍了基于McEliece方案进行结构改变的方案,分析了目前对基于编码加密方案主流的攻击类型。由于编码种类的多样性,本文仅对典型的编码进行了介绍,还有许多其他类型的编码没有进行详细概述。4 安全性分析
5 展望
6 结论