

当分组长度和密钥长度都是128位时,AES的加密算法共迭代10轮,需要11个子密钥
AES的密钥扩展的目的是将输入的128位密钥扩展成11个128位的子密钥
AES的密钥扩展算法是以字为一个基本单位
一个字等于4个字节,共32位,刚好是密钥矩阵的一列
因此4个字(128位)密钥需要扩展成11个子密钥,共44个字
若Nr表示加密算法轮数,那么密钥扩展总共生成Nb(Nr+1)个字
扩展后的密钥编排结果由一个4-byte字的线性数组组成
第一个子密钥的Nk个字由密码的原始密钥直接填充
下面以Nk=4(即密钥为128位)为例,说明AES的密钥扩展过程
| 各省软考办 | ||||||||||