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 位元。
**************************************************************************************