图3中:Xt模块(AES中的乘法器)的计算公式为:
更进一步,会发现,要建立一个全局的逆选择列混合模块,需要将4个字节一列混合模块集成在一起,形成一个全新的字一列混合模块(Word_MixColumn模块),如图4所示。
这种模块设计可以通过部分分享硬件来同时实现列混合和逆列混合的功能,实现了硬件资源的节省。
3 综合结果在同等频率要求的前提下,对S-box及列混合单元进行了优化,目的是减小设计面积。优化后的算法在ModelSimSE 6.2b下进行仿真,并在Xilinx Spartan 3系列FPGA上进行综合验证,时钟频率达到166 MHz,占用3 212个基本逻辑门(一个基本逻辑门等效于两输入/输出的与门),与参考文献[1]中方法相比节约52%。由于本文中S-box和InvS-box共用求逆电路,与文献[2]中的优化方法相比硬件资源节约66%。
其中硬件复杂度为门级电路个数。
4 结 语在AES的经典算法中S-box常常采用查找表的形式来实现,这样会占用大量的硬件资源。本文采用S-box与逆S-box组合以及GF(2
8)到GF(2
4)同构变换的方法对S-box进行优化,同时,对AES中较复杂的列混合模块进行了集成优化。优化后的方案在不降低密码算法安全性的前提下,较好的降低了硬件复杂度,非常适用于信用卡以及其它对硬件规模要求严格的应用。
上一页 [1] [2] [3] 下一页