首页/安全/加密与证书速查/AES-CBC 密码分组链接模式
加密算法基础95 条

AES-CBC 密码分组链接模式

经典 AES 工作模式:每个明文块先与前一密文块异或再加密,需要随机不可预测的 IV 与 PKCS#7 填充;TLS 1.3 已移除 CBC 套件。

加密与证书速查安全更新于 2026-10-12
标准NIST SP 800-38A
IV随机、不可预测、每消息唯一
填充PKCS#7(块边界对齐)
完整性无(需另加 HMAC)

OpenSSL 加解密

OpenSSL 加解密
openssl enc -aes-256-cbc -pbkdf2 -iter 600000 -salt -in plain.txt -out data.enc
openssl enc -d -aes-256-cbc -pbkdf2 -iter 600000 -in data.enc -out plain.txt
openssl enc -aes-256-cbc -K 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef -iv 00112233445566778899aabbccddeeff -in plain.txt -out data2.enc
CBC 无认证:密文被篡改会逐块影响后续明文;服务端若对填充错误与 MAC 错误响应不一致,会暴露填充预言(padding oracle),TLS 场景应优先 AEAD。

易错点

  • IV 必须随机且不可预测;固定 IV 或把可预测计数器当随机 IV 会退化为确定性加密
  • 解密端不要暴露填充失败细节(错误码、耗时差异),否则 CBC 的保密性会被填充预言类问题绕过

数据来源与参考

  • NIST SP 800-38A(CBC 模式)
  • RFC 8446 附录 B(TLS 1.3 移除 CBC 与静态 RSA 套件)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌