ChaCha20-Poly1305
Was ist ChaCha20-Poly1305?
ChaCha20-Poly1305AEAD-Konstruktion, die die Stromchiffre ChaCha20 mit dem Einmal-Authenticator Poly1305 verbindet; normiert in RFC 8439 fuer TLS 1.3 und WireGuard.
ChaCha20-Poly1305 ist die in RFC 8439 (die RFC 7539 abloeste) spezifizierte AEAD-Chiffre. ChaCha20 ist eine von Daniel J. Bernstein entworfene ARX-Stromchiffre mit 256-Bit-Schluessel, 96-Bit-Nonce und 32-Bit-Zaehler, die pro Aufruf einen 512-Bit-Keystream-Block erzeugt; Poly1305 ist ein 128-Bit-Einweg-MAC ueber Chiffrat und zugehoerige Daten, dessen Schluessel aus dem ersten ChaCha20-Block stammt. Da sie zeitkonstant und auch in reiner Software ohne AES-NI sehr schnell ist, brachte Google sie 2014 (vorangetrieben von Adam Langley) in Chrome und Android, um Mobilgeraete ohne AES-Hardware zu schuetzen, wo sie die Cache-Timing-Schwaechen des tabellenbasierten AES vermeidet.
Heute ist sie allgegenwaertig: TLS-1.2-Suiten (RFC 7905), eine verpflichtende TLS-1.3-Suite (RFC 8446), QUIC (RFC 9001), chacha20-poly1305@openssh.com in OpenSSH seit 6.5, OpenVPN und jeder WireGuard-Datenframe. Die Variante mit erweitertem Nonce XChaCha20-Poly1305 (192-Bit-Nonce, popularisiert durch libsodium) erlaubt zufaellig gewaehlte Nonces ohne Geburtstags-Sorgen.
Wie AES-GCM versagt sie katastrophal bei Nonce-Wiederverwendung: ein wiederholter Nonce unter demselben Schluessel gibt das XOR zweier Klartexte preis und legt den Poly1305-Schluessel offen, was Nachrichtenfaelschung ermoeglicht. Implementierungen nutzen daher deterministische Zaehler und wechseln den Schluessel, bevor der Zaehler ueberlaeuft.
flowchart LR K[256-Bit-Schluessel] --> CC[ChaCha20] N[96-Bit-Nonce] --> CC CC -->|Block 0| PK[Poly1305-Einmalschluessel] CC -->|Bloecke 1..n| KS[Keystream] P[Klartext] --> X((XOR)) KS --> X X --> CT[Chiffrat] AD[Zugehoerige Daten] --> PM[Poly1305-MAC] CT --> PM PK --> PM PM --> TAG[128-Bit-Tag] CT --> OUT[Chiffrat + Tag] TAG --> OUT
● Beispiele
- 01
TLS-1.3-Suite TLS_CHACHA20_POLY1305_SHA256.
- 02
WireGuard verschluesselt Tunnel-Datenframes mit ChaCha20-Poly1305.
● Häufige Fragen
Was ist ChaCha20-Poly1305?
AEAD-Konstruktion, die die Stromchiffre ChaCha20 mit dem Einmal-Authenticator Poly1305 verbindet; normiert in RFC 8439 fuer TLS 1.3 und WireGuard. Es gehört zur Kategorie Kryptografie der Cybersicherheit.
Was bedeutet ChaCha20-Poly1305?
AEAD-Konstruktion, die die Stromchiffre ChaCha20 mit dem Einmal-Authenticator Poly1305 verbindet; normiert in RFC 8439 fuer TLS 1.3 und WireGuard.
Wie schützt man sich gegen ChaCha20-Poly1305?
Schutzmaßnahmen gegen ChaCha20-Poly1305 kombinieren typischerweise technische Kontrollen und operative Praktiken, wie in der Definition oben beschrieben.
Welche anderen Bezeichnungen gibt es für ChaCha20-Poly1305?
Übliche alternative Bezeichnungen: ChaCha20/Poly1305, RFC 8439, ChaPoly.