AES算法中S-box和列混合單元的優(yōu)化及FPGA技術(shù)實(shí)現(xiàn)
圖3中:Xt模塊(AES中的乘法器)的計(jì)算公式為:
更進(jìn)一步,會(huì)發(fā)現(xiàn),要建立一個(gè)全局的逆選擇列混合模塊,需要將4個(gè)字節(jié)一列混合模塊集成在一起,形成一個(gè)全新的字一列混合模塊(Word_MixColumn模塊),如圖4所示。
這種模塊設(shè)計(jì)可以通過(guò)部分分享硬件來(lái)同時(shí)實(shí)現(xiàn)列混合和逆列混合的功能,實(shí)現(xiàn)了硬件資源的節(jié)省。
3 綜合結(jié)果
在同等頻率要求的前提下,對(duì)S-box及列混合單元進(jìn)行了優(yōu)化,目的是減小設(shè)計(jì)面積。優(yōu)化后的算法在ModelSimSE 6.2b下進(jìn)行仿真,并在Xilinx Spartan 3系列FPGA上進(jìn)行綜合驗(yàn)證,時(shí)鐘頻率達(dá)到166 MHz,占用3 212個(gè)基本邏輯門(mén)(一個(gè)基本邏輯門(mén)等效于兩輸入/輸出的與門(mén)),與參考文獻(xiàn)[1]中方法相比節(jié)約52%。由于本文中S-box和InvS-box共用求逆電路,與文獻(xiàn)[2]中的優(yōu)化方法相比硬件資源節(jié)約66%。
其中硬件復(fù)雜度為門(mén)級(jí)電路個(gè)數(shù)。
4 結(jié) 語(yǔ)
在AES的經(jīng)典算法中S-box常常采用查找表的形式來(lái)實(shí)現(xiàn),這樣會(huì)占用大量的硬件資源。本文采用S-box與逆S-box組合以及GF(28)到GF(24)同構(gòu)變換的方法對(duì)S-box進(jìn)行優(yōu)化,同時(shí),對(duì)AES中較復(fù)雜的列混合模塊進(jìn)行了集成優(yōu)化。優(yōu)化后的方案在不降低密碼算法安全性的前提下,較好的降低了硬件復(fù)雜度,非常適用于信用卡以及其它對(duì)硬件規(guī)模要求嚴(yán)格的應(yīng)用。
評(píng)論