基于FPGA的SM3算法快速實(shí)現(xiàn)方案
【文章頁(yè)數(shù)】:4 頁(yè)
【部分圖文】:
圖1 流水線結(jié)構(gòu)設(shè)計(jì)
進(jìn)行流水線結(jié)構(gòu)設(shè)計(jì)時(shí)采用64級(jí)流水,基于以上分析,需要進(jìn)行消息擴(kuò)展與壓縮函數(shù)兩個(gè)模塊的流水線結(jié)構(gòu)設(shè)計(jì)。消息擴(kuò)展模塊中,最終生成了132個(gè)字,前16個(gè)是直接劃分得到的,不用計(jì)算,之后每一個(gè)時(shí)鐘周期到來時(shí)進(jìn)行下一個(gè)字W和W′的計(jì)算。同時(shí)壓縮函數(shù)中第k次計(jì)算Hash值需要當(dāng)前Bi的Wk....
圖2 關(guān)鍵路徑并行計(jì)算初步優(yōu)化
通過分析前文描述的SM3算法流程,在壓縮函數(shù)中計(jì)算SS1、SS2、TT1、TT2時(shí)需要進(jìn)行多次加法運(yùn)算,產(chǎn)生較大時(shí)延。對(duì)算法進(jìn)行并行計(jì)算優(yōu)化時(shí)首先對(duì)以上四個(gè)字寄存器中的運(yùn)算進(jìn)行優(yōu)化,優(yōu)化思路是使用進(jìn)位保留加法器(CSA)[13]來降低有多個(gè)輸入(多于兩個(gè))時(shí)的加法時(shí)延,并將更多的....
圖3 關(guān)鍵路徑并行計(jì)算最終優(yōu)化
通過對(duì)優(yōu)化方案的分析,以上關(guān)鍵路徑中最后計(jì)算得到的TT2在壓縮函數(shù)中還作為輸入量進(jìn)行了置換函數(shù)P0(TT2)的計(jì)算,因此繼續(xù)對(duì)壓縮函數(shù)中的一次置換函數(shù)進(jìn)行并行計(jì)算優(yōu)化,并與圖2的優(yōu)化方案進(jìn)行合并,最終的關(guān)鍵路徑并行計(jì)算優(yōu)化方案如圖3所示。設(shè)壓縮函數(shù)中的時(shí)鐘周期為clk,則根據(jù)圖2....
本文編號(hào):4020625
本文鏈接:http://www.sikaile.net/kejilunwen/xinxigongchenglunwen/4020625.html