So ver- und entschlüsseln Sie AES-Text

Ein Textfeld, ein Passphrasenfeld: Verschlüsseln macht aus Klartext einen AES-Geheimtext, der mit U2FsdGVkX1 beginnt, Entschlüsseln liest einen solchen Geheimtext wieder als UTF-8-Text aus. Beides läuft in der Seite — der Durchlauf funktioniert auch ohne Netzwerk.

Der Schlüssel wird nirgends gespeichert. Er entsteht bei jedem Lauf neu aus der Passphrase und einem zufälligen Salt, deshalb ergibt derselbe Text mit derselben Passphrase jedes Mal eine andere Zeichenfolge.

  1. Fügen Sie den zu verschlüsselnden Text oder einen vorhandenen Geheimtext, der mit U2FsdGVkX1 beginnt, in das obere Feld ein.
  2. Tragen Sie die Passphrase in das Feld neben den Schaltflächen ein. Sie ist das einzige Geheimnis: Ohne dieselbe Passphrase lässt sich das Ergebnis nicht zurücklesen.
  3. Drücken Sie Verschlüsseln oder Entschlüsseln. Das neue Ergebnis ersetzt das vorherige; schlägt der Lauf fehl, wird die Ausgabe geleert, statt den alten Text stehen zu lassen.
  4. Prüfen Sie das Ergebnis bei Bedarf mit einem zweiten Werkzeug: openssl enc -d -aes-256-cbc -md md5 -a -pass pass:IHRE_PASSPHRASE liest einen hier erzeugten Geheimtext.
  5. Drücken Sie Leeren, um Text, Passphrase und Ergebnis vor dem nächsten Lauf zu entfernen.

Was die Ausgabe wirklich ist

Der Salted__-Container und sein zufälliges Salt

Die Ausgabe ist Base64, deren erste Bytes zu Salted__ dekodieren, gefolgt von acht zufälligen Salt-Bytes und dem Geheimtext. Schlüssel und IV entstehen aus Passphrase und Salt über EVP_BytesToKey mit MD5 — dasselbe Verfahren, das openssl enc für Passphrasen verwendet.

Weil das Salt bei jedem Lauf neu ist, wird derselbe Satz jedes Mal zu einer anderen Zeichenfolge, und beide führen zum selben Text zurück. In beide Richtungen geprüft: openssl liest die Ausgabe dieser Seite, und diese Seite liest die Ausgabe von openssl enc -aes-256-cbc -md md5.

Was die Seite nicht prüfen kann

Der Algorithmus ist AES-256-CBC, und der Container trägt weder Signatur noch Authentifizierungs-Tag. Falsche Passphrase, abgeschnittene Zeichenfolge und ein geändertes Byte enden in derselben Meldung, und ein geänderter Geheimtext kann als unlesbarer Text herauskommen: In einem Test mit sechs zufälligen Zeichenänderungen schlugen fünf fehl, eine lieferte kommentarlos Datenmüll.

Die Ableitung ist ein einzelner MD5-Durchlauf über die Passphrase, ohne den Arbeitsaufwand von PBKDF2 oder Argon2. Damit ist die Passphrase der schwache Punkt — die Seite eignet sich zum Nachvollziehen und Prüfen vorhandener AES-Daten, nicht zum Schutz neuer Geheimnisse.

Kompatibilität und Grenzen

Text hinein, Text hinaus: Dateien, Binärdaten und Hex-Eingaben werden hier nicht verarbeitet. Entschlüsselt wird nur dieser saltierte Passphrasen-Container im CBC-Modus; Ausgaben mit -nosalt, mit ausdrücklichem -K und -iv, mit einem anderen Modus wie ECB oder aus einer anderen Bibliothek scheitern mit derselben Meldung.

200 KB Text verschlüsselt Chrome in etwa 15 ms; bei mehreren Megabyte ist ein lokales Kommandozeilenwerkzeug die bessere Wahl.

Zuletzt verwendet: