Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 181

ChaCha20

Geprüft vonCybersecurity entrepreneur & security researcher

Was ist ChaCha20?

ChaCha20Eine moderne Stromchiffre von Daniel J. Bernstein mit 256-Bit-Schlüssel und 96-Bit-Nonce, weit verbreitet zusammen mit Poly1305 als AEAD ChaCha20-Poly1305.


ChaCha20 ist eine 20-rundige Stromchiffre, die Daniel J. Bernstein 2008 als Weiterentwicklung seines Salsa20-Entwurfs konzipiert hat. Sie erzeugt einen Schlüsselstrom aus einem 256-Bit-Schlüssel, einem 96-Bit-Nonce und einem 32-Bit-Blockzähler und verwendet dabei ausschließlich Add-Rotate-XOR-Operationen (ARX) auf 32-Bit-Worten – eine „Quarter-Round" mischt jeweils vier Zustandsworte. Da sie keine Nachschlagetabellen benötigt, ist sie schnell und auf CPUs ohne AES-Hardware von Natur aus konstant in der Zeit, weshalb Google sie 2014 erstmals zum Schutz von Android- und Chrome-Datenverkehr einsetzte. Kombiniert mit dem Poly1305-MAC ist das AEAD-Verfahren ChaCha20-Poly1305 in RFC 8439 standardisiert (der RFC 7539 abgelöst hat) und eine der beiden verpflichtenden Ciphersuites in TLS 1.3, neben AES-GCM. Es bildet außerdem die Grundlage von QUIC, WireGuard, OpenSSH, dem Signal-Protokoll und dem RNG des Linux-Kernels.

Die entscheidende betriebliche Falle ist die Nonce-Wiederverwendung: Werden zwei Nachrichten mit demselben Schlüssel und Nonce verschlüsselt, offenbart dies das XOR ihrer Klartexte und den Einmal-Poly1305-Schlüssel, wodurch sowohl Vertraulichkeit als auch Authentizität gebrochen werden. Der 96-Bit-Nonce ist für einen verbindungsbezogenen Zähler komfortabel, für die zufällige Erzeugung in großem Maßstab jedoch riskant, weshalb XChaCha20 (draft-irtf-cfrg-xchacha) den Nonce über eine HChaCha20-Teilschlüsselableitung auf 192 Bit erweitert und damit zufällige Nonces sicher macht. Nach mehr als einem Jahrzehnt Kryptanalyse gibt es keinen Angriff, der die vollständige 20-Runden-Chiffre bricht.

flowchart LR
  K[256-Bit-Schlüssel] --> S[Zustand initialisieren: Konstanten, Schlüssel, Zähler, Nonce]
  N[96-Bit-Nonce] --> S
  CTR[Blockzähler] --> S
  S --> R[20 Runden ARX-Quarter-Rounds]
  R --> KS[Schlüsselstrom-Block]
  PT[Klartext] --> X((XOR))
  KS --> X
  X --> CT[Chiffrat]
  CT --> P[Poly1305-MAC]
  P --> TAG[Authentifizierungs-Tag]

Beispiele

  1. 01

    TLS 1.3 und QUIC nutzen auf Mobilgeräten TLS_CHACHA20_POLY1305_SHA256.

  2. 02

    WireGuard verschlüsselt sämtliche Datenpakete mit ChaCha20-Poly1305.

Häufige Fragen

Was ist ChaCha20?

Eine moderne Stromchiffre von Daniel J. Bernstein mit 256-Bit-Schlüssel und 96-Bit-Nonce, weit verbreitet zusammen mit Poly1305 als AEAD ChaCha20-Poly1305. Es gehört zur Kategorie Kryptografie der Cybersicherheit.

Was bedeutet ChaCha20?

Eine moderne Stromchiffre von Daniel J. Bernstein mit 256-Bit-Schlüssel und 96-Bit-Nonce, weit verbreitet zusammen mit Poly1305 als AEAD ChaCha20-Poly1305.

Wie schützt man sich gegen ChaCha20?

Schutzmaßnahmen gegen ChaCha20 kombinieren typischerweise technische Kontrollen und operative Praktiken, wie in der Definition oben beschrieben.

Verwandte Begriffe

Siehe auch