AES Encrypt / Decrypt
Understand AES Encrypt / Decrypt
Verschlüsselt und entschlüsselt Text in Ihrem Browser mit AES unter einem Passwort, wahlweise mit AES-256-GCM (Voreinstellung), AES-128-GCM, AES-256-CBC, AES-128-CBC oder AES-256-CTR.
How it works
Ihr Passwort ist nicht der Schlüssel. PBKDF2 streckt es zu einem, mit 100.000 Iterationen von HMAC-SHA-256 über ein frisches, 16 Byte langes Zufalls-Salt, ein Angreifer zahlt diesen Aufwand also bei jedem Versuch, und eine für ein Salt vorberechnete Tabelle ist gegen ein anderes wertlos. Pro Verschlüsselung wird ein zufälliger IV gezogen – 12 Byte bei GCM, 16 bei CBC und CTR –, und deshalb ergibt zweimaliges Verschlüsseln desselben Textes nie denselben Ciphertext. Die Ausgabe lautet algorithm:salt:iv:ciphertext in Base64 und trägt jeden Parameter, den die Entschlüsselung braucht, mit Ausnahme des Passworts selbst.
When to use it
- Ein kurzes Geheimnis verschlüsseln, bevor es durch ein Ticket, einen Chatverlauf oder ein geteiltes Dokument läuft.
- Einen Testvektor erzeugen, um zu prüfen, ob eine serverseitige AES-Implementierung mit WebCrypto übereinstimmt.
- Den praktischen Unterschied zwischen einem authentifizierten und einem nicht authentifizierten Modus vorführen.
- Etwas zurücklesen, das Sie hier früher verschlüsselt und als Text abgelegt haben.
- Die Zusammenarbeit mit einem Altsystem prüfen, das nur AES-CBC akzeptiert.
Watch out for
- GCM erkennt Manipulationen; CBC und CTR nicht. Bei GCM lässt ein einzelnes verändertes Ciphertext-Byte die Entschlüsselung vollständig scheitern. Bei CTR kippt ein Angreifer, der ein Ciphertext-Bit kippt, dasselbe Klartext-Bit, und CBC ist der Modus hinter der Angriffsklasse des Padding-Orakels. Wählen Sie CBC oder CTR nur zur Zusammenarbeit mit anderen Systemen und ergänzen Sie dann einen eigenen MAC über den Ciphertext.
- Das Passwort ist die Obergrenze. 100.000 PBKDF2-Iterationen verlangsamen das Raten um diesen Faktor, können ein schwaches Passwort aber nicht retten – ein Wörterbuchwort wird weiterhin gefunden, unabhängig von der Schlüssellänge. Die Stärke dieser Ausgabe ist die Stärke dessen, was Sie eingetippt haben.
- Verwenden Sie niemals einen IV oder Zählerblock mit demselben Schlüssel erneut. Dieses Tool erzeugt pro Verschlüsselung ein frisches Salt und einen frischen IV, in dieser Verwendung ist es also sicher; die Regel zählt aber in dem Moment, in dem Sie das Format neu implementieren: Eine wiederholte GCM-Nonce gibt das XOR der beiden Klartexte preis und kann den Authentifizierungsschlüssel selbst offenlegen.
- AES-256 gegenüber AES-128 ist nicht die entscheidende Frage. Keine der beiden Schlüssellängen ist praktisch gebrochen; Modus und Passwort bestimmen die Sicherheit in der Praxis. Wählen Sie AES-256-CBC nicht wegen der größeren Zahl gegenüber AES-128-GCM.
Not the right tool for: Ein Geheimnis an jemanden zu senden, der Ihr Passwort nicht bereits kennt. Dies ist symmetrische Verschlüsselung ohne Schlüsselaustausch, ohne Identität und ohne Forward Secrecy – nutzen Sie dafür age, PGP oder die Schlüsselverwaltung für Empfänger, die Ihre Plattform bereits bietet.
Frequently Asked Questions
Welchen AES-Algorithmus sollte ich wählen?
AES-256-GCM ist die Voreinstellung und für fast jeden neuen Einsatz die richtige Antwort. GCM ist authentifiziert, eine Manipulation am Ciphertext lässt die Entschlüsselung also scheitern, statt Unsinn zurückzugeben. Wählen Sie CBC oder CTR nur, wenn ein System, mit dem Sie zusammenarbeiten müssen, es verlangt – keines von beiden erkennt Manipulationen von sich aus.
Ist AES-128 unsicherer als AES-256?
Beide gelten als sicher; kein praktikabler Angriff bricht eine der beiden Schlüssellängen. AES-256 hat eine größere Reserve gegenüber künftigen Fortschritten und ist die übliche Wahl für langlebige Daten, AES-128 ist geringfügig schneller. Der gewählte Modus (GCM gegenüber CBC) beeinflusst die Sicherheit in der Praxis weit stärker als die Schlüssellänge.
Was ist PBKDF2 und wozu dient es?
PBKDF2 (Password-Based Key Derivation Function 2) wandelt ein von Hand eingegebenes Passwort in einen kryptografischen Schlüssel um, mit 100.000 Iterationen von HMAC-SHA256 und einem zufälligen Salt. Die Iterationen machen Brute-Force-Angriffe 100.000-mal langsamer, als das Passwort einmal zu hashen.
Kann ich diese Ausgabe in einer anderen Programmiersprache entschlüsseln?
Ja. Die Ausgabe lautet algorithm:salt:iv:ciphertext und enthält jeden Parameter, den die Entschlüsselung braucht. Bilden Sie dieselben PBKDF2-Einstellungen nach (100.000 Iterationen, SHA-256, das eingebettete Salt) sowie das genannte Verfahren, und der Ciphertext entschlüsselt sich in jeder Sprache identisch.
How to Use AES Encrypt / Decrypt
- Paste or type your input in the input area above.
- The tool processes your input automatically or click Run.
- Copy or download the result using the action buttons.
- Use Ctrl+Enter to run quickly from the keyboard.