来源:链接: b站up主可厉害的土豆
(据评论区说图片中有计算错误,但是过程是对的。只是了解过程问题不大,专门研究这一块的话自己可以看视频算一下)
准备
首先,明文是固定长度 16字节 128位。
密钥长度可以自己选择,这里以16字节 128位 为例子。
我们把输入的16字节内容,变成一个4x4的矩阵。密钥也是一样变成一个4x4的矩阵。
加密操作
所有的操作由下图表示。9轮加密中1、2、3、4都要进行。最终论只运行1、2、4。也就是最终论不运行列混合。
1.初始变换: 明文矩阵 XOR 密钥矩阵
2.1字节代换:查表替换明文内容
2.2行位移
2.3列混合
左乘一个确定的矩阵(给定)。
具体计算如下(与一般的矩阵乘法不同):
下图第一行位02s00 ,第二行位03s10=(02*s10)⊕s10
2.4轮密钥加
由初始密钥 密钥扩展得到10轮轮密钥,明文与轮密钥进行XOR
轮密钥的产生如下图
T变换包括
a、字循环:09 cf 4f 3c 变为 cf 4f 3c 09(以w3为例)
b、字节代换,查表代换
c、伦常量异或:伦常量是确定的。