加密算法优化
使用32或更多比特定址的系统,可以事先对所有可能的输入创建对应表,利用查表来实现SubBytes,ShiftRows和MixColumns步骤以达到加速的效果。这么作需要产生4个表,每个表都有256个格子,一个格子记载32位的输出;约占去4KB(4096字节)内存空间,即每个表占去1KB的内存空间。如此一来,在每个加密循环中,只需要查16次表,作12次32位的XOR运算,以及AddRoundKey步骤中4次32位XOR运算。
若使用的平台内存空间不足4KB,也可以利用循环交换的方式一次查一个256格32位的表。
安全性
截至2006年,针对AES唯一的成功攻击是旁道攻击。美国国家安全局审核了所有的参与竞选AES的最终入围者(包括Rijndael),认为他们均能够满足美国政府传递非机密文件的安全需要。2003年6月,美国政府宣布AES可以用于加密机密文件:
The design and strength of all key lengths of the AES algorithm(i.e., 128, 192 and 256)are sufficient to protect classified information up to the SECRET level. TOP SECRET information will require use of either the 192 or 256 key lengths. The implementation of AES in products intended to protect national security systems and/or information must be reviewed and certified by NSA prior to their acquisition and use.[1]
(译:AES加密算法(使用128,192,和256比特密钥的版本)的安全性,在设计结构及密钥的长度上俱已到达保护机密信息的标准。最高机密信息的传递,则至少需要192或256比特的密钥长度。用以传递国家安全信息的AES实现产品,必须先由国家安全局审核认证,方能被发放使用。)