1. 程式人生 > >SM4分組密碼演算法

SM4分組密碼演算法

sm4分組密碼演算法

*************************************************************************************

SMS4 演算法是一個分組演算法,該演算法的分組長度為 128 位元,金鑰長度為 128 比 特,加密演算法與金鑰擴充套件演算法都採用 32 輪非線性迭代結構,解密過程與加密過程的 結構相同,只是輪金鑰的使用順序相反,解密演算法的輪金鑰是加密演算法的輪金鑰的逆 序。

*************************************************************************************

術語說明

S 盒 :S 盒為固定的 8 位元輸入 8 位元輸出的置換,記為 Sbox()。  

基本運算 : ⊕:32 位元異或  <<< i : 32 位元迴圈左移 i 位   

金鑰及金鑰參量 : 

加密金鑰長度128位元,表示為 0123 (,,,)M K MK MK MK MK = ,其中MKi(i=0,1,2,3)為 32 位元。

輪金鑰表示為 0 1 31 ( , ,..., ) rk rk rk ,其中 rki(i=0,…,31)為 32 位元。輪金鑰由加密金鑰生成。

系統引數 0123 (,,,) FK FK FK FK 和固定引數 0 1 31 ( , ,..., ) CK ck ck ck = 用於金鑰擴充套件演算法,其中 i FK (i=0,…,3)、 j ck (j=0,…,31)均為 32 位元。 

**************************************************************************************