Cryptography Reference
In-Depth Information
Achten Sie auf die Datenrotation im ersten Datenstrom. Diese wird von
Daten aus dem dritten Datenstrom gesteuert (ähnlich wie bei RC5). Im
Gegensatz zu RC5 werden die zur Steuerung verwendeten Daten jedoch durch
die Funktion f und eine weitere Rotation bearbeitet. Dies hat zur Folge, dass
nicht nur ein paar niederwertige Bits (wie bei RC5), sondern der gesamte
Inhalt des Datenstroms die Rotation beeinflussen.
Die Funktion f enthält eine Multiplikation modulo 2 32 . Eine solche Opera-
tion kommt in RC5 nicht vor. Rivest und seine Kollegen führten sie ein, da
Multiplikationen im Allgemeinen gute Diffusionseigenschaften besitzen.
Vor Abarbeitung der 20 Runden sieht RC6 vor, dass zwei Subschlüssel zu den
Datenströmen B und D addiert werden. Dies ist eine Form von Whitening.
Damit soll verhindert werden, dass Angreifer Mallory den Wert von A und C
am Anfang der zweiten Runde kennt. Eine analoge Funktion haben die bei-
den Subschlüssel-Additionen am Ende des Verfahrens.
Wie in Abbildung 9-4 erkennbar ist, arbeitet RC6 mit vier unterschiedlichen
Funktionseinheiten. Die Rotationsfunktion ( ROT ) ist die einzige nichtlineare
Einheit und erfüllt daher die Funktion einer S-Box. Es ist erstaunlich, dass eine so
einfache Operation die Sicherheit des gesamten Verfahrens trägt. Auch die Funk-
tion f und die Modulo-Addition, die für die Durchmischung sorgen, sind einfach
gehalten. Das Einbringen der Subschlüssel durch eine Exklusiv-oder-Verknüp-
fung ist dagegen Standard.
9.3.2
Schlüsselaufbereitung von RC6
Insgesamt sieht RC6 44 Subschlüssel zu jeweils 32 Bit vor. Zwei davon werden
am Anfang zu den Teilblöcken B und D gezählt, zwei weitere am Ende zu A und
C . Darüber hinaus gehen in jeder der 20 Runden zwei Subschlüssel in die Ver-
schlüsselung ein. Der Schlüssel ist als Array von 32-Bit-Wörtern gegeben und
wird K 0 , ..., K n-1 notiert, wobei n je nach Schlüssellänge den Wert 4, 6 oder 8
annimmt. Die 44 Subschlüssel werden als S 0 , S 1 , ..., S 43 bezeichnet und in dieser
Reihenfolge verwendet ( S 0 , S 1 , S 42 und S 43 kommen also nicht in den 20 Runden,
sondern davor bzw. danach zum Einsatz).
S 0 wird mit dem Wert B7E15163 initialisiert. Außerdem gilt:
S 1 = S 0 +9E3779B9, S 2 = S 1 +9E3779B9, S 3 = S 2 +9E3779B9, S 4 = S 3 +9E3779B9
und so weiter. Die beiden (in hexadezimaler Schreibweise notierten) Konstanten
sind Leerer-Ärmel-Zahlen: B7E15163 ist von den Nachkommastellen der Zahl e
(2,7182...) abgeleitet, 9E3779B9 von den Nachkommastellen des Goldener-
Schnitt-Verhältnisses (1,6180...). Nach der Initialisierung wird folgender Algo-
rithmus abgearbeitet (»<<<« bezeichnet eine Linksrotation):
Search WWH ::




Custom Search