Cryptography Reference
In-Depth Information
1.
Schlüsseladdition : Ein 128-Bit-Subschlüssel wird mit dem Eingabewert ex-
klusiv-oder-verknüpft.
2.
S-Box : Das Resultat wird in 32 S-Boxen verarbeitet, die jeweils vier Bit auf
vier Bit abbilden (siehe unten).
3.
Lineare Transformation : Die 128 Bit aus dem vorhergehenden Schritt wer-
den in vier 32-Bit-Blöcke aufgeteilt und wie in Abbildung 9-2 zu sehen bear-
beitet.
Die 32. Runde läuft gleich ab, allerdings wird die lineare Transformation durch
eine zusätzliche Schlüsseladdition ersetzt. Der Grund für diese Maßnahme: Eine
lineare Transformation am Ende des Ablaufs lässt sich leicht herausrechnen und
ist damit kryptografisch wirkungslos. Am Ende des Ablaufs wird die initiale Per-
mutation wieder aufgehoben. Da der (abgesehen von den Permutationen) erste
und letzte Schritt von Serpent die Exklusiv-oder-Verknüpfung eines Subschlüssels
vorsieht, ist ein Whitening gegeben. Serpent ist außerdem so aufgebaut, dass sich
alle Schritte des Verfahrens gut umkehren lassen - eine Entschlüsselung ist daher
auf naheliegende Weise möglich.
A
A
<<<13
<<<5
B
B
<<<1
<<3
<<7
C
C
<<<22
<<<3
D
D
<<<7
Abb. 9-2
Die lineare Transformation von Serpent arbeitet mit Linksrotationen (»<<<«) und
Linksverschiebungen (»<<«).
9.1.2
S-Box-Design
In jeder Serpent-Runde kommen 32 S-Boxen zur Anwendung. Jede S-Box nimmt
4 Bit entgegen und gibt 4 Bit aus. Alle 32 S-Boxen innerhalb einer Runde sind
identisch aufgebaut. Es gibt jedoch acht verschiedene S-Boxen ( S 0 , S 1 , ..., S 7 ). In
Runde 1 kommt ausschließlich S 0 zum Einsatz, in Runde 2 S 1 und so weiter. In
Runde 8 wird S 7 eingesetzt, anschließend beginnt die Reihenfolge von vorn:
Runde 9 setzt S 0 ein, Runde 10 setzt S 1 ein usw. Die folgende Tabelle zeigt die
Ein- und Ausgabewerte der Serpent-S-Boxen:
Search WWH ::




Custom Search