DES / 3DES / RC4 / Blowfish verschlüsseln & entschlüsseln

Verschlüsseln oder entschlüsseln Sie mit den vier klassischen Verfahren, die noch in alten Dateien, Backups und Protokollen leben — DES und 3DES im Modus ECB oder CBC, RC4 (ARCFOUR) als Stromchiffre sowie Blowfish mit Schlüsseln bis 56 Byte. Geprüft gegen FIPS 46-3, die veröffentlichten Blowfish-Vektoren von Schneier und RFC 6229. Alles läuft lokal in Ihrem Browser — es wird nichts hochgeladen. Für moderne Anwendungen verwenden Sie AES-GCM.
Diese Chiffren sind für die Kompatibilität da, nicht für neue Arbeiten. DES wurde 2005 zurückgezogen, 3DES 2023, RC4 ist seit 2015 in TLS verboten (RFC 7465), und der 64-Bit-Block von Blowfish erreicht seine Geburtstagsgrenze nach etwa 32 GiB Daten unter einem Schlüssel. Verwenden Sie für alles Neue AES-GCM.
Richtung: Chiffre: Modus: Ausgabe:
DES = der Data Encryption Standard von 1977: 64-Bit-Blöcke, 56 effektive Schlüsselbit. Zurückgezogen, findet sich aber noch in alten Backups, PIN-Blöcken (Banking) und Kerberos v4. Der Schlüssel muss genau 8 Byte lang sein.
Hex toleriert Leerzeichen, Doppelpunkte und 0x-Präfixe. DES ignoriert das Paritätsbit jedes Schlüsselbytes.
Blockchiffren füllen mit PKCS#7 auf; RC4 füllt nie auf.
Von dieser Seite akzeptierte Schlüssellängen
ChiffreSchlüsselBlockStatus
DESgenau 8 Byte (56 effektive Bit)64 Bit2005 zurückgezogen (NIST SP 800-131A)
3DES-EDE3genau 24 Byte (112 effektive Bit)64 Bitseit 2023 untersagt (SP 800-131A r2)
3DES-EDE2genau 16 Byte (112 effektive Bit)64 Bitwie EDE3, schwächere Altoption
RC4 / ARCFOUR1..256 ByteStromseit 2015 in TLS untersagt (RFC 7465)
Blowfish4..56 Byte64 Bitungebrochen, aber durch 64-Bit-Block begrenzt; Twofish/AES verwenden
Die effektive Schlüsselgröße ist kleiner als die rohe Größe, weil DES ein Bit jedes Bytes als Parität verwendet: Ein 64-Bit-Rohschlüssel trägt nur 56 Schlüsselbit, und 3DES mit drei unabhängigen Schlüsseln trägt 112 (Meet-in-the-Middle).
OpenSSL-Interoperabilität — OpenSSL 3 hat diese Chiffren in den Legacy-Provider verschoben; ergänzen Sie -provider legacy, wenn Ihre Version es ablehnt. Befehlszeilen-Entsprechungen zu dieser Seite:
openssl enc -des-ecb -K 133457799BBCDFF1 -in msg.bin -out msg.enc
openssl enc -des3 -K <48 Hex> -iv <16 Hex> -in msg.bin -out msg.enc (3DES-CBC)
openssl enc -rc4 -K 4b6579 -in msg.bin -out msg.enc  /  -bf-cbc für Blowfish-CBC.
Zum Entschlüsseln -d verwenden. -K erwartet einen rohen Hex-Schlüssel, -k ein Passwort (vermeiden — die KDF unterscheidet sich von allem auf dieser Seite).
Selbsttest
Führt die Seitenengine erneut gegen veröffentlichte und unabhängig erzeugte Vektoren aus: das durchgerechnete DES-Beispiel aus FIPS 46-3, mit OpenSSL erzeugte 3DES-EDE2/EDE3-Chiffrate, die Blowfish-Vektoren von Schneier, RC4-Testvektoren aus RFC 6229 und das klassische Beispiel „Key/Plaintext“, Hin- und Rückrechnungen in jedem Modus sowie Negativtests (falsche Schlüssellänge, Chiffrat, das kein Vielfaches der Blockgröße ist, muss fehlschlagen). Nichts wird irgendwohin gesendet.
DES, 3DES, RC4 und Blowfish von Grund auf erklärt
In einem Satz: Diese vier Chiffren waren die Arbeitspferde der 1990er — DES und seine Dreifach-Verschlüsselung 3DES, die Stromchiffre RC4 und Blowfish — und jede von ihnen ist heute ausgemustert oder veraltet; sie leben nur noch in alten Dateien, alter Hardware und alten Protokollen weiter, die gelesen werden müssen.
DES: der Standard von 1977, mit dem alles begann

Was es ist. Der Data Encryption Standard (FIPS 46, 1977) ist eine Feistel-Chiffre mit 16 Runden auf 64-Bit-Blöcken und einem 56-Bit-Schlüssel (gespeichert in 8 Byte, weil ein Bit jedes Bytes eine Paritätsprüfung ist). Er wurde von IBM unter Mitwirkung der NSA entworfen, war zwei Jahrzehnte lang der US-Standard und wurde 1998 faktisch gebrochen, als die Maschine Deep Crack der EFF einen Schlüssel in 56 Stunden mit Hardware für 250.000 US-Dollar durchprobierte. Das NIST hat ihn 2005 für die Verschlüsselung zurückgezogen.

Warum das Paritätsbit die Schlüssellängen verwirrt. Jedes achte Bit eines DES-Schlüssels wird aus den übrigen sieben berechnet; ein 8-Byte-Schlüssel enthält also nur 56 unabhängige Bit — deshalb liest man für dieselbe Chiffre sowohl „64-Bit-Schlüssel“ als auch „56-Bit-Schlüssel“. 3DES erbt das: 24 Rohbyte = 168 Rohbit = 112 effektive Bit (Meet-in-the-Middle entfernt den Rest).

Wo man ihm heute noch begegnet. Bei Bank-PIN-Blöcken (ISO 9564), einigen Kerberos-v4-Bereichen, alten Backup-Archiven und Chipkarten. Verlangt ein System heute noch DES, arbeitet es entweder mit Hardware aus den 1990ern zusammen oder ist schlicht unsicher.

3DES: verschlüsseln, entschlüsseln, verschlüsseln

Der Trick. Triple-DES führt DES dreimal über jeden Block aus: EDE3 verwendet drei verschiedene Schlüssel (C = Ek3(Dk2(Ek1(P)))); der Entschlüsselungsschritt in der Mitte existiert, damit eine 3DES-Implementierung einfaches DES nachbilden kann, indem sie k1=k2 setzt. EDE2 verwendet nur zwei Schlüssel (k1=k3) und liefert 112 effektive Bit. Die Konstruktion war eine schnelle Notlösung, die die Sicherheit einer bereits angegriffenen Chiffre verdreifachte, ohne eine neue zu erfinden.

Warum es trotzdem starb. Zwei Probleme: Es ist langsam (drei volle DES-Durchläufe pro Block, etwa ein Zwanzigstel der Geschwindigkeit von AES), und es behielt den 64-Bit-Block. Bei 32 GiB Daten unter einem Schlüssel (die Geburtstagsgrenze von 232 Blöcken) werden Blockkollisionen wahrscheinlich genug, um Klartextstrukturen preiszugeben — der Sweet32-Angriff (2016) zeigte dies gegen TLS-3DES-Sitzungen. Das NIST hat die 3DES-Verschlüsselung nach 2023 untersagt (SP 800-131A r2); der PCI-DSS verlangt seine Abschaltung in Zahlungssystemen.

RC4 / ARCFOUR: die Stromchiffre des frühen Webs

Wie es funktioniert. RC4 (Ron's Code 4, 1987 entworfen, 1994 veröffentlicht) ist eine Stromchiffre: Der Schlüssel erzeugt eine 256-Byte-Permutation (KSA), dann gibt die Permutation einen pseudozufälligen Bytestrom aus (PRGA), der per XOR mit der Nachricht verknüpft wird. Keine Auffüllung, keine Blockgröße, beliebige Nachrichtenlänge, in Software äußerst schnell — deshalb dominierte es in den 1990ern SSL/TLS und WEP. „ARCFOUR“ ist der markenfreie Name, den die meisten Open-Source-Projekte verwenden.

Wie es gebrochen wurde. Fluhrer, Mantin und Shamir (2001) zeigten, dass die ersten Bytes des Schlüsselstroms verzerrt sind — fatal bei WEP, dessen Schlüsselkonstruktion pro Paket genau diese Bytes Angreifern zugänglich machte. Spätere Verzerrungsangriffe (2013, AlFardan et al.) stellten Klartexte aus RC4-geschützten TLS-Sitzungen mit Millionen Verbindungen wieder her. RFC 7465 (2015) verbietet RC4 in TLS vollständig.

Der klassische Vektor. Der Schlüssel „Key“ (3 Byte) und die Nachricht „Plaintext“ ergeben das Chiffrat bbf316e8d940af0ad3 — probieren Sie das RC4-Beispiel aus und vergleichen Sie. Der Selbsttest dieser Seite prüft außerdem den Schlüsselstrom aus RFC 6229 für den 40-Bit-Schlüssel 01 02 03 04 05: b2396305f03dc027ccc3524a0a1118a8.

Blowfish: ungebrochen, aber blockbegrenzt

Was es ist. Bruce Schneiers Feistel-Chiffre aus dem Jahr 1993: 64-Bit-Blöcke, Schlüssel von 32 bis 448 Bit (4 bis 56 Byte), 16 Runden und ein bekannter Schlüsselplan, der Blowfish selbst 521-mal ausführt, um seine Teilschlüssel zu erzeugen — das macht die Schlüsselinitialisierung langsam, Brute-Force-Versuche aber ebenfalls teuer. Keine praktische Kryptoanalyse bricht Blowfish mit voller Rundenzahl.

Warum es trotzdem auf dieser Seite steht. Der 64-Bit-Block ist das Problem, nicht der Algorithmus: Jenseits von etwa 32 GiB unter einem Schlüssel verraten Geburtstagskollisionen Daten (dieselbe Grenze wie bei 3DES, Sweet32-artig). Schneier selbst empfiehlt für alles Neue seinen Nachfolger Twofish (ein AES-Finalist) oder AES. Blowfish lebt in bcrypt weiter — der Schlüsselplan des Passwort-Hashs ist Blowfish — was in Ordnung ist, weil Hashing winzige Eingaben verarbeitet, keine Gigabytes.

Die klassischen Vektoren. Ein durchgehend nullen Schlüssel und Klartext ergeben verschlüsselt 4ef997456198dd78 (erster Block der Ausgabe des Beispiels); der Schlüssel „abcdefghijklmnopqrstuvwxyz“ auf „BLOWFISH“ ergibt 324ed0fef413a203. Beide stammen aus Schneiers veröffentlichter Vektordatei und werden vom Selbsttest geprüft.

Häufige Fehler
  • Diese für neue Daten verwenden. Jede Chiffre auf dieser Seite ist veraltet, mit Ausnahme von Blowfish (das durch die Blockgröße begrenzt ist). Die richtige moderne Wahl ist AES-GCM — siehe AES verschlüsseln / entschlüsseln.
  • DES-Schlüssel aus einem Passwort. Ein 8-Zeichen-Passwort sind nicht 56 zufällige Bit; es sind einige wenige Bit Entropie pro Zeichen. Alte Systeme taten genau das, und es ist der häufigste Grund, warum „DES-verschlüsselte“ Archive in Minuten einem Wörterbuchangriff zum Opfer fallen.
  • IV in CBC wiederverwenden. Der erste Block verrät dann die Gleichheit von Klartexten über Nachrichten hinweg unter demselben Schlüssel. Die Schaltfläche Zufälliger IV existiert aus gutem Grund.
  • Einen RC4-Schlüsselstrom wiederverwenden. RC4 XORt für denselben Schlüssel immer denselben Schlüsselstrom: Zwei Nachrichten mit einem Schlüssel zu verschlüsseln ist ein Zwei-Mal-Einmalblock — die Chiffrate per XOR verknüpft, und beide Klartexte fallen heraus. Der fatale Fehler von WEP bestand genau in einer Konstruktion mit wiederverwendetem Schlüsselstrom.
  • Annehmen, „es entschlüsselt sich, also stimmt es“. ECB/CBC prüfen hier beim Entschlüsseln nur die Auffüllung — ein falscher Schlüssel ergibt meist Datenmüll, der sich trotzdem entpacken lässt. In keinem Altmodus gibt es eine Integritätsprüfung; wenn Sie eine brauchen, benötigen Sie AES-GCM, nicht diese Verfahren.
  • 3DES als „168-Bit“ zählen. Der rohe Schlüssel hat 168 Bit, die effektive Stärke aber 112 — Meet-in-the-Middle reduziert die Dreifachverschlüsselung auf eine Doppelverschlüsselung plus Zusatz, genau wie bei den Vorläuferkonstruktionen von 3DES.
FAQ

Warum überhaupt ein Werkzeug für eine gebrochene Chiffre? Kompatibilität. Verschlüsselte Backups, exportierte Dateien im alten Format, mitgeschnittene Protokollabläufe, CTF-Aufgaben und Hardware, die sich nicht aktualisieren lässt, sprechen all diese Chiffren noch. Alte Daten zu lesen ist legitim; mit ihnen neue Daten zu verschlüsseln nicht.

Mein DES-Schlüssel hat ungerade Parität / Nicht-ASCII-Bytes. DES ignoriert das Paritätsbit jedes Schlüsselbytes, der wirksame Schlüssel sind also in jedem Fall die übrigen 56 Bit. Diese Seite akzeptiert beliebige 8 Byte und erzwingt keine gerade Parität.

Warum sieht entschlüsselter Text manchmal wie Datenmüll aus? Falscher Schlüssel, falscher Modus, falscher IV oder die Daten wurden nicht so verschlüsselt, wie Sie annehmen. Ohne Authentifizierungs-Tag gibt es keine saubere Fehlermeldung „falscher Schlüssel“ — die Auffüllprüfung ist der einzige Hinweis, und sie kann zufällig bestehen (in 1 von 256 Fällen).

Ist Blowfish für meine Dateien sicher? Bei kleinen Dateien ja, kryptografisch (es gibt keinen praktischen Bruch). Bei allem im Gigabyte-Bereich unter einem einzigen Schlüssel nein — die Geburtstagsgrenze des 64-Bit-Blocks betrifft die Datenmenge, nicht die Schlüsselstärke. Twofish oder AES umgehen das Problem.

Was ist mit den 72-Byte-Blowfish-Schlüsseln, die ich irgendwo gesehen habe? Manche Implementierungen akzeptieren bis zu 72 Byte, doch Schneiers Referenz verwendet 56, und darüber hinausgehende Bytes bringen im Standard-Schlüsselplan keine zusätzliche Diffusion. Diese Seite folgt der Referenz: 4 bis 56 Byte.