Zum Inhalt springen
uencoder

ChaCha20

ChaCha20 ist eine von Daniel Bernstein entworfene Stromchiffre auf Basis von ARX-Operationen (Addieren-Rotieren-XOR) und wird meist mit Poly1305 als AEAD kombiniert — eine leistungsstarke Alternative zu AES-GCM.

Zweck

Bietet schnelle, zeitkonstant sichere Verschlüsselung auf Plattformen ohne AES-Hardwarebeschleunigung und vermeidet AES-Timing-Seitenkanäle.

Mechanismus

Als Verbesserung von Salsa20 führt es 20 Runden von Quarter-Round-Operationen aus. Der Zustand ist eine 4×4-Matrix (Konstanten, Schlüssel, Zähler, Nonce). Jede Runde wendet Addieren-Rotieren-XOR auf Spalten und Diagonalen an; der resultierende Schlüsselstrom wird per XOR mit dem Klartext verknüpft.

Anwendungsfälle

  • Eine der Standard-Verschlüsselungssuiten von TLS 1.3
  • WireGuard-VPN
  • Verschlüsselung der Google-Server
  • Mobile Verschlüsselung

Beispiele

  • Eingabe
    key=256bit, nonce=96bit, counter
    Output
    keystream

    Combined with Poly1305 as AEAD

Häufige Fehler

Nonce reuse replays the keystream
Use a unique nonce per message (e.g., a counter)

Verwandte Begriffe

Verwandte Tools

References