接口为 Seal(key, nonce, plaintext, aad) → ciphertext ‖ tag 和 Open(key, nonce, ciphertext ‖ tag, aad) → plaintext or failure;标签验证不通过时,解密不返回任何内容。标准 AEAD 有 AES-GCM、ChaCha20-Poly1305、AES-CCM、AES-GCM-SIV(RFC 8452)和 AES-OCB(RFC 7253),常见用法都使用 128 位标签。
安全性取决于 nonce 规则:大多数 AEAD 要求同一密钥下的 nonce 永不重复,而在 AES-GCM 或 ChaCha20-Poly1305 中重复使用 nonce 会泄露明文之间的异或值,并让伪造成为可能。应使用计数器或足够长的随机 nonce(XChaCha20-Poly1305 的 nonce 为 192 位),遵守单个密钥的使用上限,或选择 AES-GCM-SIV 等抗误用模式。
TLS 1.3 只使用 AEAD 密码套件;JWE 内容加密(A128GCM、A256GCM、A128CBC-HS256)、HPKE、age、PASETO 的 local 令牌、QUIC 和 SSH(chacha20-poly1305@openssh.com、aes256-gcm@openssh.com)都建立在 AEAD 之上。