Перейти к содержимому
ecdsa.com

AEAD (аутентифицированное шифрование)

Режим симметричного шифрования, определённый в общем виде в RFC 5116: за одну операцию он обеспечивает конфиденциальность и целостность и дополнительно аутентифицирует незашифрованные присоединённые данные, например заголовки.
Другие написанияauthenticated encryptionAERFC 5116

Интерфейс: 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 раскрывает XOR открытых текстов и позволяет подделывать сообщения. Используйте счётчики или длинные случайные nonce (у XChaCha20-Poly1305 — 192 бита), соблюдайте ограничения на использование ключа или выберите режим, устойчивый к ошибкам использования, например AES-GCM-SIV.

TLS 1.3 использует только наборы шифров AEAD; на AEAD построены также шифрование содержимого в JWE (A128GCM, A256GCM, A128CBC-HS256), HPKE, age, локальные токены PASETO, QUIC и SSH (chacha20-poly1305@openssh.com, aes256-gcm@openssh.com).

Стандарты и ссылки

Все термины