AES算法中S-box和列混合單元的優(yōu)化及FPGA技術(shù)實(shí)現
圖3中:Xt模塊(AES中的乘法器)的計算公式為:

更進(jìn)一步,會(huì )發(fā)現,要建立一個(gè)全局的逆選擇列混合模塊,需要將4個(gè)字節一列混合模塊集成在一起,形成一個(gè)全新的字一列混合模塊(Word_MixColumn模塊),如圖4所示。

這種模塊設計可以通過(guò)部分分享硬件來(lái)同時(shí)實(shí)現列混合和逆列混合的功能,實(shí)現了硬件資源的節省。
3 綜合結果
在同等頻率要求的前提下,對S-box及列混合單元進(jìn)行了優(yōu)化,目的是減小設計面積。優(yōu)化后的算法在ModelSimSE 6.2b下進(jìn)行仿真,并在Xilinx Spartan 3系列FPGA上進(jìn)行綜合驗證,時(shí)鐘頻率達到166 MHz,占用3 212個(gè)基本邏輯門(mén)(一個(gè)基本邏輯門(mén)等效于兩輸入/輸出的與門(mén)),與參考文獻[1]中方法相比節約52%。由于本文中S-box和InvS-box共用求逆電路,與文獻[2]中的優(yōu)化方法相比硬件資源節約66%。

其中硬件復雜度為門(mén)級電路個(gè)數。
4 結 語(yǔ)
在AES的經(jīng)典算法中S-box常常采用查找表的形式來(lái)實(shí)現,這樣會(huì )占用大量的硬件資源。本文采用S-box與逆S-box組合以及GF(28)到GF(24)同構變換的方法對S-box進(jìn)行優(yōu)化,同時(shí),對AES中較復雜的列混合模塊進(jìn)行了集成優(yōu)化。優(yōu)化后的方案在不降低密碼算法安全性的前提下,較好的降低了硬件復雜度,非常適用于信用卡以及其它對硬件規模要求嚴格的應用。
評論