天天看點

SMS4 加解密算法

SMS4算法是在國内廣泛使用的WAPI無線網絡标準中使用的加密算法,是一種32輪的疊代非平衡Feistel結構的分組加密算法,其密鑰長度和分組長度均為128。SMS4算法的加解密過程中使用的算法是完全相同的,唯一不同點在于該算法的解密密鑰是由它的加密密鑰進行逆序變換後得到的。

中文名

SMS4算法

分    類

無線網絡加密算法

1 簡介

2 SMS4算法流程

編輯

SMS4分組加密算法是中國無線标準中使用的分組加密算法,在2012年已經被國家商用密碼管理局确定為國家密碼行業标準,标準編号GM/T 0002-2012并且改名為SM4算法,與SM2橢圓曲線公鑰密碼算法,SM3密碼雜湊算法共同作為國家密碼的行業标準,在我國密碼行業中有着極其重要的位置。

SMS4算法的分組長度為128bit,密鑰長度也是128bit。加解密算法均采用32輪非平衡Feistel疊代結構,該結構最先出現在分組密碼LOKI的密鑰擴充算法中。SMS4通過32輪非線性疊代後加上一個反序變換,這樣隻需要解密密鑰是加密密鑰的逆序,就能使得解密算法與加密算法保持一緻。SMS4加解密算法的結構完全相同,隻是在使用輪密鑰時解密密鑰是加密密鑰的逆序。

S盒是一種利用非線性變換構造的分組密碼的一個元件,主要是為了實作分組密碼過程中的混淆的特性和設計的。SMS4算法中的S盒在設計之初完全按照歐美分組密碼的設計标準進行,它采用的方法是能夠很好抵抗內插補點攻擊的仿射函數逆映射複合法。

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

繼續閱讀