1.一種應(yīng)用于信息安全的雜湊算法的硬件實(shí)現(xiàn)系統(tǒng),其特征在于,該系統(tǒng)包括:
消息輸入模塊,其用于按照SoC片內(nèi)互連總線協(xié)議獲取消息,并發(fā)送至消息填充模塊;
消息填充模塊,其用于滿(mǎn)足《SM3密碼雜湊算法》中5.2節(jié)的填充算法規(guī)范,將輸入的消息填充至512比特;
消息擴(kuò)展模塊,其用于滿(mǎn)足《SM3密碼雜湊算法》中5.3.2節(jié)的擴(kuò)展算法中W擴(kuò)展與W’擴(kuò)展的規(guī)范,對(duì)512比特消息進(jìn)行擴(kuò)展,W擴(kuò)展將原消息擴(kuò)展至2176比特,W’擴(kuò)展采用W擴(kuò)展結(jié)果得到2048比特?cái)?shù)據(jù),共計(jì)4224比特;
每組消息的壓縮迭代過(guò)程需要連續(xù)64次循環(huán)調(diào)用壓縮變量模塊與壓縮運(yùn)算模塊:
所述壓縮變量模塊,其用于滿(mǎn)足《SM3密碼雜湊算法》中4.3節(jié)的布爾運(yùn)算FF與布爾運(yùn)算GG,以及5.3.3節(jié)中規(guī)定的生成變量SS1、SS2、TT1、TT2;
壓縮運(yùn)算模塊,其用于滿(mǎn)足《SM3密碼雜湊算法》中4.4節(jié)的置換函數(shù)P0與置換函數(shù)P1,以及5.3.3節(jié)中規(guī)定的生成變量A、B、C、D、E、F、G、H;
每組512比特的消息進(jìn)行一輪消息迭代,所有消息迭代結(jié)束后產(chǎn)生最終結(jié)果;
下面描述所述消息擴(kuò)展模塊、壓縮變量模塊、壓縮運(yùn)算模塊三個(gè)模塊中消息的運(yùn)算時(shí)序;定義《SM3密碼雜湊算法》中5.3.2節(jié)的擴(kuò)展算法中W擴(kuò)展使用的存儲(chǔ)空間為W空間共512比特,W’擴(kuò)展使用的空間為W’空間共32比特;
時(shí)鐘周期T0:消息擴(kuò)展模塊的啟動(dòng)周期,滿(mǎn)足《SM3密碼雜湊算法》中5.3.2節(jié)的擴(kuò)展算法生成數(shù)據(jù)W16與W’0;
時(shí)鐘周期T1:消息擴(kuò)展模塊生成W17與W’1,壓縮變量模塊與壓縮運(yùn)算模塊啟動(dòng)并使用W0及T0周期生成的W’0,將T0周期生成的W16存儲(chǔ)至W0的空間;
時(shí)鐘周期T2:消息擴(kuò)展模塊生成W18與W’2,壓縮變量模塊與壓縮運(yùn)算模塊使用W1及T1周期生成的W’1,將T1周期生成的W17存儲(chǔ)至W1的空間;
時(shí)鐘周期T3:消息擴(kuò)展模塊生成W19與W’3,壓縮變量模塊與壓縮運(yùn)算模塊使用W2及T2周期生成的W’2,將T2周期生成的W18存儲(chǔ)至W2的空間;
時(shí)鐘周期T4:消息擴(kuò)展模塊生成W20與W’4,壓縮變量模塊與壓縮運(yùn)算模塊使用W3及T3周期生成的W’3,將T3周期生成的W19存儲(chǔ)至W3的空間;
由此直至-
時(shí)鐘周期T17:消息擴(kuò)展模塊生成W33與W’17,壓縮變量模塊與壓縮運(yùn)算模塊使用T0周期生成的W16及T16周期生成的W’16,系統(tǒng)將T16周期生成的W32存儲(chǔ)至W16的空間,即W0的空間;
由此直至-
時(shí)鐘周期T51:消息擴(kuò)展模塊的W擴(kuò)展運(yùn)算完成,W’擴(kuò)展運(yùn)算生成W’51,壓縮變量模塊與壓縮運(yùn)算模塊使用之前生成的W16與W’16,系統(tǒng)將T50周期生成的W66存儲(chǔ)至W50的空間,即W2的空間;
由此直至-
時(shí)鐘周期T63:消息擴(kuò)展模塊的W’擴(kuò)展運(yùn)算完成;
時(shí)鐘周期T64:壓縮變量模塊與壓縮運(yùn)算模塊運(yùn)算完成。