Аутентифицированное шифрование (AEAD)
Коротко: Методы AEAD, такие как AES-GCM или ChaCha20-Poly1305, шифруют данные и одновременно гарантируют, что они не были изменены. Чистое шифрование без проверки целостности небезопасно.
Подробнее: Блочный шифр в режиме CTR/GCM порождает поток ключа, комбинируемый с открытым текстом. Дополнительно вычисляется тег аутентификации. При расшифровании тег проверяется; если он не совпадает, ничего не выдаётся. Дополнительные нешифруемые данные (заголовки) тоже можно защитить.
Подробности
- Nonce: одноразовое значение на сообщение. Повторное использование…
См. также: рукопожатие TLS подробно, вывод ключа и хеширование паролей (Argon2)