Home > Algorithmen > Blowfish
Algorithmen
Blowfish wurde von Bruce Schneier entwickelt und 1994 veröffentlicht. Es gab einen Wettbewerb, bei dem es galt, Blowfish zu knacken, doch bis heute fand niemand eine Methode, die besser als die Brute-Force-Attacke ist. Blowfish verschlüsselt 64-Bit-Datenblöcke mit einem 32 bis 448 Bit langen Schlüssel. Das Verfahren ist heute wegen seiner Sicherheit und seiner guten Performance auf 32-Bit-Prozessoren sehr beliebt.
Blowfish definiert zwei verschiedene S-Boxen, eine P-Box und vier S-Boxen. Die P-Box P ist ein eindimensionales Feld mit 18 32-Bit-Werten. Die Boxen enthalten zunächst zufällige Werte, die entweder fest im Code implementiert sind oder bei jeder Initialisierungs-Prozedur erzeugt werden (dazu reicht ein normaler Pseudo-Zufallsgenerator aus). Die S-Boxen S1, S2, S3, S4 enthalten jeweils 256 32-Bit-Werte. Die Initialisierung von Blowfish sieht wie folgt aus:
Kommen wir nun zur Verschlüsselungs-Funktion:
Blocklänge: 64 Bit, Runden (r): 16
Zu erklären bleibt jetzt noch die Funktion f. Dabei kommen jetzt auch die S-Boxen ins Spiel:
Zur Entschlüsselung wird die gesamte Prozedur rückwärts durchlaufen. Auch diese Konstruktion ist, wie sich deutlich erkennen lässt, ein Feistel-Netzwerk.
Vor allem im CBC-Modus (Cipher Block Chaining) wird Blowfish in zahlreichen Freeware-Applikationen eingesetzt. Hoffen wir, dass es ungeknackt bleibt :-), denn es ist unpatentiert und kann völlig frei verwendet werden.
![]() |
nach oben ![]() |
![]() |
![]() |
Weiter ![]() |
Letzte Änderung: 25.03.2002
© 2002 by Christian Thöing