孙海燕,谷子茜
(北方工业大学,北京,100091)
美国国家标准技术研究所(NIST)在2001年发布了高级加密标准(Advanced Encryption Standard,AES)。AES是一种迭代分组加密算法,具有安全性能高、加密效率高等优点,广泛应用于现代社会的信息安全加密中。目前国内外大量文献研究了AES的安全性能和实现紧凑AES的方案,随着AES广泛应用于可穿戴设备、消费电子、移动通讯终端等需要低功耗的场景,对其低功耗的研究也越来越受到关注。
国内外对AES算法的低功耗、小面积等的研究主要集中在对S-盒的研究上,其主要的实现方案有:查找表(Look-up table,LUT)方案[1]、基于有限域GF(28)上实现的运算方案[2-6]、专用硬件加密的解码-置换-编码(Decode Switching Encode, DSE)方案[7]等;以及通过改变数据路径位宽[5,8]来减小AES的面积。少有论文从密钥扩展的角度来优化以提升综合性能。
本文在AES-128加解密算法中的三种常用链接算法(ECB、CBC、CTR)[9]的使用条件下,提出了采用40x32 SRAM对密钥进行存储的方案,以使其在使用同一密钥对一个明文块加密或对一个密文块解密的计算过程中,无需重复进行密钥扩展,既提升了运算速度,又能有效降低功耗。此方案适用于含ECB/CBC/CTR链接算法的AES加密和解密运算中。
电子密码本(ECB)模式是最简单的加密/解密模式。每次加密/解密时,首先输入密钥,然后使用相同的密钥加密一整个明文块。每个明文块/密文块可以分成若干个128位的明文/密文分组,依次输入进行数据加密/解密。其加密/解密过程可以用公式(1)表示。

其中K为密钥,j为加密/解密的数据块序数,Cj为第j块的密文,Pj为第j块的明文,Enc表示加密运算,Dec表示解密运算。……