AES 加密算法

一、AES 是什么

AES(Advanced Encryption Standard) 是目前应用最广泛的对称分组加密标准,由 NIST 于 2001 年发布,替代 DES。

  • 分组长度:固定 128 bit(16 字节)
  • 密钥长度:AES-128 / AES-192 / AES-256(16 / 24 / 32 字节)
  • 对称加密:加密和解密使用同一把密钥
  • 轮数:10 / 12 / 14 轮(对应 128 / 192 / 256 位密钥)

二、加密方式

加密方式分为五种:

  • 电码本模式(Electronic Codebook Book (ECB))
  • 密码分组链接模式(Cipher Block Chaining (CBC))
  • 计算器模式(Counter (CTR))
  • 密码反馈模式(Cipher FeedBack (CFB))
  • 输出反馈模式(Output FeedBack (OFB))

实际应用比较多的是ECB和CBC。

三、ECB 模式(电子密码本)

将明文按16字节分组,每组分别加密后拼接。

ECB 分组加密流程:


⚠️ ECB 致命缺陷:

  • 相同明文块 → 相同密文块
  • 明文结构直接反映到密文
  • 加密图片可看出轮廓
  • 无法抵抗重放 / 模式分析

四、CBC 模式(密码分组链接)

ECB缺点是明文内相同的明文块,最终的密文也是相同的,
为了更好的隐藏明文信息,针对这个问题就有了CBC模式。
每一小段明文先与初始块向量或者上一段的密文段进行异或运算后,再与密钥进行加密。
必须提供随机 IV,IV 不保密但不可重复。