Cryptography Reference
In-Depth Information
9.2.1
Funktionsweise von Twofish
Twofish ist eine Feistel-Chiffre, deren Verwandtschaft zum Vorgänger Blowfish
deutlich erkennbar ist. Das Verfahren arbeitet in 16 Runden. Twofish sieht vier
aus dem Schlüssel generierte S-Boxen vor, die jeweils zweimal pro Runde einge-
setzt werden. Darüber hinaus gibt es einige im Vergleich zu Blowfish zusätzliche
Operationen, die für eine stärkere Durchmischung der Zwischenergebnisse sor-
gen (Diffusion). Wie Blowfish nutzt das Verfahren Whitening: Jeweils vier 32-Bit-
Rundenschlüssel werden am Anfang und am Ende mit den 128 Bit exklusiv-oder-
verknüpft. Die Schlüsselaufbereitung ist im Vergleich zu Blowfish komplett neu
gestaltet und deutlich schneller.
Die Funktionsweise von Twofish ist in Abbildung 9-3 dargestellt. Die vier
Ablaufstränge verbergen, dass es sich um eine Feistel-Chiffre handelt (Feistel-
Chiffren haben nur zwei Ablaufstränge). Fasst man jedoch jeweils zwei Stränge
zusammen, dann ergibt sich (bis auf die Rotationen) das gewohnte Feistel-
Schema. Die einzelnen Bestandteile haben folgende Bedeutung:
Input-
Whitening
15 weitere
Runden
Output-
Whitening
Runde 1
Subschlüssel
Subschlüssel
<<<1
<<<1
Runden-
funktion
Sub-
schlüssel
Sub-
schlüssel
PHT
MDS
MDS
s 0
s 1
s 2
s 3
s 0
s 1
s 2
s 3
<<<8
Subschlüssel
Subschlüssel
Abb. 9-3
Twofish ist eine Feistel-Chiffre mit 16 Runden. Die Schlüssellänge beträgt 128, 192 oder
256 Bit.
S-Boxen : Es gibt vier S-Boxen, die jeweils 8 Bit auf 8 Bit abbilden. Deren
Inhalt ist schlüsselabhängig und wird im Rahmen der Schlüsselaufbereitung
festgelegt.
Search WWH ::




Custom Search