AES加密算法的VHDL实现
步骤:
一、轮密钥加
(1) 拷贝16字节的输入数组到4*4的态矩阵(state)中去。
(2) 用密钥调度表的前四行对态矩阵(state)实行一个字节一个字节的xor(异或)
注:各轮的轮密钥加方法相同,只是每次依次采用密钥调度表的接下来四行。
二、字节替换
(1)SubBytes 例程是一个代替操作,它将 State 矩阵中的每个字节替换成一个由 Sbox 决定的新字节。比如,如果 State[0,1]的值是 0x40 如果你想找到它的代替者,你取 State[0,1] 的值 (0x40) 并让 x 等于左边的数字(4)并让 y 等于右边的数字(0)。然后你用 x 和 y 作为索引 进到 Sbox 表中寻找代替值。