什么是 AES-128
- AES (Advanced Encryption Standard) 是一种对称加密算法,由美国国家标准与技术研究院(NIST)在 2001 年确立。
- 128 表示密钥长度为 128 位(16 字节)。AES 还支持 192 位和 256 位密钥。
- AES 基于 分组加密,以 128 位(16 字节)为一个分组,通过多轮迭代实现加密和解密。
AES-128 的工作原理
- 输入:明文(128 位) + 密钥(128 位)
- 过程:分 10 轮运算(AES-128 专用,AES-192 是 12 轮,AES-256 是 14 轮)。
- 每一轮包括:
- SubBytes(字节代换,非线性 S-box)
- ShiftRows(行移位)
- MixColumns(列混合,矩阵乘法,最后一轮省略)
- AddRoundKey(轮密钥异或)
- 每一轮包括:
- 输出:密文(128 位)
- 解密则是相反的逆过程。
工作模式 (Modes of Operation)
AES 本身只是“分组加密器”,需要结合模式来处理任意长度数据。常见模式有:
- ECB (Electronic Codebook):每个分组独立加密,安全性差(模式泄露)。
- CBC (Cipher Block Chaining):每个分组与前一个密文异或后加密,需要 IV(初始向量)。
- CFB/OFB:流模式,更适合实时加密。
- CTR (Counter):通过计数器生成伪随机流,安全性和效率都高。
- GCM (Galois/Counter Mode):支持加密+认证(常用于 TLS/HTTPS、VPN)。
工作流程
*****待更新