Zum Inhalt springen

XChaCha20

Ein moderner symmetrischer Verschlüsselungsalgorithmus für hohe Leistung und Resistenz gegen Timing-Angriffe. Wird von NordPass, Cloudflare und Google als Alternative zu AES eingesetzt.

XChaCha20 ist ein symmetrischer Verschlüsselungsalgorithmus aus der ChaCha-Familie, ursprünglich von Kryptograph Daniel J. Bernstein entwickelt. Er ist eine Extended-Nonce-Variante von ChaCha20: Der grössere Zufallswert (192-Bit-Nonce) bei jeder Verschlüsselungsoperation macht versehentliche Nonce-Wiederverwendung praktisch unmöglich.

Unterschiede zu AES

AES-256 ist der am weitesten verbreitete Verschlüsselungsstandard, aber XChaCha20 hat in bestimmten Kontexten praktische Vorteile:

  • Keine Hardware-Abhängigkeit: Die AES-Leistung hängt von dedizierten CPU-Befehlen (AES-NI) ab. Auf Geräten ohne Hardwarebeschleunigung (ältere Smartphones, IoT-Geräte) kann AES langsam sein. XChaCha20 ist in reiner Software auf jedem Prozessor schnell.
  • Timing-Angriff-Resistenz: AES-Implementierungen ohne Hardware-Unterstützung können Informationen durch Ausführungszeiten preisgeben. XChaCha20 vermeidet datenabhängige Verzweigungen, was Seitenkanalangriffe erschwert.
  • Einfachere Implementierung: Weniger Implementierungsfallen bedeuten weniger Möglichkeiten für subtile Sicherheitslücken.

Sowohl AES-256 als auch XChaCha20 gelten in der kryptographischen Community als sicher. Die Wahl zwischen beiden hängt vom Implementierungskontext ab, nicht von der theoretischen Stärke.

Wo er eingesetzt wird

  • NordPass verwendet XChaCha20 für die Tresor-Verschlüsselung, kombiniert mit Argon2 für die Schlüsselableitung vom Master-Passwort.
  • Cloudflare nutzt ChaCha20-Poly1305 für TLS-Verbindungen, wenn keine AES-Hardwarebeschleunigung verfügbar ist.
  • Google hat ChaCha20-Poly1305 in Chrome und Android aus demselben Grund eingeführt.
  • WireGuard, ein modernes VPN-Protokoll, nutzt ChaCha20-Poly1305 als symmetrischen Algorithmus.

XChaCha20-Poly1305

In der Praxis wird XChaCha20 fast immer mit Poly1305 kombiniert, einem Message Authentication Code. Zusammen bilden sie eine AEAD-Konstruktion (Authenticated Encryption with Associated Data). Das bedeutet: Der Algorithmus verschlüsselt und prüft gleichzeitig die Datenintegrität. Wird ein einziges Bit manipuliert, schlägt die Entschlüsselung fehl. Dasselbe Prinzip steckt hinter AES-GCM, dem authentifizierten Modus von AES.

Warum es relevant ist

Für Endnutzer ist der spezifische Algorithmus weniger wichtig als die Gesamtarchitektur. Ein Passwort-Manager mit XChaCha20 und Zero-Knowledge-Design ist nicht automatisch «sicherer» als einer mit AES-256 und derselben Architektur. Entscheidend sind: Zero-Knowledge (der Anbieter kann deine Daten nicht lesen), korrekte Schlüsselableitung (starkes Master-Passwort-Hashing) und unabhängige Sicherheitsprüfungen.