AES算法中S-box和列混合單元的優(yōu)化及FPGA實現(xiàn)
2 列混合單元的優(yōu)化設(shè)計
在列混合(MixColumn)和逆列混合(InvMixColumn)的操作中,由以下兩式定義了兩個主要操作:
將式(15)和式(16)所做的操作及結(jié)果列于表1中,由步驟1~步驟5處理的結(jié)果得到outx,接著由outx和w8得到outy。因此,在執(zhí)行過程中,操作所用到的硬件資源及其所得結(jié)果可以應(yīng)用到步驟9,步驟10中。如圖3所示,這種新型結(jié)構(gòu)(字節(jié)-列混合模塊)僅需8個加法器和4個乘法器。與原方案相比,此設(shè)計大大減少了硬件復(fù)雜度并顯著節(jié)省了資源的消耗。
圖3中:Xt模塊(AES中的乘法器)的計算公式為:
更進一步,會發(fā)現(xiàn),要建立一個全局的逆選擇列混合模塊,需要將4個字節(jié)一列混合模塊集成在一起,形成一個全新的字一列混合模塊(Word_MixColumn模塊),如圖4所示。
這種模塊設(shè)計可以通過部分分享硬件來同時實現(xiàn)列混合和逆列混合的功能,實現(xiàn)了硬件資源的節(jié)省。
評論