ChaCha20-Poly1305 Verschlüsseln

Kostenloses Online-ChaCha20-Poly1305-Verschlüsseln-Tool. 100% lokale Verarbeitung – Ihre Daten verlassen Ihr Gerät nie.

National Standards
Legacy
Ausgabe

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.

Moderner TLS-Standard: ChaCha20-Poly1305 ist eine der beiden obligatorischen Cipher-Suites in TLS 1.3 (neben AES-256-GCM). Es ist die bevorzugte Wahl auf mobilen Geräten und IoT-Geräten und ist sicherheitsmäßig vergleichbar mit AES-256-GCM auf allen Plattformen.

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:

1. Schlüssel generieren oder eingebenKlicken Sie auf den Zufallsknopf neben 'Secret Key', um einen zufälligen 32-Byte-Schlüssel (256 Bit) zu generieren, oder geben Sie eine eigene 32-Zeichen-Zeichenkette ein
2. Nonce (optional)Leer lassen, um bei jeder Verschlüsselung automatisch einen zufälligen 12-Byte-Nonce zu generieren. Bei der Entschlüsselung ist der Nonce im Chiffretext eingebettet — lassen Sie dieses Feld leer
3. VerschlüsselnGeben Sie den Klartext in das Eingabefeld ein, wählen Sie 'Verschlüsseln' und klicken Sie auf 'Verschlüsseln'. Die Ausgabe ist ein Base64-String, der den 12-Byte-Nonce vor dem Chiffretext+Tag enthält
4. EntschlüsselnFügen Sie den Base64-Chiffretext in das Eingabefeld ein, wählen Sie 'Entschlüsseln', geben Sie denselben Schlüssel ein, der für die Verschlüsselung verwendet wurde, und klicken Sie auf 'Entschlüsseln'
Datenschutz: Alle ChaCha20-Poly1305-Operationen laufen vollständig in Ihrem Browser über WebAssembly. Es werden keine Daten an einen Server gesendet — vollständige Offline-Verarbeitung.

Schlüssel- und Nonce-Format

ChaCha20-Poly1305 verwendet Parameter fester Größe:

Schlüssel32 Byte (256 Bit) — als 32-Zeichen-Zeichenkette eingeben oder den Zufallsgenerator verwenden
Nonce12 Byte (96 Bit) — als 12-Zeichen-Zeichenkette eingeben oder leer lassen für automatische Generierung. Den gleichen Nonce niemals mit demselben Schlüssel wiederverwenden
Chiffretextformatbase64(Nonce[12 Byte] + Chiffretext + Authentifizierungsmarke[16 Byte]). Der Nonce wird vorangestellt, sodass die Entschlüsselung eigenständig ist
Marke16 Byte (128 Bit) Poly1305-Authentifizierungsmarke, wird bei der Verschlüsselung automatisch angehängt und bei der Entschlüsselung automatisch verifiziert
Nonce niemals wiederverwenden: Die Wiederverwendung des gleichen (Schlüssel, Nonce)-Paares bricht die Sicherheit von ChaCha20-Poly1305 vollständig — ein Angreifer kann den Schlüsselstrom wiederherstellen und alle Nachrichten entschlüsseln. Verwenden Sie immer einen eindeutigen Nonce für jede Verschlüsselung oder lassen Sie dieses Tool einen automatisch generieren.

ChaCha20-Poly1305 vs. AES-GCM

Beide sind AEAD-Chiffren in TLS 1.3. So wählen Sie:

ChaCha20-Poly1305Bevorzugt auf mobilen, ARM- und IoT-Geräten ohne Hardware-AES. Konstante Zeit in Software, resistent gegen Timing-Angriffe. Kein Hardware-Beschleuniger erforderlich
AES-GCMBevorzugt, wenn AES-NI-Hardware-Anweisungen verfügbar sind (die meisten modernen x86/x64-CPUs). Deutlich schneller mit Hardware-Beschleunigung
SicherheitsäquivalenzBeide bieten 256-Bit-Schlüsselstärke und 128-Bit-Authentifizierungsmarken. Keines wird sicherheitsmäßig als stärker als das andere angesehen
TLS 1.3-StrategieTLS 1.3-Implementierungen verhandeln: AES-GCM auf Servern/Desktops mit AES-NI; ChaCha20-Poly1305 auf mobilen Clients ohne Hardware-AES

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).

Recommended Configuration:
  • ✅ 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.

Recommended Configuration:
  • ✅ 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.

Recommended Configuration:
  • ✅ 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).

Recommended Configuration:
  • 💡 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.

Recommended Configuration:
  • ❌ 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

ChaCha20-Poly1305 ist ein Verschlüsselungsalgorithmus, keine Passwort-Hash-Funktion. Verschlüsselung ist umkehrbar — jeder mit dem Schlüssel kann das Passwort entschlüsseln. Verwenden Sie Argon2id (bevorzugt) oder bcrypt für die Passwortspeicherung.

Recommended Configuration:
  • ❌ Verwenden Sie ChaCha20-Poly1305 nicht für die Passwortspeicherung (es ist umkehrbar)
  • Argon2id (bevorzugter Passwort-Hashing-Algorithmus)
  • bcrypt (weit verbreitet, bestehende Systeme)
  • ✅ scrypt / PBKDF2 (alternative Passwort-KDFs)

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.

Diskussion & Feedback

0 Kommentare
Ich