AES是一个数据块长度和密钥长度都可以改变的分组加密算法。数据分组长度和密钥长度可以分别选择128位、192位和256位。
AES的算法框架图
注意:加密是前n-1轮的加密操作经过4部分:1、字节代换 Bytesub 2、行移位 3、列混淆 4、子密钥加
最后一轮加密经过三个部分:1、字节代换Bytesub 2、行移位 3、子密钥加。
由于AES不是对合运算,所以解密的算法和步骤与加密的是不同的。
解密的前n-1轮运算经过四个部分:1、行移位求逆 2、字节代换求逆 3、子密钥加 4、列混淆求逆。
解密的最后一轮经过三个部分:1、行移位求逆 2、字节代换求逆 3、子密钥加
算法迭代圈数
AES会考的计算题:
1、求乘法逆元
2、面向字节的运算(异或与乘法)
最后的字节相乘的计算:
1、先计算字节多项式系数相乘。
2、然后对m(x)=x^8+x^4+x^3+x+1 取余,那么余数的二进制表示即为字节相乘的结果。考前一定要重新演练!