王眾 韓益亮
摘 要:基于編碼的密碼體制可以有效地抵抗量子計(jì)算攻擊,具有較好的可操作性以及數(shù)據(jù)壓縮能力,是后量子時(shí)代密碼方案的可靠候選者之一。針對(duì)量子時(shí)代中計(jì)算機(jī)數(shù)據(jù)的安全保密問(wèn)題,對(duì)編碼密碼中的Niederreiter密碼方案改進(jìn)版進(jìn)行深入研究,提出了一種與雙公鑰加密方式相結(jié)合的密碼方案。所提方案的安全性相比Niederreiter方案改進(jìn)版以及基于準(zhǔn)循環(huán)低密度奇偶校驗(yàn)碼(QC-LDPC)的Niederreiter雙公鑰加密方案得到提升,在密鑰量方面相比傳統(tǒng)Niederreiter密碼方案的公鑰量至少下降了32%,相比基于QC-LDPC碼的Niederreiter雙公鑰加密方案也有效下降,在量子時(shí)代保證計(jì)算機(jī)數(shù)據(jù)安全表現(xiàn)出較強(qiáng)的可靠性。
關(guān)鍵詞:編碼密碼;Niederreiter密碼體制;系統(tǒng)碼;安全性分析;效率分析
Abstract: The code-based cryptosystem can effectively resist quantum computing attacks with good operability and data compression capability, and is one of the reliable candidates for the post-quantum era cryptographic scheme. Aiming at the security and confidentiality of computer data in the quantum era, the in-depth study of an improved Niederreiter cryptographic scheme in code-based cryptography was carried out, and a cryptographic scheme with combination of dual public-key encryption method was proposed. The security of the proposed scheme was improved compared with the improved Niederreiter scheme and the Niederreiter dual public-key encryptographic scheme based on Quasi-Cyclic Low-Density Parity-Check (QC-LDPC) code. The amount of keys in the scheme is at least 32% lower than that of traditional Niederreiter scheme, and is also effectively reduced compared with that of the Niederreiter dual public-key encryptographic scheme based on QC-LDPC code, which shows the strong reliability for ensuring computer data security in the quantum age.
Key words: code-based cryptography; Niederreiter cryptosystem; system code; security analysis; efficiency analysis
0 引言
量子技術(shù)的概念近來(lái)越來(lái)越多地進(jìn)入人們的視線,量子技術(shù)的計(jì)算能力在給人們帶來(lái)計(jì)算性能很強(qiáng)的并行計(jì)算、解決許多棘手問(wèn)題的同時(shí),也構(gòu)成了不容忽視的安全威脅。密碼學(xué)中的傳統(tǒng)公鑰密碼在量子計(jì)算機(jī)出現(xiàn)后不會(huì)再像現(xiàn)在那么安全可靠,比如基于經(jīng)典數(shù)論理論的RSA(Rivest-Shamir-Adleman)公鑰加密算法、橢圓曲線密碼(Elliptic Curve Cryptography, ECC)、屬性基密碼等,將會(huì)在量子計(jì)算機(jī)出現(xiàn)后不再可靠[1]。目前可以較為有效地抵抗量子計(jì)算攻擊的密碼體制主要有以下四種:基于編碼的密碼體制、基于格的密碼體制LWE(Learning With Errors)、基于Hash函數(shù)的密碼體制以及基于多變量的密碼體制?;诰幋a的密碼體制具有較高的計(jì)算效率以及可操作性,是量子時(shí)代一種可靠的安全選擇。
基于編碼的公鑰密碼體制是在有限域上多元多項(xiàng)式環(huán)上定義和運(yùn)算的,此類密碼體制的算法核心是對(duì)一種糾錯(cuò)碼C的應(yīng)用,主要的特征即為添加一個(gè)錯(cuò)誤到碼字中或根據(jù)碼C的校驗(yàn)矩陣計(jì)算伴隨式。1978年,美國(guó)科學(xué)家McEliece[2]第一個(gè)運(yùn)用這種方法設(shè)計(jì)公鑰密碼算法,提出首個(gè)基于編碼理論的公鑰加密方案,其中私鑰為一個(gè)二元不可約Goppa碼,公鑰為該碼的生成矩陣被隨機(jī)化處理之后的結(jié)果。1986年,Niederreiter[3]提出了著名的基于Goppa碼的Niederreiter密碼體制。該方案的安全性被證明是與McEliece體制是相同的,Niederreiter體制的主要思想是從另一個(gè)角度利用隨機(jī)線性碼的譯碼困難問(wèn)題,該方案隱藏的是Goppa碼的校驗(yàn)矩陣,Niederreiter體制相比McEliece體制,公鑰存儲(chǔ)量有所下降,而且具有更高的傳信率。2018年,劉相信等[4]提出了一種對(duì)Niederreiter公鑰密碼系統(tǒng)的改進(jìn),可以隱藏明文的漢明重量來(lái)有效抵抗信息集譯碼(Information Set Decoding, ISD)攻擊等針對(duì)編碼密碼體制的攻擊,但是其安全性仍然可以在保障效率的前提下得到進(jìn)一步提升。到目前的研究階段,基于編碼理論的公鑰密碼學(xué)的研究重點(diǎn)主要放在了對(duì)碼的選擇上,以保證安全性的同時(shí),提高實(shí)用性,降低方案的密鑰尺寸,由最開(kāi)始的Goppa碼、Reed-Solomon碼[5],到現(xiàn)在的準(zhǔn)循環(huán)中密度奇偶校驗(yàn)(Quasi-Cyclic Medium-Density Parity-Check, QC-MDPC)碼[6]、低密度奇偶校驗(yàn)(Low Density Parity Check, LDPC)碼[7]以及準(zhǔn)循環(huán)低密度奇偶校驗(yàn)(Quasi-Cyclic Low-Density Parity-Check, QC-LDPC)碼[8]等,通過(guò)不斷優(yōu)化碼字的選擇,編碼密碼的公鑰量切實(shí)得到有效減少,但是安全性并沒(méi)有得到明顯的提升。
雙公鑰的思想是對(duì)明文進(jìn)行二次加密,這種方法可以很好地提高公鑰密碼體制的安全性。2008年,張穎等[9]就曾利用雙公鑰對(duì)McEliece體制進(jìn)行改進(jìn),使安全性有較好的提升,但是畢竟使用了雙公鑰的方式加密,會(huì)使得密鑰量增加,實(shí)用性不強(qiáng)。2016年,李沖等[10]提出了基于QC-LDPC碼的雙公鑰Niederreiter密碼方案,由于QC-LDPC碼的采用,能夠使得雙公鑰方案的密鑰量有所下降,安全性有較高提升,但是,密鑰量和安全性仍有較大的提升空間。本文嘗試將Niederreiter體制的改進(jìn)版與雙公鑰的加密方式相結(jié)合,并采用系統(tǒng)碼,在增加方案安全性的同時(shí),保證有效的實(shí)用性。
1 相關(guān)工作
1.1 SDP問(wèn)題
校驗(yàn)子譯碼問(wèn)題(Syndrome Decoding Problem, SDP) 給定一個(gè)(n,k)的線性碼,它的最小漢明距離為d,該碼的校驗(yàn)矩陣為H∈F(n-k)×n2,它的糾錯(cuò)能力為t且t滿足方程d=2t+1。當(dāng)給定一個(gè)向量v∈F(n-k)×n2時(shí),尋找一個(gè)錯(cuò)誤向量e∈Fn2,它的漢明重量要小于等于t,且與向量v以及矩陣H滿足方程v=eHT,尋找錯(cuò)誤向量e這個(gè)問(wèn)題已被證明為NP困難問(wèn)題[11]。
通過(guò)上述對(duì)Niederreiter密碼方案改進(jìn)版的闡述,可以發(fā)現(xiàn)許多針對(duì)Niederreiter方案的攻擊方法例如像ISD攻擊等的代價(jià)由于對(duì)重量t進(jìn)行隱藏后變得較大,正是由于t的選擇變得靈活后,那么在選碼時(shí)便可選擇適當(dāng)?shù)木S度來(lái)避免密鑰量過(guò)大,具體分析請(qǐng)參考文獻(xiàn)[4],但文獻(xiàn)[4]若采用雙公鑰的加密方法能進(jìn)一步加強(qiáng)方案的安全性,并通過(guò)選取系統(tǒng)碼來(lái)進(jìn)行構(gòu)造,避免方案的密鑰量過(guò)大,增加方案的實(shí)用性。
2 基于改進(jìn)版Niederreiter的雙公鑰密碼方案
2.1 參數(shù)生成
選取兩個(gè)二元即約系統(tǒng)碼G1、G2維度分別為(n,k)和(n-k,k),糾錯(cuò)能力分別為t1、t2,兩個(gè)碼對(duì)應(yīng)的校驗(yàn)矩陣為(n-k)×n維的H1和(n-2k)×(n-k)維的H2,且H2可以拆分為H2=H3+H4,其中矩陣H3、H4為隨機(jī)拆分得到的。兩個(gè)碼的譯碼算法為β1Ht()和β2Ht()。隨機(jī)選取一個(gè)(n-k)×(n-k)維可逆矩陣S,與一個(gè)n×n的置換矩陣T,并計(jì)算H=SH1T。再隨機(jī)選擇三個(gè)(n-2k)×(n-2k)的可逆矩陣A、B、C,以及(n-k)×(n-k)維的置換矩陣Q,并計(jì)算H′=AH3Q,H″=BH4Q,H=CH2Q。公開(kāi)密鑰即為(H,H′,H″,H,t1,t2),私鑰即為(S,T,A,B,C,Q, β1Ht(), β2Ht())。
2.2 加密過(guò)程
首先利用系統(tǒng)碼G1所產(chǎn)生的公鑰H對(duì)n維明文m進(jìn)行第一步加密,產(chǎn)生密文c1,c1=mHT。此處注意,在對(duì)G2進(jìn)行選擇時(shí),它的糾錯(cuò)能力t2需要滿足t2>wt(c1),以方便后面的譯碼解密,且這一點(diǎn)在選碼時(shí)易于實(shí)現(xiàn)。
完成第一步后,進(jìn)行第二步加密。將c1看作新的明文,用G2所產(chǎn)生的一系列公鑰對(duì)其進(jìn)行加密。首先將進(jìn)行拆分,c1=c2+c3,計(jì)算x1=c2H′T,x2=c2H″T,x3=c3HT,將(x1,x2,x3)作為密文,發(fā)送給接收者。
2)完成第一步解密得到c1后,第二步解密就是普通的Niederreiter密碼體制的譯碼解密。運(yùn)用私鑰S,T和碼G1的譯碼算法β1Ht()進(jìn)行解密,具體如下:
利用譯碼算法β1Ht()對(duì)mTTH1T譯碼即可得到mTT,利用私鑰T進(jìn)行運(yùn)算得到m=mTTTT-1。
從上述的加解密過(guò)程可以看出,加密時(shí),先對(duì)明文進(jìn)行傳統(tǒng)的Niederreiter加密,得到密文后,采用改進(jìn)版Niederreiter再進(jìn)行加密。解密時(shí),先對(duì)改進(jìn)版Niederreiter解密得到第一次加密的密文,再利用傳統(tǒng)的Niederreiter解密方式進(jìn)行解密得到最后的明文即可。
3 安全性分析
3.1 直接攻擊
所謂直接攻擊,是指在擁有密文c和公鑰H′后,通過(guò)直接求解方程c=mH′T來(lái)求得明文的攻擊方法,但是Niederreiter密碼體制所依賴的是SDP校驗(yàn)子譯碼問(wèn)題,該問(wèn)題為NP困難問(wèn)題,因此直接通過(guò)方程來(lái)求解明文m是十分困難的。本文方案采用了雙公鑰的加密方法,使得破解的工作量至少翻倍,又由于第二次加密采用了改進(jìn)的Niederreiter密碼體制,使得安全性又有了新的提升。
3.2 直接譯碼攻擊
直接譯碼攻擊是指通過(guò)公鑰H,H′,H″,H得到S,H1,T和A,H3與B,H4以及C,H2和Q,然后通過(guò)碼的快速譯碼算法得到明文m來(lái)攻破該體制。由矩陣的相關(guān)理論可以得知,矩陣的分解不是唯一的,比如像從矩陣H中分解出S,H1,T,它們各自可能的個(gè)數(shù)分別為2(n-2k)2∏n-2ki=1(1-2-i)、1t2nt2和(n-k)!,由此可見(jiàn),當(dāng)n和t的取值比較大時(shí),矩陣可能的數(shù)目十分巨大,這導(dǎo)致敵手在多項(xiàng)式時(shí)間內(nèi)是難以通過(guò)公鑰分解出私鑰的,而本文方案有4個(gè)公鑰矩陣,工作量會(huì)變?yōu)?倍,相比Niederreiter方案改進(jìn)版[4]的三個(gè)公鑰矩陣和基于QC-LDPC碼的Niederreiter雙公鑰加密方案[11]的兩個(gè)矩陣,工作量加倍,安全性增強(qiáng)。
3.3 信息集譯碼(ISD)攻擊
李元興等[12]指出,可以通過(guò)解線性方程組的方法來(lái)攻破Niederreiter密碼體制。所謂信息集譯碼攻擊即ISD攻擊是指:給定明文m=(m1,m2,…,mn),以及加密方程c=mHT,任意選擇明文m=(m1,m2,…,mn)中的k個(gè)分量,并將其刪除,并相應(yīng)刪除公鑰矩陣H中的k列,那么可得到新的方程即為c=m1×(n-k)HT(n-k)×(n-k),此時(shí),若矩陣HT(n-k)×(n-k)可逆,那么可求得m1×(n-k)=c×HT-1(n-k)×(n-k),然后查看wt(m1×(n-k))是否為公開(kāi)的漢明重量t,若為t,則在相應(yīng)的k個(gè)位置上補(bǔ)零即可得到最后的明文m。當(dāng)矩陣HT(n-k)×(n-k)不可逆或者最后求得的m1×(n-k)的漢明重量不符合要求時(shí),需要重新選擇矩陣HT(n-k)×(n-k)進(jìn)行以上運(yùn)算。ISD攻擊對(duì)于編碼密碼來(lái)說(shuō)是一種較為強(qiáng)力的攻擊方法,并且還被不斷深化與研究[13-17]。在文獻(xiàn)[18]中,已經(jīng)證明采用雙公鑰方式進(jìn)行兩次普通Niederreiter加密的方法可以有效抵抗此類攻擊,攻擊成功的工作因子為W=[(n-k)3Ckn-k-t2/Ckn]·[(n-2k)3Ckn/Ckn-t1],因此當(dāng)n,t選取較大時(shí)攻擊者在多項(xiàng)式時(shí)間內(nèi)難以攻破雙公鑰的Niederreiter密碼體制。
本文采用雙公鑰的Niederreiter加密方式,在第一次加密時(shí)是采用的普通的Niederreiter密碼方案,第二次加密時(shí)則是采用的改進(jìn)的Niederreiter密碼方案。改進(jìn)的Niederreiter密碼體制的最大特點(diǎn)就是對(duì)加密的消息c1的漢明重量進(jìn)行了隱藏,將其進(jìn)行了拆分,成為了兩部分c1=c2+c3,并相應(yīng)地將校驗(yàn)矩陣H2進(jìn)行了拆分H2=H3+H4,與拆分后的明文進(jìn)行加密運(yùn)算。采用ISD攻擊的一個(gè)關(guān)鍵所在就是要掌握明文的漢明重量,這樣才能確認(rèn)是否攻擊成功。改進(jìn)的Niederreiter密碼體制加密后的密文為xi=ciHT的形式,并非c1,那么ci的漢明重量也就更加靈活,取值范圍從0到n-k,那么攻擊者也就不能判斷wt(xiHT-1(n-2k)×(n-2k))是否符合要求,因此,對(duì)于一個(gè)漢明重量為ti的加密信息ci=(c1,c2,…,cn-k),右乘一個(gè)(n-k)×(n-2k)的矩陣HT,相當(dāng)于在HT中選取相應(yīng)的ti行,而0≤ti≤n-k,因此,采用解線性方程組攻擊第二次加密的代價(jià)為C0n-k+C1n-k+C2n-k+…+Cn-k-1n-k+Cn-kn-k=2n-k。綜上可知,ISD攻擊針對(duì)基于改進(jìn)版Niederreiter的雙公鑰密碼方案的工作因子為W=2n-k·[(n-k)3Ckn-k-t2/Ckn],相比基于QC-LDPC碼的雙公鑰Niederreiter密碼方案[11]有較大提升。Niederreiter改進(jìn)版[4]只有一次加密的過(guò)程,它的工作因子為C0n-k+C1n-k+C2n-k+…+Cn-k-1n-k+Cn-kn-k=2n-k,從上面對(duì)本文方案工作因子的分析可以看出,二次加密的信息為第一次加密的密文,因此安全性較其有較大的提升。
4 效率分析
4.1 系統(tǒng)碼優(yōu)勢(shì)
采用雙公鑰的加密方式,可以有效地提高系統(tǒng)的安全性;但是也會(huì)存在一個(gè)較為明顯的弊端,就是密鑰量的增加,而密鑰量對(duì)于基于編碼的密碼體制而言,本身就是一個(gè)缺陷。Niederreiter密碼體制在相同的安全性下相比McEliece體制的密鑰量有所減少;但是相對(duì)傳統(tǒng)的公鑰密碼像背包密碼等,它的密鑰量還是很大。如何有效提高編碼密碼體制的效率,減小公鑰量是個(gè)至關(guān)重要的問(wèn)題。目前基于編碼理論的公鑰密碼學(xué)研究的重點(diǎn)主要放在了對(duì)碼的選擇上,由最開(kāi)始的Goppa碼、Reed-Solomon碼,到現(xiàn)在的QC-MDPC碼、LDPC(Low Density Parity Check)碼以及QC-LDPC碼等,來(lái)減少編碼密碼的公鑰量。本文方案就采用系統(tǒng)碼來(lái)有效減少密鑰量。
系統(tǒng)碼的生成矩陣或者校驗(yàn)矩陣,可以通過(guò)一系列行列變換變換為G=(Ik|Q)或H=(-QT|In-k),其中Q為一個(gè)k×(n-k)階的矩陣,那么它的轉(zhuǎn)置即為(n-k)×k階矩陣,而矩陣Ik,與In-k均為單位矩陣,由此,可以看出,系統(tǒng)碼在存儲(chǔ)時(shí),只需對(duì)k×(n-k)階的矩陣Q或(n-k)×k階矩陣-QT(負(fù)號(hào)代表矩陣中的元素為其逆元)進(jìn)行存儲(chǔ)即可,若不采用系統(tǒng)碼構(gòu)造,則需對(duì)k×n階矩陣或(n-k)×n階矩陣進(jìn)行存儲(chǔ)。在本文方案中,有四個(gè)公開(kāi)的密鑰矩陣H、H′、H″、H,除了矩陣H的維度為(n-k)×n階,其余三個(gè)矩陣均為(n-2k)×(n-k)階,在采用系統(tǒng)碼后,對(duì)H進(jìn)行存儲(chǔ)的維度為(n-k)×k階,對(duì)H進(jìn)行存儲(chǔ)的維度為(n-2k)×k階,而對(duì)H′、H″進(jìn)行存儲(chǔ)的維度與H的維度不同,是因?yàn)镠由系統(tǒng)碼G2的校驗(yàn)矩陣H2通過(guò)行列變換得到的,可以節(jié)約存儲(chǔ),而H′、H″是由系統(tǒng)碼G2的校驗(yàn)矩陣H2進(jìn)行拆分得到的H3、H4通過(guò)行列變換得到,H3、H4未必滿足系統(tǒng)碼的性質(zhì),因此H′、H″的維度仍為(n-2k)×(n-k)階。以n=1024,k=1024-10t,t=55為例,普通Niederreiter密碼體制所存儲(chǔ)公鑰矩陣的尺寸為p1=(n-k)×n=56.32×104,而本文的雙公鑰Niederreiter密碼方案的公鑰尺寸為p2=(n-k)×k+(n-2k)×k+2×(n-2k)×(n-k)=38.03×104。由該例子可以看出,本文的雙公鑰Niederreiter密碼方案由于系統(tǒng)碼的采用不僅保證了安全性的提升,并有效降低了32%的公鑰量。表1為本文方案密鑰尺寸與改進(jìn)版Niederreiter密碼方案進(jìn)行比較。
改進(jìn)版Niederreiter由于可對(duì)重量t進(jìn)行隱藏,因此只需選取一個(gè)維度較小的碼字,而本文方案第二步采用的是改進(jìn)版Niederreiter,因此可以選擇維度較小的系統(tǒng)碼,第一步選擇一個(gè)符合第2章描述的系統(tǒng)碼即可,因此相比改進(jìn)版Niederreiter,密鑰量只多在一個(gè)系統(tǒng)碼上。由表1可以看出,本文方案由于采用的是系統(tǒng)碼,因此選擇兩個(gè)碼后,密鑰尺寸會(huì)有一定增加,但是在合理范圍內(nèi),并獲得更高的安全性。具體的安全性優(yōu)勢(shì)已在第3章中進(jìn)行了分析。
4.2 重量t優(yōu)勢(shì)
本文的雙公鑰Niederreiter密碼方案另一個(gè)優(yōu)勢(shì)特點(diǎn)就是在第二步加密時(shí)采用的改進(jìn)版Niederreiter密碼方案,如3.3節(jié)所述,它可以很好地將加密信息的漢明重量進(jìn)行隱藏,所達(dá)到的效果就是使得ISD攻擊的代價(jià)對(duì)于(n,k,t)維的碼為C0n+C1n+C2n+…+Cn-1n+Cnn=2n,這相比傳統(tǒng)Niederreiter密碼方案在安全性方面有很大的提升。為了提高方案的使用效率,就可以考慮在選碼時(shí)降低漢明重量t的選擇,沒(méi)有必要再去選擇t過(guò)大的碼,而可以達(dá)到同樣的安全性要求,這就相比基于QC-LDPC碼的雙公鑰Niederreiter密碼方案[10]在選擇碼時(shí)可以減小碼的維度,以達(dá)到降低公鑰尺寸的目的。將第二步加密時(shí)的選碼與基于QC-LDPC碼的雙公鑰Niederreiter密碼方案[10]的第二步選碼進(jìn)行比較,結(jié)果如表2所示。
由表2可以看出,本文方案相比QC-LDPC碼方案可以選擇較小維度的碼字以達(dá)到同QC-LDPC碼方案同樣的安全級(jí)別,使得公鑰的尺寸有很大幅度的下降,如表1中在80b安全級(jí)下,本文方案密鑰尺寸為5040b而QC-LDPC碼方案為28408b。
由于最后的密文是由G2碼的公鑰產(chǎn)生,因此G1碼在選擇時(shí)也可以選擇較小的漢明重量t,而不會(huì)影響到整個(gè)雙公鑰體系的安全,但是G1、G2碼的選擇由于解密時(shí)還要考慮譯碼問(wèn)題,如2.2節(jié)所述,需要結(jié)合實(shí)際情況進(jìn)行選擇。結(jié)合4.1節(jié)的分析,可以看出本文的雙公鑰Niederreiter密碼方案不僅安全性得到較大的提升,而且在公鑰尺寸這兩處的表述有疑問(wèn),“公鑰尺寸”此處是否應(yīng)該為“效率”,因?yàn)楹竺嬉呀?jīng)提及了“公鑰尺寸”是下降的。回復(fù):直接刪除“公鑰尺寸方面也有一定的提升”直接連接“公鑰尺寸相比……”一句方面也有一定的提升,公鑰尺寸相比基于QC-LDPC碼的雙公鑰Niederreiter密碼方案有效降低下降這處的表述不嚴(yán)謹(jǐn),降低是否應(yīng)為下降?請(qǐng)明確,相比傳統(tǒng)的Niederreiter密碼方案至少下降了32%,能夠在更多的場(chǎng)景中有效運(yùn)用。
5 結(jié)語(yǔ)
基于編碼的密碼體制是抗量子計(jì)算時(shí)代的優(yōu)良候選者之一,雙公鑰的加密方式旨在增加密碼方案的安全性。本文對(duì)改進(jìn)版Niederreiter密碼方案以及雙公鑰加密方式進(jìn)行深入研究,將二者進(jìn)行結(jié)合,并采用系統(tǒng)碼,提出了一個(gè)雙公鑰Niederreiter密碼方案。本文方案在安全性方面相比改進(jìn)版Niederreiter得到顯著提升,可以良好地抵抗ISD等針對(duì)編碼密碼體制的攻擊。本文方案在公鑰量方面,相比Niederreiter密碼方案至少下降了32%,而相比基于QC-LDPC碼的雙公鑰Niederreiter密碼方案也有效降低。優(yōu)良的性質(zhì)使得本文方案在今后的抗量子密碼時(shí)代能夠?yàn)橛?jì)算機(jī)安全提供可靠的安全保障,但是需要注意的一點(diǎn)便是在選擇系統(tǒng)碼時(shí)要結(jié)合實(shí)際情況以及應(yīng)用場(chǎng)景選擇合適的參數(shù),以保證方案的正確性。
參考文獻(xiàn) (References)
[1] RIVEST R L, SHAMIR A, ADLEMAN L. A method for obtaining digital signatures and public-key cryptosystems [J]. Communications of the ACM, 1978, 21(2): 120-126.
[2] McELIECE R J. A public-key cryptosystem based on algebraic coding theory [J]. DSN Progress Report, 1978, 42(44): 114-116.
[3] NIEDERREITER H. Knapsack-type cryptosystems and algebraic coding theory [J]. Problems of Control and Information Theory, 1986, 15(2): 159-166.
[4] 劉相信,楊曉元.Niederreiter公鑰密碼方案的改進(jìn)[J].計(jì)算機(jī)應(yīng)用,2018,38(7):1956-1959.(LIU X X, YANG X Y. Improvement of the Niederreiter public key system [J]. Journal of Computer Applications, 2018, 38(7): 1956-1959.)
[5] 張俊.編碼的構(gòu)造與譯碼問(wèn)題及其在密碼學(xué)中的應(yīng)用[D].天津:南開(kāi)大學(xué),2014:23-39.(ZHANG J. The problem of coding construction and decoding and its application in cryptography [D]. Tianjin: Nankai University, 2014: 23-39.)
[6] 李澤慧,楊亞濤,李子臣.基于QC-MDPC碼的公鑰密碼方案設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用研究,2015,32(3):881-884.(LI Z H, YANG Y T, LI Z C. Design of public key cryptography based on QC-MDPC code [J]. Application Research of Computers, 2015, 32(3): 881-884.)
[7] 曹東,趙生妹,宋耀良.一種基于量子準(zhǔn)循環(huán)LDPC碼的McEliece公鑰密碼算法[J].南京郵電大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,31(2):64-68.(CAO D, ZHAO S M, SONG Y L. A McEliece public key cryptography algorithm based on quantum quasi-cyclic LDPC Code[J]. Journal of Nanjing University of Posts and Telecommunications (Natural Science Edition), 2011, 31(2): 64-68.)
[8] 王延麗.基于QC-LDPC碼的McEliece公鑰密碼體制研究[D].西安:西安電子科技大學(xué),2013:1-5.(WANG Y L. Research on McEliece public key cryptosystem based on QC-LDPC code [D]. Xian: Xidian University, 2013: 1-5.)
[9] 張穎,岳殿武.基于代數(shù)幾何碼的公鑰密碼體制[J].通信學(xué)報(bào),2008,29(6):75-81.(ZHANG Y, YUE D W. Public key cryptosystem based on algebraic geometry codes [J]. Journal on Communications, 2008, 29(6): 75-81.)
[10] 李沖,韓益亮.基于QC-LDPC碼的雙公鑰Niederreiter密碼方案[J].計(jì)算機(jī)應(yīng)用研究,2016,33(11):3446-3449.(LI C, HAN Y L. Double public key Niederreiter cryptography scheme based on QC-LDPC code [J]. Application Research of Computers, 2016, 33(11): 3446-3449.)
[11] 范武英,任方.基于校驗(yàn)子譯碼問(wèn)題的偽隨機(jī)序列研究綜述[J].西安郵電大學(xué)學(xué)報(bào),2017,22(2):1-6.(FAN W Y, REN F. Review of pseudo-random sequence based on syndrome decoding problem[J]. Journal of Xian University of Posts and Telecommunications, 2017, 22(2): 1-6.)
[12] 李元興,王新梅.關(guān)于代數(shù)碼Niederreiter公鑰密碼體制的安全性及參數(shù)優(yōu)化[J].電子學(xué)報(bào),1993,21(7):33-36.(LI Y X, WANG X M. On the security and parameter optimization of algebraic Niederreiter public key cryptography [J]. Acta Electronica Sinica, 1993, 21(7): 33-36.)
[13] PRANGE E. The use of information sets in decoding cyclic codes[J]. IRE Transactions on Information Theory, 1962, 8(5): 5-9.
[14] MAY A, OZEROV I. On computing nearest neighbors with applications to decoding of binary linear codes[C]// EUROCRYPT 2015: Proceedings of the 2015 Annual International Conference on the Theory and Applications of Cryptographic Techniques. Berlin: Springer, 2015: 203-228.
[15] 李夢(mèng)東,蔡坤錦,邵玉芳.信息集攻擊算法的改進(jìn)[J].密碼學(xué)報(bào),2016,3(5):505-515.(LI M D, CAI K J, SHAO Y F. An improved algorithm of information set decoding [J]. Journal of Cryptologic Research, 2016, 3(5): 505-515.)
[16] TORRES R C, SENDRIER N. Analysis of information set decoding for a sub-linear error weight [C]// PQCrypto2016: Proceedings of the 2016 International Workshop on Post-Quantum Cryptography. Berlin: Springer, 2016: 144-161.
[17] KACHIGAR G, TILLICH J P. Quantum information set decoding algorithms[C]// PQCrypto 2017: Proceedings of the 2017 International Workshop on Post-Quantum Cryptography. Berlin: Springer, 2017: 69-89.
[18] 楊磊鑫,杜偉章.利用雙公鑰的Niederreiter公鑰密碼體制的改進(jìn)[J].長(zhǎng)沙理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,7(4):74-77.(YANG L X, DU W Z. Improvement of Niederreiter public key cryptosystem using double public key [J]. Journal of Changsha University of Science and Technology (Natural Science), 2010, 7(4): 74-77.)