试题详情
简答题简述AES的子密钥生成过程。
  • AES首先将初始密钥输入到一个4*4矩阵中。这个4*4矩阵的每一列的4个字节组成一个字,矩阵4列的4个字依次命名为w[0]w[1]w[2]和w[3]。它们构成了一个以字为单位的数组w。
    接着,对w数组扩充40个新列,构成总共44列的扩展密码数组。新列以如下的递归方式产生:
    (1)如果i不是4的倍数,那么第i列由如下等式确定:
    w[i]=w[i-4]⊕w[i-1]
    (2)如果i是4的倍数,那么第i列由如下等式确定:
    w[i]=w[i-4]⊕T(w[i-1])其中,T是一个复杂的函数。
    函数T由三个部分组成:自循环、字节代换和轮常量异或,这三部分的作用分别如下:
    (1)字循环:将1个字中的4个字节循环左移1个字节。
    (2)字节代换:对字循环的结果使用S盒进行字节代换。
    (3)轮常量抑或:将前两步的结果同轮常量Rcon[j]进行异或,其中J表示轮数。
  • 关注下方微信公众号,在线模考后查看

热门试题