什么是AES算法
Advanced Encryption Standard
由2位比利时密码学家发明的,Joan Daemen 和 Vincent Rijmen 所设计,又称 Rijndael 加密算法,AES又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。
常用填充算法是pkcs7 常用分组工作模式是gcm
AES三种密钥长度
AES加密步骤
- 把明文按照 128bit(16 字节)拆分成若干个明文块,每个明文块是 4*4 矩阵
- 按照选择的填充方式来填充最后一个明文块
- 每一个明文块利用 AES 加密器和密钥,加密成密文块
- 拼接所有的密文块,成为最终的密文结果
AES加密流程
• C = E(K,P),E 为每一轮算法,每轮密钥皆不同
初始轮
· AddRoundKey 轮密钥加
普通轮
• AddRoundKey 轮密钥加
• SubBytes 字节替代
• ShiftRows 行移位
• MixColumns 列混合
最终轮
• SubBytes 字节替代
• ShiftRows 行移位
• AddRoundKey 轮密钥加
这是我在极客时间的2月第4天打卡,gk.link/a/11WtH 。