密碼學09(SM3算法)

SM3算法

SM3密碼摘要算法是中國國家密碼管理局2010年公佈的中國商用密碼雜湊算法標準。SM3算法適用於商用密碼應用中的數字簽名和驗證,接受文本大小要小於264位,並以512位爲單位分組,輸出長度爲256位的摘要
與SHA算法大體相似。

消息填充

使報文長度與448mod512同餘,最後64位存放報文長度。其中填充位數在1到512之間(注意沒有0,也就是說一個長爲448位的明文,需要再填充512位)。先填充一個1之後都填充0。

消息擴展

將消息分組B按以下方法擴展生成132個分組W0 ~ W67 和 W′0 ~ W′63。每個分組都爲32位。

壓縮函數

令A,B,C,D,E,F,G,H爲緩衝區每個都爲32位,SS1、SS2、TT1、TT2爲中間變量。
在這裏插入圖片描述在這裏插入圖片描述 處理完當前一輪分組後,拿緩衝區當前值繼續處理之後的分組,直到所有分組都處理結束。最後輸出的緩衝區中的值構成32 * 8 = 256位消息摘要。