Cryptography Reference
In-Depth Information
wareimplementierungen vorteilhaft, feste S-Boxen zu haben, da diese im nicht-
flüchtigen Speicher gehalten werden können.
Schlüsselaufbereitung von Blowfish
Die Schlüsselaufbereitung von Blowfish ist gleichzeitig auch die S-Boxen-Gene-
rierung. Im Rahmen dieses Vorgangs müssen zum einen 18 Subschlüssel (16 für
die Runden, zwei für das Whitening) und zum anderen vier zufällige S-Boxen
generiert werden. Dieser Vorgang ist recht aufwendig. Er sieht vor, dass zunächst
alle Subschlüssel und alle S-Boxen mit einem vorgegebenen Wert (es handelt sich
um die Nachkommastellen der Zahl Pi, die als Leerer-Ärmel-Zahl verwendet
werden) initialisiert und dann mit dem Schlüssel exklusiv-oder-verknüpft wer-
den. Ist der Schlüssel kürzer als 448 Bit, dann wird er bei diesem Vorgang mehr-
fach hintereinander verwendet. In dieser Konstellation wird ein Block aus lauter
Null-Bits verschlüsselt. Das Ergebnis bildet die ersten beiden Subschlüssel und
wird dann erneut verschlüsselt. Das Ergebnis bildet die Subschlüssel 3 und 4 und
so weiter. Auf diese Weise werden nach und nach alle Rundenschlüssel und S-
Boxen aufgefüllt.
Subschlüssel
Runde 1
Runde 2
Runde 16
F
F
F
Subschlüssel
Subschlüssel
Subschlüssel
Subschlüssel
Abb. 7-7
Blowfish arbeitet in 16 Runden. Das Design des Verfahrens ähnelt in einigen Punkten
dem DES, wobei jedoch schlüsselabhängige S-Boxen zum Einsatz kommen.
Bewertung von Blowfish
Blowfish ist zweifellos weder innovativ noch elegant. Die Schlüsselaufbereitung
wirkt reichlich hausbacken und ist obendrein recht aufwendig. Sie verbraucht
etwa so viel Rechenzeit wie das Verschlüsseln von 4 Kilobyte an Daten. Daher ist
Blowfish nicht für Anwendungsfälle geeignet, in denen der Schlüssel oft wechselt
Search WWH ::




Custom Search