Informationen
Blowfish
Der Algorithmus wurde 1993 von Bruce Schneier entworfen und erstmals im April 1994 in Doctor Dobb's Journal publiziert. Blowfish ist ein sehr schneller und nicht patentierter Algorithmus, der besonders auf 32-Bit-Prozessoren eine exzellente Performance bietet. Ein weiterer Vorteil ist seine variable Schlüssellänge von 32 bis zu 448 Bit. Die Blockgröße beträgt 64 Bit.
Blowfish besitzt pro Runde einen P-Rundenschlüssel mit 18 mal 32 Bit und vier S-Boxen mit 256 mal 32 Bit in der Funktion f. Die Initialisierung des P-Wertes und der vier S-Boxen erfolgt mit einer fixen Zeichenkette, der hexadezimalen Ziffernfolge der Zahl π (Pi). Ausgehend von diesem Startwert werden dann nach einem bestimmten Verfahren sowohl alle P-Boxen, P1 bis P18, als auch alle S-Boxen, S1 bis S4, in ihren Werten schlüsselabhängig verändert. Danach bleiben die P-Werte und die Werte in den S-Boxen so lange konstant, bis ein neuer Schlüssel gewählt wird.
Der Algorithmus wird mit Hilfe des Schlüssels initialisiert, dazu benötigt man aber den oben erwähnten Verschlüsselungsalgorithmus.
Zuerst wird der Schlüssel in 32-Bit-Blöcke aufgeteilt. Danach wird jeder Eintrag der P-Box mit den 32-Bit-Blöcken des Schlüssels XOR-verknüpft. Dabei wechseln sich die Blöcke des Schlüssels nacheinander ab. Danach wird ein Block mit 64 Nullbits verschlüsselt. Die linke und rechte Hälfte ersetzt dabei den ersten und zweiten Eintrag der P-Box. Dann wird mit dem aktuellen Stand der Geheimtext aus dem letzten Schritt verschlüsselt, und der dritte und vierte Eintrag der P-Box wird ersetzt. Dieses passiert solange, bis alle Einträge der P-Box und der vier S-Boxen ersetzt wurden.
Es hat eine Vielzahl an Kryptanalysen von Blowfish gegeben und Serge Vaudenay fand ein paar schwache Schlüssel, die allerdings nur in Blowfish-Implementierungen mit 14 Runden oder geringer auftraten. Bis heute sind keine weiteren Schwächen bekannt.
weitere Informationen unter: http://www.schneier.com/blowfish.html
zurück zu: INFORMATIONEN
Für weitere Informationen, Fragen und Anregungen senden Sie Ihre E-Mail bitte an folgende Adresse:


