EMZETT.
Войти

ChaCha20-Poly1305

Коротко: ChaCha20-Poly1305 — современный режим шифрования, который шифрует данные и одновременно проверяет их на подмену. Особенно быстр на устройствах без аппаратного ускорения AES.

Подробнее: ChaCha20 — потоковый шифр, Poly1305 — код аутентификации сообщений. Вместе они образуют схему AEAD и наряду с AES-GCM являются стандартом в TLS 1.3, WireGuard и SSH.

Подробности

  • ChaCha20: Из ключа (256 бит), nonce (96 бит) и счётчика создаёт ключевой поток, который накладывается на данные через XOR. Состоит только из сложения, вращения и XOR, то есть работает за постоянное время без таблиц. Это затрудняет атаки по времени.
  • Poly1305: Из одноразового ключа вычисляет 16-байтовую метку над данными. Если она не подтверждается при расшифровке, данные отвергаются.
  • Преимущество: На старых телефонах и малых устройствах без команд AES часто заметно быстрее AES-GCM.
  • Важно: Nonce не должен повторяться при одном и том же ключе.
  • Происхождение: Разработан Дэниелом Дж. Бернстайном.

См. также: режимы работы AES