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.