首页/网络/协议速查/AEAD:加密与认证一体化

AEAD:加密与认证一体化

AEAD(带关联数据的认证加密)一次操作完成「机密性 + 完整性」:GCM、CCM、ChaCha20-Poly1305 都是;TLS 1.3 强制只用 AEAD。

协议速查网络更新于 2026-10-12
输入密钥 + nonce + 明文 + 关联数据(AAD,明文但被认证,如头部)
输出密文 + 认证标签(tag)
验证失败必须整体丢弃,不得部分处理明文

概念伪代码

概念伪代码
(ct, tag) = AEAD_encrypt(key, nonce, plaintext, aad)
plaintext  = AEAD_decrypt(key, nonce, ct, tag, aad)   # tag 错误直接报错
nonce 在同一密钥下绝不能重复;AAD 用于保护不被加密的元数据(如包序号)。

易错点

  • 看到「加密后自己再算个 MD5 校验」的设计要警惕:正确做法是 AEAD 或「先 MAC 后加密」的成熟组合

数据来源与参考

  • RFC 5116(AEAD 接口)
  • RFC 8446 §5.2

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌