首页/安全/加密与证书速查/AES-CTR 计数器模式
加密算法基础95 条

AES-CTR 计数器模式

把 AES 当作流密码:用 nonce + counter 生成密钥流与明文异或,支持并行加密与随机访问,常用于协议数据面与缓存加密;本身无完整性保护。

加密与证书速查安全更新于 2026-10-12
标准NIST SP 800-38A
计数器nonce + 递增计数,同一密钥下不得重用
特性可并行、可随机访问、无需填充
完整性无(需另加 MAC)

OpenSSL 示例

OpenSSL 示例
openssl enc -aes-256-ctr -pbkdf2 -salt -in plain.txt -out data.ctr
# 指定显式 key/IV(16 字节 IV = nonce + counter,前 12 字节常作 nonce)
openssl enc -aes-256-ctr -K 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff -iv 00000000000000000000000000000001 -in plain.txt -out data2.ctr
CTR 的密文比特翻转会一对一反映到明文,无需密钥即可可控破坏数据;需要完整性请搭配 HMAC 或改用 GCM。

易错点

  • 计数器空间会回绕:单密钥加密量超过计数器容量后会与早期密钥流重叠
  • CTR 支持随机访问,偏移量记录不全会导致解密端计数器对不齐、得到乱码

数据来源与参考

  • NIST SP 800-38A(CTR 模式)
  • OpenSSL 官方文档 openssl-enc(1)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌