文章目录
- 古典密码
- AES数学基础(GF(2^8)有限域上的运算问题)
-
- [多项式表示法 | 加法 | 乘法](#多项式表示法 | 加法 | 乘法)
- X乘法
- 模x的四次方+1的乘法
- AES加密算法
古典密码
参考的一个up主,讲得挺好,正好课程没啥作业,参考up的来做题学习

凯撒密码和移位变换

仿射变换

例题
求逆元通过扩展欧几里得算法
多表代换

例题

注意同余的性质:同加同减同乘最后都要再mod一次
注意这里明文和密文都只有4个,但A是2x2矩阵,要相乘的话只能一次乘明文中的两个,所以可以得出下面的方程

AES数学基础(GF(2^8)有限域上的运算问题)
现代密码学|AES数学基础|GF(2^8)有限域上的运算问题

多项式表示法 | 加法 | 乘法
b是系数
每次把最高次项约掉,最终不能大于等于8的次

X乘法

模x的四次方+1的乘法

例题
AES加密算法


明文块和密钥块都可以用一个16字节的矩阵表示
大致加密过程,先有个印象,但最终轮没有这个列混合

初始变换
字节代换

根据字节转换寻找到对应的x和y,然后替换

最终结果
行移位

最终结果
列混合
相乘的这个矩阵是固定的(被给出的)

这里的运算规则就是GF(2^8)有限域上的运算问题
轮密钥加
和一个子密钥矩阵(会通过密钥得到)进行异或

大致流程如下
子密钥(密钥扩展)
通过已有的密钥通过某些操作计算出子密钥
字循环
字节代换
轮常量异或