AES算法1

218 阅读1分钟

什么是AES算法

Advanced Encryption Standard

由2位比利时密码学家发明的,Joan Daemen 和 Vincent Rijmen 所设计,又称 Rijndael 加密算法,AES又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。

常用填充算法是pkcs7 常用分组工作模式是gcm

AES三种密钥长度

image.png

AES加密步骤

  1. 把明文按照 128bit(16 字节)拆分成若干个明文块,每个明文块是 4*4 矩阵
  2. 按照选择的填充方式来填充最后一个明文块
  3. 每一个明文块利用 AES 加密器和密钥,加密成密文块
  4. 拼接所有的密文块,成为最终的密文结果

image.png

AES加密流程

• C = E(K,P),E 为每一轮算法,每轮密钥皆不同

初始轮

· AddRoundKey 轮密钥加

普通轮

• AddRoundKey 轮密钥加

• SubBytes 字节替代

• ShiftRows 行移位

• MixColumns 列混合

最终轮

• SubBytes 字节替代

• ShiftRows 行移位

• AddRoundKey 轮密钥加

这是我在极客时间的2月第4天打卡,gk.link/a/11WtH