Cryptography Reference
In-Depth Information
Länge von 128 Bit. Der wichtigste Bestandteil von Threefish ist eine Funktion, die
sich MIX nennt und die zwei 64-Bit-Blöcke bearbeitet (siehe Abbildung 10-6).
MIX sieht eine Addition modulo 2 64 , eine Linksrotation sowie eine Exklusiv-
oder-Verknüpfung vor. Die Modulo-Addition ist der einzige nichtlineare Bestand-
teil des Verfahrens, sie ersetzt also eine S-Box (man beachte, dass die Modulo-
Addition nicht linear ist). Um wie viele Einheiten bei der Linksrotation von MIX
rotiert wird, ändert sich von Aufruf zu Aufruf. Aus einer Tabelle, welche die Spe-
zifikation vorgibt, kann man den jeweiligen Wert in Abhängigkeit von der
Runde, der Schlüssellänge und des Parallelaufrufs auslesen.
Bei einer Schlüssellänge von 1.024 Bit arbeitet Threefish in 80 Runden,
ansonsten in 72. Eine Runde sieht jeweils mehrere parallele Aufrufe von MIX
und eine anschließende Permutation vor (siehe Abbildung 10-7). Bei einer
Schlüssellänge von 256 sind es zwei parallele Aufrufe, bei 512 bzw. 1.024 ent-
sprechend doppelt oder viermal so viele. Die Permutation ändert die Reihenfolge
der eingegebenen 64-Bit-Wörter, wobei die Threefish-Spezifikation wiederum
eine Tabelle vorgibt, in der der Ablauf der jeweils durchzuführenden Permutation
in Abhängigkeit von der Runde und der Blockgröße festgeschrieben ist.
Am Anfang sowie nach jeweils vier Runden wird per Modulo-Addition ein
Subschlüssel eingebracht. Da somit sowohl am Anfang als auch am Ende ein Sub-
schlüssel addiert wird, ist eine Form von Whitening gegeben. Die Schlüsselaufbe-
reitung muss dementsprechend 19 bzw. 21 Subschlüssel generieren. Auf die
Details will ich an dieser Stelle nicht eingehen. Eines ist jedoch wichtig: Die Schlüs-
selaufbereitung verarbeitet zunächst den Schlüssel und addiert anschließend den
Tweak dazu (es wird modulo 2 64 gerechnet). Dadurch ist es möglich, den Tweak
zu ändern, ohne eine neue Schlüsselaufbereitung durchführen zu müssen.
Subschlüssel
Runde
Runde
Runde
Runde
Subschlüssel
64 Bit
64 Bit
Mix
Mix
Mix
Mix
64 Bit
64 Bit
64 Bit
64 Bit
Mix
Mix
Mix
Mix
t e
t e
t e
t e
64 Bit
64 Bit
r m
r m
r m
r m
64 Bit
64 Bit
Mix
Mix
Mix
Mix
64 Bit
64 Bit
64 Bit
64 Bit
Mix
Mix
Mix
Mix
64 Bit
64 Bit
Abb. 10-7
Threefish arbeitet in 72 oder 80 Runden. Vier davon sind hier zu sehen.
Search WWH ::




Custom Search