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