- 商用密碼算法原理與C語言實現(xiàn)
- 李子臣
- 2841字
- 2020-07-28 13:37:08
1.2 商用密碼的算法介紹
1.祖沖之序列密碼算法
祖沖之序列密碼算法,簡稱ZUC算法,由中國密碼學家自主設(shè)計,可用于數(shù)據(jù)機密性保護、完整性保護等。該算法在128比特初始密鑰和128比特初始變量的控制下輸出32比特字的密鑰流。
祖沖之序列密碼算法由線性反饋移位寄存器、比特重組、非線性函數(shù)F3個基本部分組成,成功結(jié)合了模231-1素域、模232域及模2高維向量空間3種不同代數(shù)范疇的運算,并且采用線性驅(qū)動加有限狀態(tài)自動機的經(jīng)典流密碼構(gòu)造模型。公開文獻表明,該算法具有很高的理論安全性,能夠有效抵抗目前已知的攻擊方法,具有較高的安全冗余。
祖沖之序列密碼算法于2011年被3GPP LTE采納為國際加密標準,即第四代移動通信加密標準;2012年被發(fā)布為國家密碼行業(yè)標準;2016年被發(fā)布為國家標準;2018年4月,國際標準化組織信息安全分技術(shù)委員會(ISO/IEC JTC1/SC27)國際網(wǎng)絡(luò)安全標準化工作會議在湖北省武漢市東湖國際會議中心召開,我國提出的《祖沖之序列密碼算法以補篇形式納入ISO/IEC18033—4》等密碼算法標準提案獲得立項,我國密碼專家被任命為項目報告人。
目前,我國正推動256比特版本的祖沖之序列密碼算法進入第五代移動通信加密標準,這一版本的算法采用256比特初始密鑰與184比特初始變量,可產(chǎn)生32/64/128比特三種不同長度的認證標簽,從而保障后量子時代較長時期內(nèi)的移動通信機密性與完整性。祖沖之序列密碼算法的成功設(shè)計與標準國際化,提高了我國在移動通信領(lǐng)域的國際地位和影響力,對我國移動通信產(chǎn)業(yè)和商用密碼產(chǎn)業(yè)發(fā)展具有重大而深遠的意義。
2.SM2橢圓曲線公鑰密碼算法
20世紀80年代,我國密碼學者開始研究橢圓曲線密碼,取得了很多成果。2007年,國家密碼管理局組織密碼專家成立專門的研究小組,開始起草我國自己的橢圓曲線公鑰密碼算法標準。歷時3年,完成了SM2橢圓曲線公鑰密碼算法標準的制定。2010年12月,國家密碼管理局發(fā)布SM2橢圓曲線公鑰密碼算法,算法的主要內(nèi)容包括3部分:數(shù)字簽名算法、密鑰協(xié)商算法和加密/解密算法。該算法推薦使用素域為256比特的橢圓曲線。與RSA公鑰密碼算法相比,SM2橢圓曲線公鑰密碼算法具有安全性高、密鑰短、速度快等優(yōu)勢。256比特的SM2橢圓曲線公鑰密碼算法密碼強度已超過RSA-2048。SM2橢圓曲線公鑰密碼算法使用的密鑰長度通常為192~256比特,而RSA公鑰密碼算法通常需要1024~2048比特。在同等安全強度下,SM2橢圓曲線公鑰密碼算法在用私鑰簽名時,速度遠超RSA公鑰密碼算法。
2012年,SM2橢圓曲線公鑰密碼算法成為國家商用密碼標準(GM/T 0003—2012)。2016年,成為國家密碼標準(GB/T 32918—2016)。2013年,國際標準化組織決定將SM2橢圓曲線公鑰密碼算法以補篇形式納入標準,由我國專家擔任該項目的聯(lián)合編輯。2017年4月哈密爾頓會議上,包含SM2橢圓曲線公鑰密碼算法和SM9標識密碼算法在內(nèi)的ISO/IEC 14888-3進入補篇項目國際標準草案階段。2018年11月,以正文形式隨ISO/IEC 14888-3:2018《信息安全技術(shù)帶附錄的數(shù)字簽名第3部分:基于離散對數(shù)的機制》新版發(fā)布。
對我國公鑰密碼走向應用,形成自主知識產(chǎn)權(quán)的產(chǎn)品來說,SM2橢圓曲線公鑰密碼算法可謂是一場“技術(shù)雨”,它不僅提供加密/解密功能,還提供數(shù)字簽名功能和密鑰協(xié)商功能,可以方便地服務于電子政務、移動支付、電子商務及辦公自動化系統(tǒng)等。
3.SM3密碼雜湊算法
SM3密碼雜湊算法可用于數(shù)字簽名、完整性保護、安全認證、口令保護等。SM3密碼雜湊算法消息分組長度為512比特,輸出摘要長度為256比特。SM3密碼雜湊算法在MD(Message Digest)結(jié)構(gòu)的基礎(chǔ)上,新增了16步全異或操作、消息雙字介入、加速雪崩效應的P置換等多種設(shè)計技術(shù),能夠有效避免高概率的局部碰撞,有效抵抗強碰撞性的差分攻擊、弱碰撞性的線性攻擊和比特追蹤攻擊等密碼攻擊方法。SM3密碼雜湊算法能夠有效抵抗目前已知的攻擊方法,具有較高的安全冗余。在實現(xiàn)上,S M 3密碼雜湊算法運算效率高,可靈活使用,支持跨平臺的高效實現(xiàn),具有較好的實現(xiàn)效能。
SM3密碼雜湊算法于2012年成為密碼行業(yè)標準(GM/T 0004—2012)。2016年,成為國家標準(GB/T 32905—2016)。2014年,我國提出將SM3密碼雜湊算法納入國際標準化組織和國際電工委員會(ISO/IEC)標準的意見。2017年4月,SM3密碼雜湊算法進入最終國際標準草案(FDIS)階段。2018年10月,含有我國SM3密碼雜湊算法的ISO/IEC 10118-3:2018《信息安全技術(shù)雜湊函數(shù)第3部分:專用雜湊函數(shù)》新版(第4版)由國際標準化組織發(fā)布,SM3密碼雜湊算法正式成為國際標準。
當前,S M 3密碼雜湊算法已成為我國電子認證、網(wǎng)絡(luò)安全通信、云計算與大數(shù)據(jù)安全等領(lǐng)域的基礎(chǔ)性密碼算法。截至2019年年底,支持SM3密碼雜湊算法的商用密碼產(chǎn)品已達2400多款,包括安全芯片、終端設(shè)備和應用系統(tǒng)等多種類型,預計2020年年底可達到3000余款,為促進商用密碼發(fā)展、保障我國網(wǎng)絡(luò)與信息安全發(fā)揮了巨大作用。
4.SM4分組密碼算法
隨著國際密碼標準制定活動的發(fā)展,國內(nèi)密碼學者越來越重視算法的設(shè)計與分析。為配合我國無線局域網(wǎng)鑒別和保密基礎(chǔ)結(jié)構(gòu)(Wireless LAN Authentication and Privacy Infrastructure,WAPI)的推廣應用,2006年國家密碼管理局發(fā)布我國自主研究設(shè)計的通用密碼算法,即SM4(原名SMS4)分組密碼算法。算法的分組長度為128比特,密鑰長度為128比特,加密算法和密鑰擴展算法都采用32輪非線性迭代結(jié)構(gòu),解密算法與加密算法相同,只是輪密鑰的使用順序相反,解密輪密鑰是加密輪密鑰的逆序。輪變換使用的模塊包括異或運算、8比特輸入8比特輸出的S盒,以及一個32比特輸入的線性置換。在密碼指標性能方面,SM4分組密碼算法的S盒設(shè)計已達到歐美分組密碼標準算法的水平,具有較高的安全特性。線性置換的分支數(shù)達到了最優(yōu),可以抵抗差分攻擊、線性攻擊、代數(shù)攻擊等。它具有算法速度快、實現(xiàn)效率高、安全性好等優(yōu)點,主要用于保護數(shù)據(jù)的機密性。
隨著我國密碼算法標準化工作的開展,2012年3月,SM4分組密碼算法成為密碼行業(yè)標準(GM/T 0002—2012)。2016年8月,成為國家標準(GB/T 32907—2016)。2016年10月,SC27會議專家組一致同意將SM4分組密碼算法納入ISO標準的學習期。2017年10月,在SC27會議上,SM4分組密碼算法的ISO/IEC 18033-3的補篇2《加密算法第3部分:分組密碼 補篇2》順利進入第1版補篇草案(PDAM)階段。
SM4分組密碼算法是用于無線局域網(wǎng)和可信計算系統(tǒng)的專用分組密碼算法,是我國制定WAPI標準的組成部分,同時也可以用于其他環(huán)境下的數(shù)據(jù)加密保護。
5.SM9標識密碼算法
2016年3月,國家密碼管理局發(fā)布SM9標識密碼算法。SM9標識密碼算法是另一種公鑰密碼算法,它是一組基于身份標識的公鑰密碼算法,也稱為標識密碼,包括數(shù)字簽名算法、密鑰交換協(xié)議和加密/解密算法。SM9標識密碼算法采用規(guī)模為256比特的橢圓曲線,以橢圓曲線上的對為工具,實現(xiàn)基于身份的密碼體制。對比傳統(tǒng)公鑰密碼體制,省去了證書管理。
該算法于2016年成為密碼行業(yè)標準(GM/T 0044—2016)。2017年4月哈密爾頓會議上,包含SM2橢圓曲線公鑰密碼算法和SM9標識密碼算法在內(nèi)的ISO/IEC 14888-3進入補篇項目國際標準草案階段。2018年11月,其也以正文形式隨ISO/IEC 14888-3:2018《信息安全技術(shù)帶附錄的數(shù)字簽名第3部分:基于離散對數(shù)的機制》新版發(fā)布。2018年4月,國際標準化組織信息安全分技術(shù)委員會(ISO/IEC JTC1/SC27)國際網(wǎng)絡(luò)安全標準化工作會議在湖北省武漢市東湖國際會議中心召開,我國提出的《SM9-IBE標識加密算法納入ISO/IEC 18033-5》《SM9-KA密鑰協(xié)商協(xié)議納入ISO/IEC 11770-3》等密碼算法標準提案獲得立項,我國密碼專家被任命為項目報告人。