Proton Startseite

Was ist ChaCha20?

ChaCha20 hilft dabei, deine Daten zu schützen, wenn du Nachrichten sendest, Dateien speicherst oder privat mit einer App oder einem Dienst surfst.

Es ist a moderner Verschlüsselungsalgorithmus, der entwickelt wurde, um Informationen vertraulich zu behandeln und gleichzeitig auf einer Vielzahl von Geräten schnell und effizient zu sein.

Erfahre, wie ChaCha20 funktioniert, warum es in der modernen Kryptografie wichtig ist und wie es im Vergleich zu AES abschneidet.

Was ist ChaCha20?

ChaCha20 ist eine schnelle, leichtgewichtige und hochsichere symmetrische 256-Bit-Chiffre, die zum Verschlüsseln und Entschlüsseln von Daten verwendet wird. Es wurde von Daniel J. Bernstein als Verbesserung einer früheren Chiffre namens Salsa20 entwickelt. Das Ziel war es, etwas zu erschaffen, das sowohl effizient als auch sicher ist, insbesondere in Software.

Wie ChaCha20 funktioniert

ChaCha20 verschlüsselt Daten, indem es einen Stream aus sicheren pseudozufälligen Bytes generiert und diesen Stream mit der ursprünglichen Nachricht kombiniert. Das Ergebnis ist eine verschlüsselte Ausgabe, die für jeden ohne den geheimen Schlüssel wie zufällig aussieht.

Da es denselben Schlüssel zum Verschlüsseln und Entschlüsseln von Daten verwendet, ist ChaCha20 viel schneller als RSA, ein asymmetrischer Algorithmus, der einen öffentlichen und einen privaten Schlüssel verwendet. RSA ist nützlich für den Schlüsselaustausch und Signaturen, aber ChaCha20 eignet sich besser für das Verschlüsseln großer Mengen an Internetverkehr.

Auf hoher Ebene nimmt ChaCha20 drei Eingaben an: einen geheimen Schlüssel, eine Nonce (eine einmalig verwendete Zahl – ein eindeutiger Wert, der für jede Verschlüsselung verwendet wird) und einen Zähler (um beim Generieren verschiedener Ausgabeblöcke zu helfen). Es verwendet diese Werte, um einen internen Zustand zu initialisieren, der dann wiederholt gemischt wird, um einen Stream aus sicheren pseudozufälligen Bytes zu erzeugen, der als Keystream bezeichnet wird.

Dieser Mischprozess basiert auf drei einfachen Operationen – Addition, XOR und Bitrotation –, die über 20 Runden angewendet werden, um die Daten gründlich zu verwürfeln. Der resultierende Keystream wird dann mit dem Klartext kombiniert, um den Chiffretext – die verschlüsselten Daten – zu erzeugen.

Warum ChaCha20 wichtig ist

ChaCha20 löst ein praktisches Problem der modernen Sicherheit: wie man eine starke Verschlüsselung erhält, die auf vielen Geräten sowohl effizient als auch zuverlässig ist. Es ist sehr schnell in Software, gut auf Telefonen, kleinen Geräten und älteren CPUs und basiert auf einfachen Operationen, die Computer gut beherrschen (Addieren, XOR, Rotieren).

Diese Funktionen machen es attraktiv für Systeme wie TLS, VPNs(neues Fenster), SSH und Messaging-Apps. Beispielsweise wird ChaCha20 vom WireGuard®(neues Fenster)-VPN-Protokoll(neues Fenster) verwendet, um eine schnelle, sichere Verschlüsselung mit starker Leistung zu bieten, selbst auf Geräten, die keine spezialisierte AES-Hardware haben.

ChaCha20 vs. AES

Hier ist ein Vergleich zwischen ChaCha20 und AES:

ChaCha20 vs. AES

Aspekt

ChaCha20

AES

Chiffretyp

Stromchiffre

Blockchiffre

Grundlegende Operation

Additionen/XORs/Rotationen auf 32-Bit-Wörtern

Substitution-Permutation auf 128-Bit-Blöcken

Standard-Schlüsselgrößen

256-Bit

128, 192, 256-Bit

Leistung auf CPUs ohne spezielle Hardware

Normalerweise sehr schnell

Oft langsamer als ChaCha20

Leistung auf CPUs mit Hardwarebeschleunigung

Unterliegt normalerweise AES mit AES-NI- / ARM-Krypto-Erweiterungen

Oft extrem schnell

Typischer authentifizierter Modus

ChaCha20-Poly1305

AES-GCM

Häufige Anwendungsfälle

TLS auf Mobilgeräten/eingebetteten Systemen, reine Software-Kryptografie, WireGuard®

TLS, Festplattenverschlüsselung, Unternehmenssysteme, hardwaregestützte Verschlüsselung

Beste Eignung

Portabilität, konsistente Software-Geschwindigkeit, sicherere Software-Implementierung

Maximale Geschwindigkeit auf moderner Hardware, breite Compliance / breiter Support

Die AES-Verschlüsselung ist der seit langem etablierte Standard und ist auf Prozessoren mit integriertem AES-Hardware-Support extrem schnell. Aus diesem Grund erbringt sie auf vielen Desktops, Servern und neueren Mobilchips eine besonders gute Leistung. Ohne AES-Hardware-Support kann reines Software-AES jedoch langsamer und manchmal schwieriger sicher zu implementieren sein. Im Gegensatz dazu ist ChaCha20 so konzipiert, dass es in gewöhnlicher Software sehr schnell ist, da es einfache Operationen wie Addition, XOR und Rotation verwendet, die auf fast jedem Prozessor effizient funktionieren.

Wenn eine Anwendung sowohl AES als auch ChaCha20 anbietet, musst du diese normalerweise nicht manuell auswählen, da die meisten modernen Apps die bessere Option automatisch basierend auf deinem Gerät und Prozessor auswählen. Im Allgemeinen schneidet AES auf neueren Geräten mit integriertem AES-Support am besten ab, während ChaCha20 eine bessere Wahl auf Geräten ist, bei denen die Verschlüsselung hauptsächlich in Software abgewickelt wird, wie z. B. bei einigen Telefonen, stromsparender Hardware oder älteren CPUs.

Ist ChaCha20 sicher?

ChaCha20 gilt nach modernen Standards als sicher, wenn es korrekt implementiert und mit einer eindeutigen Nonce für jede Verschlüsselung verwendet wird.

Starke Verschlüsselung

ChaCha20 verwendet 20 Runden von Add-Rotate-XOR-Operationen und gilt als resistent gegen bekannte praktische Angriffe.

Gute Software-Sicherheit

Sein einfaches Design macht es in Software effizient und kann einige Seitenkanalrisiken reduzieren, die bei bestimmten AES-Implementierungen auftreten.

Weit verbreitet bereitgestellt

ChaCha20 wird von den gängigen Browsern unterstützt und in modernen HTTPS/TLS-Verbindungen, SSH und WireGuard® verwendet.

Normalerweise mit Poly1305 kombiniert

Es wird oft als ChaCha20-Poly1305 verwendet, was sowohl die Vertraulichkeit als auch die Nachrichtenintegrität schützt. ChaCha20-Poly1305 ist eine der wichtigsten symmetrischen Verschlüsselungsoptionen, die in TLS 1.3 verwendet werden.

Proton VPN und ChaCha20

Mit dem WireGuard®-Protokoll(neues Fenster) von Proton VPN hilft ChaCha20-Poly1305 dabei, den VPN-Tunnel zu sichern, sodass dein Internetverkehr privat bleibt, ohne an Geschwindigkeit einzubüßen – egal, ob du privat surfst, Inhalte streamst oder unterwegs öffentliches WLAN nutzt.

Mehr über Verschlüsselung erfahren