文章目录
- 古典密码
- 凯撒密码和移位变换
- 仿射变换
- 例题
- 多表代换
- 例题
- 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加密算法
【AES加密算法】| AES加密过程详解


明文块和密钥块都可以用一个16字节的矩阵表示

大致加密过程,先有个印象,但最终轮没有这个列混合

初始变换


字节代换

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

最终结果

行移位

最终结果

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



这里的运算规则就是GF(2^8)有限域上的运算问题

轮密钥加
和一个子密钥矩阵(会通过密钥得到)进行异或

大致流程如下

子密钥(密钥扩展)
通过已有的密钥通过某些操作计算出子密钥



字循环

字节代换

轮常量异或


例题


AES加密相关小题