什么是 AES 加密?它的工作原理是什么?

描述 AES 加密的对称算法及其工作流程,涉及 128 位、192 位和 256 位密钥的不同轮数。

前端安全 中等 安全 加密 加密算法

AES(高级加密标准)是一种对称分组加密算法,由NIST于2001年发布,取代DES成为主流加密标准。它支持128、192和256位密钥长度,对应加密轮数分别为10、12和14轮。以下是其工作原理的核心步骤:

  1. 加密过程(以128位密钥为例)
    • 初始化轮(AddRoundKey):明文分组成4×4字节矩阵(State),与首轮密钥进行异或运算(XOR)。
    • 迭代轮(共9轮)
      • 字节替换(SubBytes):通过S盒非线性替换每个字节。
      • 行移位(ShiftRows):矩阵各行循环左移(第0行不移,第1行移1位,第2行移2位,第3行移3位)。
      • 列混淆(MixColumns):通过矩阵乘法混淆每列数据(伽罗瓦域运算)。
      • 轮密钥加(AddRoundKey):与当前轮密钥异或。
    • 最终轮(省略MixColumns):执行SubBytes → ShiftRows → AddRoundKey,输出密文。
  2. 解密过程
    为加密的逆操作:步骤反转(如逆字节替换InvSubBytes)、密钥使用顺序颠倒。

  3. 关键特性
    • 对称加密:加密/解密使用相同密钥。
    • 数据填充:明文需填充至128位块倍数(常用PKCS#7)。
    • 工作模式:如ECB(块独立加密)、CBC(块链式依赖,需初始化向量IV)等增强安全性。

优势

  • 安全性高:无已知高效攻击方式,抗量子计算威胁(AES-256);
  • 性能高效:软硬件优化实现速度快;
  • 灵活:密钥长度可选适配不同场景需求。