Cryptor (AES-256) — Manual

Vollständige Funktionsbeschreibung von Cryptor: AES-256-GCM, PBKDF2 mit 300.000 Iterationen, Ausgabeformat, alle Buttons, Datei-Operationen und Betriebsgrenzen.

Zurück zur Übersicht: Cryptor (AES-256) · Tool live öffnen: www.jpkc.com/tools/cryptor/

Dieses Manual beschreibt Cryptor (AES-256) vollständig: wie die Oberfläche aufgebaut ist, welche Krypto-Parameter exakt gelten, was jeder Button tut und welche Grenzen der Browser-Betrieb mit sich bringt. Die Oberfläche des Tools ist auf Englisch — die Labels werden hier deshalb in ihrer englischen Original-Schreibweise genannt (mit deutscher Erläuterung), damit du dich im echten Interface zurechtfindest.

Aufbau der Oberfläche

Cryptor besteht aus zwei Spalten:

  • Input (links) — ein Passwortfeld (Password) mit Generieren-Knopf und ein großes Textfeld (Message) für den Klartext oder das Chiffrat.
  • Encryption und File Operations (rechts) — die Aktionsknöpfe.

Das Passwortfeld ist ein normales Textfeld, sein Inhalt ist also sichtbar (nicht als Punkte maskiert). Der Hinweis darunter — „Used for both encryption and decryption" — bringt das Kernprinzip auf den Punkt: Es gibt nur ein Passwort, und es wird sowohl zum Verschlüsseln als auch zum Entschlüsseln gebraucht. Geht es verloren, ist das Chiffrat nicht mehr lesbar.

Das Message-Feld dient doppelt: Hier steht entweder der Klartext, den du verschlüsseln willst, oder das Chiffrat, das du entschlüsseln willst. Das Ergebnis einer Aktion ersetzt jeweils den Feldinhalt.

Ablauf

Der typische Ablauf hat drei Schritte:

  1. Passwort eingeben — selbst tippen oder über den Schlüssel-Knopf generieren lassen.
  2. Text eingeben — Klartext (zum Verschlüsseln) oder Chiffrat (zum Entschlüsseln) in das Message-Feld.
  3. Aktion wählenEncrypt oder Decrypt. Das Ergebnis erscheint im selben Feld und kann kopiert oder gespeichert werden.

Beim Laden prüft Cryptor, ob der Browser die Web-Crypto-API unterstützt. Fehlt sie, erscheint eine Fehlermeldung und die Encrypt-/Decrypt-Knöpfe bleiben deaktiviert.

Krypto-Parameter im Detail

Die moderne Verschlüsselung von Cryptor nutzt die Web-Crypto-API des Browsers (crypto.subtle). Die Parameter sind fest verdrahtet und entsprechen gängigen Empfehlungen.

AES-256-GCM

Algorithmus ist AES mit 256 Bit Schlüssellänge im GCM-Modus (Galois/Counter Mode). GCM ist eine authentifizierte Verschlüsselung (AEAD): Neben dem Chiffrat entsteht ein Authentifizierungs-Tag von 128 Bit. Beim Entschlüsseln prüft der Browser dieses Tag — stimmt es nicht (falsches Passwort, manipuliertes oder beschädigtes Chiffrat), schlägt die Entschlüsselung fehl, statt fehlerhaften Klartext auszugeben.

PBKDF2-Schlüsselableitung

Aus deinem Passwort wird der eigentliche AES-Schlüssel über PBKDF2 abgeleitet, mit der Hash-Funktion SHA-256 und 300.000 Iterationen. Diese Iterationszahl folgt einer OWASP-Empfehlung und ist bewusst hoch: Sie verlangsamt jeden einzelnen Ableitungsversuch und macht damit das systematische Durchprobieren von Passwörtern teuer.

Salt und IV

Vor jeder Verschlüsselung erzeugt Cryptor zwei Zufallswerte aus dem kryptografisch sicheren Generator des Browsers (crypto.getRandomValues):

  • einen Salt von 16 Byte (128 Bit) — er fließt in die PBKDF2-Ableitung ein, sodass dasselbe Passwort jedes Mal einen anderen Schlüssel ergibt;
  • einen IV (Initialisierungsvektor) von 12 Byte (96 Bit) — die für GCM empfohlene Länge.

Weil Salt und IV bei jedem Lauf neu zufällig sind, ergibt derselbe Text mit demselben Passwort jedes Mal ein anderes Chiffrat. Das ist gewollt und ein Zeichen korrekter Kryptografie.

Ausgabeformat

Das Chiffrat wird als ein einziger Base64-String ausgegeben. Vor der Base64-Kodierung werden die Bestandteile in dieser Reihenfolge aneinandergehängt:

Base64( salt[16 Byte] + iv[12 Byte] + ciphertext + tag[16 Byte] )

Salt und IV stehen also mit im Chiffrat — sie müssen nicht geheim sein und werden zum Entschlüsseln gebraucht. Das Authentifizierungs-Tag (16 Byte) hängt der GCM-Modus an das Chiffrat an. Zum Entschlüsseln zerlegt Cryptor den Base64-Block wieder in Salt, IV und Daten, leitet mit dem Salt den Schlüssel ab und entschlüsselt. Ist der Block zu kurz (kürzer als Salt + IV + Tag + mindestens ein Byte), wird er als ungültig abgewiesen.

Die Aktionen im Detail

Encrypt

Verschlüsselt den Inhalt des Message-Feldes mit dem Passwort. Vorbedingungen, die das Tool prüft:

  • Es muss ein Text vorhanden sein (sonst Hinweis „Please enter a message to encrypt.").
  • Es muss ein Passwort vorhanden sein (sonst „Please enter a password.").
  • Das Passwort muss mindestens 8 Zeichen lang sein (sonst „Password should be at least 8 characters.").

Während der Berechnung zeigt der Knopf einen Ladezustand. Danach steht im Message-Feld der Base64-Block, und eine Meldung bestätigt „Message encrypted with AES-256-GCM.".

Decrypt

Entschlüsselt den Inhalt des Message-Feldes mit dem Passwort. Auch hier müssen Text und Passwort vorhanden sein. Cryptor erkennt dabei automatisch das Format:

  • Beginnt das Chiffrat mit der Zeichenfolge U2FsdGVkX1 (das ist Base64 für Salted__), behandelt das Tool es als Legacy-Format und entschlüsselt es über die mitgelieferte Altbibliothek (siehe unten).
  • Andernfalls wird es als modernes AES-256-GCM-Chiffrat über die Web-Crypto-API entschlüsselt.

Schlägt die Entschlüsselung fehl — etwa wegen falschen Passworts oder beschädigter Daten —, erscheint die Meldung „Decryption failed. Check your password." und der Feldinhalt bleibt unverändert.

Generate secure password

Der Knopf mit dem Schlüssel-Symbol neben dem Passwortfeld erzeugt ein 64 Zeichen langes Zufallspasswort und trägt es ein. Das Passwort kommt von einem kleinen Server-Endpunkt, der es mit PHPs kryptografisch sicherem random_int aus einem Zeichensatz aus Klein- und Großbuchstaben, Ziffern und einer Reihe von Sonderzeichen (, . - ; _ # + * ! § $ % & / ( ) = ?) zusammensetzt. Übertragen wird dabei nichts von deinen Daten — der Endpunkt liefert nur die Zeichenkette zurück.

Der zugrunde liegende Endpunkt akzeptiert eine Länge von 1 bis 64 Zeichen (Aufruf-Schema /tools/cryptor/pw/{länge}/); der Knopf in der Oberfläche fordert immer die maximale Länge 64 an. Es handelt sich um eine reine Hilfsfunktion zur Passwort-Erzeugung, kein dokumentiertes öffentliches API.

Copy

Kopiert den aktuellen Inhalt des Message-Feldes in die Zwischenablage. Ist das Feld leer, erscheint der Hinweis „Nothing to copy.".

Open, Save, Clear

Die Karte File Operations bündelt den Dateiumgang:

  • Open öffnet einen Datei-Dialog (akzeptiert .txt, .enc, .aes) und lädt den Textinhalt der gewählten Datei als UTF-8 in das Message-Feld.
  • Save speichert den aktuellen Feldinhalt als Textdatei mit dem Namen encrypted.txt (Download über den Browser). Ist das Feld leer, kommt „Nothing to save.".
  • Clear leert sowohl das Message-Feld als auch das Passwortfeld. Praktisch, um nach getaner Arbeit keine sensiblen Reste stehen zu lassen.

Drag-and-drop

Du kannst eine Datei direkt auf das Message-Feld ziehen und fallen lassen; ihr Textinhalt wird dann (wie bei Open) als UTF-8 geladen. Während du eine Datei über das Feld ziehst, hebt es sich optisch hervor.

Legacy-Format (gibberish-aes)

Aus Kompatibilitätsgründen liefert Cryptor eine Altbibliothek (gibberish-aes) mit — aber nur zum Entschlüsseln. Damit lassen sich Nachrichten lesen, die mit einer früheren Version des Tools (im OpenSSL-artigen Salted__-Format) verschlüsselt wurden. Erkennt Cryptor beim Entschlüsseln dieses Altformat, weist es darauf hin und empfiehlt, die Nachricht neu zu verschlüsseln („Legacy message decrypted. Re-encrypt for better security."). Neu verschlüsselt wird ausschließlich im modernen AES-256-GCM-Format — das Legacy-Format kann nur noch gelesen, nicht mehr erzeugt werden.

Betriebsgrenzen und Datenschutz

  • Clientseitig: Ver- und Entschlüsselung laufen vollständig im Browser. Klartext, Passwort und Chiffrat verlassen ihn nicht. Einzige optionale Server-Interaktion ist die Passwort-Generierung, bei der keine Nutzerdaten übertragen werden.
  • Sicherer Kontext nötig: Die Web-Crypto-API verlangt HTTPS (oder localhost). Ohne sie sind Encrypt/Decrypt deaktiviert.
  • Kein Verlauf: Cryptor speichert bewusst nichts zwischen — keine Historie, kein lokaler Cache der Inhalte. Neu laden heißt: leeres Feld.
  • Passwort-Mindestlänge: 8 Zeichen zum Verschlüsseln (das generierte Passwort ist mit 64 Zeichen deutlich länger).
  • Kein Schlüssel-Recovery: Ohne das richtige Passwort gibt es keinen Weg zurück zum Klartext — das ist der Sinn der Sache, aber auch die wichtigste Stolperfalle.

Für den Einstieg und die Zielgruppen siehe die Übersichtsseite. Konkrete Durchläufe stehen in den Beispielen, Strategie und Stolperfallen in den Tipps & Tricks. Ausprobieren kannst du alles direkt im Tool.