淺析SMS4加密算法

SMS4算法是在國(guó)內(nèi)廣泛使用的WAPI無線網(wǎng)絡(luò)標(biāo)準(zhǔn)中使用的加密算法,是一種32輪的迭代非平衡Feistel結(jié)構(gòu)的分組加密算法,其密鑰長(zhǎng)度和分組長(zhǎng)度均為128。SMS4算法的加解密過程中使用的算法是完全相同的,唯一不同點(diǎn)在于該算法的解密密鑰是由它的加密密鑰進(jìn)行逆序變換后得到的。

淺析SMS4加密算法

SMS4分組加密算法是中國(guó)無線標(biāo)準(zhǔn)中使用的分組加密算法,在2012年已經(jīng)被國(guó)家商用密碼管理局確定為國(guó)家密碼行業(yè)標(biāo)準(zhǔn),標(biāo)準(zhǔn)編號(hào)GM/T 0002-2012并且改名為SM4算法,與SM2橢圓曲線公鑰密碼算法,SM3密碼雜湊算法共同作為國(guó)家密碼的行業(yè)標(biāo)準(zhǔn),在我國(guó)密碼行業(yè)中有著極其重要的位置。

SMS4算法的分組長(zhǎng)度為128bit,密鑰長(zhǎng)度也是128bit。加解密算法均采用32輪非平衡Feistel迭代結(jié)構(gòu),該結(jié)構(gòu)最先出現(xiàn)在分組密碼LOKI的密鑰擴(kuò)展算法中。SMS4通過32輪非線性迭代后加上一個(gè)反序變換,這樣只需要解密密鑰是加密密鑰的逆序,就能使得解密算法與加密算法保持一致。SMS4加解密算法的結(jié)構(gòu)完全相同,只是在使用倫密鑰時(shí)解密密鑰是加密密鑰的逆序。

S盒是一種利用非線性變換構(gòu)造的分組密碼的一個(gè)組件,主要是為了實(shí)現(xiàn)分組密碼過程中的混淆的特性和設(shè)計(jì)的。SMS4算法中的S盒在設(shè)計(jì)之初完全按照歐美分組密碼的設(shè)計(jì)標(biāo)準(zhǔn)進(jìn)行,它采用的方法是能夠很好抵抗差值攻擊的仿射函數(shù)逆映射復(fù)合法。

128bit的明文被分為4個(gè)32bit的字,記成X0,X1,X2,X3。密文也分為4個(gè)字,記成Y0,Y1,Y2,Y3,這些明文會(huì)經(jīng)過32輪的迭代加密。假設(shè)32bit的中間變量為ki,0<=i<=31,則加密變換為:

淺析SMS4加密算法

無線局域網(wǎng)產(chǎn)品使用的SMS4加密算法”是國(guó)內(nèi)官方公布的第一個(gè)商用密碼算法,將開辟我國(guó)密碼管理的新航道。

我堅(jiān)信,在不久的將來,會(huì)有適合于更廣泛范圍應(yīng)用的、種類更加豐富的密碼算法公布于眾。有了公開的密碼算法,密碼和信息安全產(chǎn)品的研制者將有統(tǒng)一的標(biāo)準(zhǔn)和規(guī)范可以依循,可以將更多的精力放在產(chǎn) 品技術(shù)和服務(wù)質(zhì)量的競(jìng)爭(zhēng)上,密碼和信息安全產(chǎn)品的使用者將可以不在擔(dān)心由于產(chǎn)品的互操作性和可替代性差引起的另類安全問題,密碼研究者可以有更加令人興奮、更具現(xiàn)實(shí)意義和更具挑戰(zhàn)性的研究課題。具有政治意義的是我們向國(guó)際上展示了我國(guó)密碼研究的實(shí)力和密碼管理的膽略。

SMS4加密算法的公布將有利于應(yīng)用的安全,也將有利于滿足公眾更廣泛范圍的安全需求。有人曾因?yàn)槊艽a算法破解方面的成果而惶恐萬分,擔(dān)心電子簽名是否會(huì)因此失去法律效力,似乎天要塌下來一樣。其實(shí), 任何密碼研究者都十分明白,密碼設(shè)計(jì)與密碼分析是既互相對(duì)立,又相輔相成、互相促進(jìn)的兩個(gè)領(lǐng)域,任何密碼算法總有一天會(huì)被破解。公布算法可能會(huì)使這一天來得更早,但是有更多的人關(guān)心它,也就意味著有更多人會(huì)為此準(zhǔn)備者,也有更多的渠道、可以更加容易地了解它的安全狀態(tài),這樣也就不至于出現(xiàn)正在使用的算法被破解而使用者卻不知情的災(zāi)難性情況。