什么是 AES 加密?它的工作原理是什么?
描述 AES 加密的对称算法及其工作流程,涉及 128 位、192 位和 256 位密钥的不同轮数。
AES(高级加密标准)是一种对称分组加密算法,由NIST于2001年发布,取代DES成为主流加密标准。它支持128、192和256位密钥长度,对应加密轮数分别为10、12和14轮。以下是其工作原理的核心步骤:
- 加密过程(以128位密钥为例)
- 初始化轮(AddRoundKey):明文分组成4×4字节矩阵(State),与首轮密钥进行异或运算(XOR)。
- 迭代轮(共9轮):
- 字节替换(SubBytes):通过S盒非线性替换每个字节。
- 行移位(ShiftRows):矩阵各行循环左移(第0行不移,第1行移1位,第2行移2位,第3行移3位)。
- 列混淆(MixColumns):通过矩阵乘法混淆每列数据(伽罗瓦域运算)。
- 轮密钥加(AddRoundKey):与当前轮密钥异或。
- 最终轮(省略MixColumns):执行SubBytes → ShiftRows → AddRoundKey,输出密文。
-
解密过程
为加密的逆操作:步骤反转(如逆字节替换InvSubBytes)、密钥使用顺序颠倒。 - 关键特性
- 对称加密:加密/解密使用相同密钥。
- 数据填充:明文需填充至128位块倍数(常用PKCS#7)。
- 工作模式:如ECB(块独立加密)、CBC(块链式依赖,需初始化向量IV)等增强安全性。
优势:
- 安全性高:无已知高效攻击方式,抗量子计算威胁(AES-256);
- 性能高效:软硬件优化实现速度快;
- 灵活:密钥长度可选适配不同场景需求。