Blowfish Chiffre

Herkunft / Verwendung: Blowfish (zu deutsch Kugelfisch) ist eine symmetrische Blockchiffre, die 1993 von Bruce Schneier als Alternative zu DES entworfen und erstmals im April 1994 in Dr. Dobb’s Journal publiziert wurde. Er wurde unpatentiert und gemeinfrei veröffentlicht und kann somit frei verwendet werden. Blowfish kann Schlüssellängen von 8 bis 56 Bytes verarbeiten.

Beschreibung des Algorithmus

Blowfish arbeitet mit einer Blocklänge von 64 bit verschlüsselt mit einem Feistel-Netzwerk und schlüsselabhängigen S-Boxen. Die Schlüsselänge kann zwischen 64 bis 448 Bit betragen.

Jeder Klartextblock von 64 Bit wird halbiert und in 16 Runden wird die linke Hälfte mit einem zuvor berechneten Rundenschlüssel per XOR verknüpft und in die Rundenfunktion gegeben, dessen Ergebnis mit der rechten Hälfte XOR verknüpft wird. Anschließend werden die Hälften vertauscht. Für die Entschlüsselung werden die Rundenschlüssel in umgekehrter Reihenfolge benutzt.

Hier steht nur der ECB-Modus zur Verfügung, der jeden Block gleich verschlüsselt.

Beispiel

Klartext:Beispielklartext (Länge 16, kein Padding)
Schlüssel:Passwort (Länge 8, kein Padding)
Chiffrat (ECB):2E2A27D2 90BD93BD 8D891303 8948897A

Code / Chiffre online dekodieren / entschlüsseln bzw. kodieren / verschlüsseln (Decoder / Encoder / Solver-Tool)

Die Klartextlänge sowie die Schlüssellänge sollten glatt durch 8 teilbar sein. Ansonsten wird der Klartext mit Nullbytes und der Schlüssel durch Wiederholungen entsprechend aufgefüllt (Padding). Angaben in Hexadezimal werden automatisch in ihr Binäräquivalent übersetzt.



Quellen, Literaturverweise und weiterführende Links

Schmeh, Klaus: Kryptografie: Verfahren - Protokolle - Infrastrukturen, dpunkt Verlag, 5. Auflage 2013, iX-Edition, S. 119