> 文章列表 > AES加密

AES加密

AES加密

来源:链接: b站up主可厉害的土豆

(据评论区说图片中有计算错误,但是过程是对的。只是了解过程问题不大,专门研究这一块的话自己可以看视频算一下)

准备

首先,明文是固定长度 16字节 128位。
密钥长度可以自己选择,这里以16字节 128位 为例子。
我们把输入的16字节内容,变成一个4x4的矩阵。密钥也是一样变成一个4x4的矩阵。
AES加密

加密操作

所有的操作由下图表示。9轮加密中1、2、3、4都要进行。最终论只运行1、2、4。也就是最终论不运行列混合。
AES加密
1.初始变换: 明文矩阵 XOR 密钥矩阵
2.1字节代换:查表替换明文内容
AES加密

2.2行位移
AES加密

2.3列混合
左乘一个确定的矩阵(给定)。
AES加密
具体计算如下(与一般的矩阵乘法不同):
AES加密

下图第一行位02s00 ,第二行位03s10=(02*s10)⊕s10
AES加密

2.4轮密钥加
由初始密钥 密钥扩展得到10轮轮密钥,明文与轮密钥进行XOR

轮密钥的产生如下图
AES加密
AES加密
AES加密

T变换包括
a、字循环:09 cf 4f 3c 变为 cf 4f 3c 09(以w3为例)
b、字节代换,查表代换
c、伦常量异或:伦常量是确定的。