ChaCha20-Poly1305
Kurz: ChaCha20-Poly1305 ist ein moderner Verschlüsselungsmodus, der Daten verschlüsselt und zugleich auf Manipulation prüft. Er ist besonders auf Geräten ohne AES-Hardwarebeschleunigung schnell.
Genauer: ChaCha20 ist eine Stromchiffre, Poly1305 ein Nachrichten-Authentifizierungscode. Zusammen bilden sie ein AEAD-Verfahren und sind neben AES-GCM Standard in TLS 1.3, WireGuard und SSH.
Im Detail
- ChaCha20: Erzeugt aus Schlüssel (256 Bit), Nonce (96 Bit) und Zähler einen Schlüsselstrom, der per XOR auf die Daten wirkt. Besteht nur aus Addition, Rotation und XOR, läuft also in konstanter Zeit ohne Tabellen. Das erschwert Zeitangriffe.
- Poly1305: Berechnet aus einem Einmalschlüssel eine 16-Byte-Marke über die Daten. Wird sie beim Entschlüsseln nicht bestätigt, wird abgelehnt.
- Vorteil: Auf älteren Handys und kleinen Geräten ohne AES-Befehle oft deutlich schneller als AES-GCM.
- Wichtig: Die Nonce darf sich mit demselben Schlüssel nie wiederholen.
- Entstehung: Entwickelt von Daniel J. Bernstein.
Siehe auch: AES-Betriebsmodi