FIPS 197 Advanced Encryption Standard (AES)
标题:Advanced Encryption Standard (AES)
发布组织:National Institute of Standards and Technology (NIST)
标准编号:FIPS PUB 197
摘要:AES 是当今全球最广泛使用的对称分组密码,由 Joan Daemen 和 Vincent Rijmen 设计(Rijndael 算法)。支持 128/192/256 位密钥,分组长度固定为 128 位。
主要特性:
- 轮数:10轮(128位密钥)、12轮(192位)、14轮(256位)
- 字节代换(S盒)、行移位、列混合、轮密钥加
- 密钥扩展算法生成轮密钥
- 硬件实现效率高,抗线性分析和差分分析
官方下载链接: NIST 官网 PDF
关联工具: 对称加密工具 (AES)
AES 加密算法详解
FIPS 197 由美国国家标准与技术研究院(NIST)于 2001 年发布,正式确立 AES(Advanced Encryption Standard)作为 DES 的替代标准。AES 由比利时密码学家 Joan Daemen 和 Vincent Rijmen 设计(原名 Rijndael),支持 128、192、256 位三种密钥长度,分组长度固定 128 位。
加密流程
AES 加密包含多轮变换,轮数取决于密钥长度:128 位 10 轮、192 位 12 轮、256 位 14 轮。每轮包含四个步骤:SubBytes 使用 S 盒对每个字节做非线性替换;ShiftRows 将状态矩阵的行做循环左移;MixColumns 对每列做有限域 GF(2^8) 上的矩阵乘法;AddRoundKey 与轮密钥做异或。最后一轮省略 MixColumns。解密过程使用逆变换。
工作模式
AES 本身是分组加密原语,实际应用需要选择工作模式:ECB 每块独立加密,相同明文块产生相同密文,不推荐;CBC 需要 IV,前块密文与当前块异或后加密;CTR 将计数器加密后与明文异或,可并行;GCM 在 CTR 模式基础上增加认证标签,提供 AEAD。
在智能卡领域,GlobalPlatform SCP03 使用 AES-256-CBC 加密卡与终端之间的通信报文,SCP03 的 C-MAC 也使用 AES-CMAC。EMVCo 的部分支付密钥派生也依赖 AES。国密合规场景中,AES 可与 SM4 互为备选方案,但合规系统应优先使用 SM4。NIST 定期审查 AES 的安全性,截至目前未发现实际可行的攻击方法。侧信道攻击(如功耗分析、时序攻击)是智能卡实现的主要威胁,需要在硬件层面做抗 DPA/SPA 设计。