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