ChaCha20-Poly1305 Verschlüsseln
Kostenloses Online-ChaCha20-Poly1305-Verschlüsseln-Tool. 100% lokale Verarbeitung – Ihre Daten verlassen Ihr Gerät nie.
Ergebnis wird hier angezeigt...
Eingabe → Verschlüsseln
Usage Guide
Über ChaCha20-Poly1305
ChaCha20-Poly1305 ist ein authentifiziertes Verschlüsselungsverfahren mit zugehörigen Daten (AEAD), das die ChaCha20-Stromchiffre mit dem Poly1305-Nachrichtenauthentifizierungscode kombiniert. Es wurde von Daniel J. Bernstein entworfen, in RFC 8439 standardisiert und in TLS 1.3, SSH und WireGuard als primäre Cipher-Suite übernommen. Es bietet in einem einzigen Vorgang sowohl Vertraulichkeit (Verschlüsselung) als auch Integrität (Authentifizierung) und verhindert sowohl Abhören als auch Manipulation des Chiffretexts. ChaCha20-Poly1305 wurde als softwarefreundliche Alternative zu AES-GCM für Plattformen ohne Hardware-AES-Beschleunigung entwickelt.
Verwendungsschritte
Dieses Tool unterstützt sowohl Verschlüsselung als auch Entschlüsselung. Der Schlüssel ist erforderlich; der Nonce wird automatisch generiert, wenn er leer bleibt:
Schlüssel- und Nonce-Format
ChaCha20-Poly1305 verwendet Parameter fester Größe:
ChaCha20-Poly1305 vs. AES-GCM
Beide sind AEAD-Chiffren in TLS 1.3. So wählen Sie:
FAQ
Q: Warum ist die Ausgabe länger als die Eingabe?
A: Die verschlüsselte Ausgabe ist base64-kodiert und enthält: 12 Byte Nonce + Klartextlänge + 16 Byte Poly1305-Authentifizierungsmarke. Der binäre Overhead beträgt also 28 Byte (12 Nonce + 16 Marke), und Base64-Kodierung fügt ca. 33% zusätzliche Länge hinzu.
Q: Was passiert, wenn ich den Chiffretext manipuliere?
A: ChaCha20-Poly1305 wird die Entschlüsselung des manipulierten Chiffretexts verweigern. Die Poly1305-Marke ist ein Nachrichtenauthentifizierungscode, der über den gesamten Chiffretext berechnet wird. Jede Änderung — selbst ein einzelnes Bit — führt dazu, dass die Markenverifizierung fehlschlägt, und die Entschlüsselungsfunktion gibt einen Fehler zurück, anstatt beschädigten Klartext zu erzeugen.
Q: Wie unterscheidet sich ChaCha20-Poly1305 von reinem ChaCha20?
A: Reines ChaCha20 bietet nur Vertraulichkeit — es verschlüsselt Daten, erkennt aber keine Manipulation. ChaCha20-Poly1305 kombiniert ChaCha20-Verschlüsselung mit einer Poly1305-Authentifizierungsmarke und bietet sowohl Vertraulichkeit als auch Integrität. Bevorzugen Sie bei jeder praktischen Verwendung immer ChaCha20-Poly1305 gegenüber reinem ChaCha20.
Q: Kann ich denselben Schlüssel für mehrere Nachrichten verwenden?
A: Ja, aber jede Nachricht muss einen eindeutigen Nonce verwenden. Das (Schlüssel, Nonce)-Paar darf niemals wiederverwendet werden. Bei 12-Byte-Nonces ergibt die zufällige Nonce-Generierung eine Geburtstags-Kollisionswahrscheinlichkeit von ca. 1 in 296 — sicher für Milliarden von Nachrichten.
Q: Ist ChaCha20-Poly1305 quantencomputerresistent?
A: Wie alle symmetrischen Chiffren ist ChaCha20-Poly1305 vom Grover-Algorithmus betroffen, der die 256-Bit-Sicherheit auf ein 128-Bit-Äquivalent reduziert. 128-Bit-Post-Quanten-Sicherheit gilt für die meisten Anwendungen als ausreichend. ChaCha20-Poly1305 mit seinem 256-Bit-Schlüssel gilt daher auf dem 128-Bit-Sicherheitsniveau als quantenresistent, ebenso wie AES-256-GCM.
Q: Warum schlägt die Entschlüsselung mit 'ungültiger Schlüssel, Nonce oder Chiffretext' fehl?
A: Dieser Fehler bedeutet, dass die Authentifizierungsmarken-Verifizierung fehlgeschlagen ist. Häufige Ursachen:
Falscher Schlüssel: Der Schlüssel stimmt nicht mit dem für die Verschlüsselung verwendeten überein.
Beschädigter Chiffretext: Der Base64-String wurde geändert, abgeschnitten oder falsch eingefügt.
Entschlüsselung von Nicht-ChaCha20-Poly1305-Daten: Die Eingabe wurde mit einem anderen Algorithmus oder Tool verschlüsselt.
Use Cases
Empfohlen: Symmetrische Datei- und Nachrichtenverschlüsselung
ChaCha20-Poly1305 ist eine ausgezeichnete Allzweck-Verschlüsselungswahl für symmetrische Verschlüsselung. Es wird in WireGuard VPN für den gesamten Tunnelverkehr verwendet und ist eine der beiden primären Cipher-Suites in TLS 1.3. Generieren Sie immer einen neuen zufälligen Nonce pro Nachricht (dieses Tool stellt ihn automatisch voran).
- ✅ ChaCha20-Poly1305 (empfohlen für mobil, plattformübergreifend, nur Software)
- ✅ AES-256-GCM (empfohlen, wenn AES-NI-Hardware verfügbar ist)
- ✅ XChaCha20-Poly1305 (erweiterter 24-Byte-Nonce, für Massennachrichten)
- ❌ Verwenden Sie keine nicht-authentifizierten Chiffren (AES-CBC, reines ChaCha20) für neue Projekte
Empfohlen: Mobile und IoT-Verschlüsselung
Auf Plattformen ohne Hardware-AES-Beschleunigung übertrifft ChaCha20-Poly1305 AES-GCM. Da ChaCha20 softwarefreundlich ist, läuft es auf allen Plattformen in konstanter Zeit ohne Timing-Seitenkanalrisiken. Google wählte ChaCha20-Poly1305 als bevorzugte Chiffre für Android-TLS-Verkehr.
- ✅ ChaCha20-Poly1305 (beste Leistung ohne Hardware-AES)
- ✅ AES-256-GCM (akzeptabel auf Geräten mit AES-Hardware)
- 💡 TLS 1.3 verhandelt automatisch — beide Cipher-Suites sind obligatorisch
- ❌ Verwenden Sie kein AES-CBC auf eingeschränkten Geräten (keine Authentifizierung, langsamer)
Akzeptabel: Verschlüsselter lokaler Speicher
ChaCha20-Poly1305 kann lokal gespeicherte sensible Daten schützen. Leiten Sie den Schlüssel aus einem Benutzerpasswort mit Argon2id ab, anstatt das Passwort direkt zu verwenden.
- ✅ ChaCha20-Poly1305 + Argon2id-Schlüsselableitung (passwortbasierte Verschlüsselung)
- ✅ AES-256-GCM + PBKDF2 (FIPS-konforme Umgebungen)
- 💡 Speichern: Argon2id-Parameter + Salt + ChaCha20-Nonce + Chiffretext
- ❌ Verwenden Sie keinen ECB-Modus oder nicht-authentifizierte Chiffren für lokalen Speicher
Nicht empfohlen: Große Dateiverschlüsselung
Standard-ChaCha20-Poly1305 puffert den gesamten Chiffretext vor der Authentifizierung, was für große Dateien speicherintensiv ist. Für Dateien über einige Megabyte verwenden Sie ein dediziertes Tool oder eine Bibliothek, die chunk-basierte Verschlüsselung unterstützt (z.B. libsodium secretstream, age).
- 💡 Verwenden Sie chunk-basiertes AEAD für Dateien größer als einige MB
- ✅ libsodium secretstream (streaming ChaCha20-Poly1305)
- ✅ age-Verschlüsselungstool (dateiorientiert, verwendet intern ChaCha20-Poly1305)
- ✅ AES-256-GCM im Streaming-Modus (für hardwarebeschleunigte Umgebungen)
Nicht empfohlen: Schlüsselaustausch oder Authentifizierung
ChaCha20-Poly1305 ist eine symmetrische Chiffre — beide Parteien müssen bereits denselben geheimen Schlüssel teilen. Es löst das Schlüsselverteilungsproblem nicht. Für sicheren Schlüsselaustausch verwenden Sie ein asymmetrisches Protokoll oder ein vollständiges Protokoll wie TLS 1.3. Für Authentifizierung ohne gemeinsame Geheimnisse verwenden Sie RSA oder ECDSA-Digitalsignaturen.
- ❌ ChaCha20-Poly1305 löst keine Schlüsselverteilung
- ✅ TLS 1.3 (behandelt Schlüsselaustausch + ChaCha20-Poly1305-Datenverschlüsselung)
- ✅ X25519 + ChaCha20-Poly1305 (Noise-Protokollmuster)
- ✅ RSA / ECDSA für digitale Signaturen und Identitätsverifizierung
Nicht empfohlen: Passwort-Hashing
Zusammenfassung der Best Practices
- Verwenden Sie ChaCha20-Poly1305 für symmetrische Verschlüsselung, wo AES-Hardware-Beschleunigung nicht verfügbar ist — mobil, IoT und plattformübergreifende Software.
- Verwenden Sie immer einen eindeutigen zufälligen Nonce für jede Verschlüsselung. Das Tool generiert automatisch einen, wenn Sie das Nonce-Feld leer lassen.
- Die Chiffretext-Ausgabe enthält den 12-Byte-Nonce und den 16-Byte-Authentifizierungs-Tag — Sie müssen nur den einzelnen Base64-String für die Entschlüsselung speichern.
- Verwenden Sie niemals ein (Schlüssel, Nonce)-Paar wieder. Nonce-Wiederverwendung bricht die ChaCha20-Poly1305-Sicherheit vollständig.
- Leiten Sie bei passwortbasierter Verschlüsselung den Schlüssel zuerst mit Argon2id ab — verwenden Sie niemals ein Passwort direkt als ChaCha20-Poly1305-Schlüssel.