Cryptography Reference
In-Depth Information
Übertrags-Bit
Zählerteil (8×32 Bit)
z 0
z 0
z 1
z 1
z 2
z 2
z 3
z 3
z 4
z 4
z 5
z 5
z 6
z 6
z 7
z 7
addiere
4D34D34D
addiere
D34D34D3
addiere
34D34d34
addiere
4D34D34D
addiere
D34D34D3
addiere
34D34D34
addiere
4D34D34D
addiere
D34D34D3
addiere Bit
addiere Bit
addiere Bit
addiere Bit
addiere Bit
addiere Bit
addiere Bit
addiere Bit
z 0
z 0
z 1
z 1
z 2
z 2
z 3
z 3
z 4
z 4
z 5
z 5
z 6
z 6
z 7
z 7
Übertrags-Bit
Zählerteil (8×32 Bit)
Abb. 16-7
Der Zählerteil von Rabbit wird mit linearen Funktionen fortgeschaltet.
Funktionsweise von Rabbit
Rabbit arbeitet mit einem Status der Länge 513 Bit. Dieser teilt sich in drei Teile auf:
Statusteil : Dieser besteht aus acht 32-Bit-Variablen ( s 0 , s 1 , ..., s 7 ).
Zählerteil : Dieser besteht ebenfalls aus acht 32-Bit-Variablen ( z 0 , z 1 , ..., z 7 ).
Übertrags-Bit : Dies ist ein zusätzliches Bit.
Die Fortschaltfunktion von Rabbit bearbeitet alle 513 Bit, wobei der Statusteil in
nichtlinearer Form und der Zählerteil in linearer Form fortgeschaltet wird. Die
Fortschaltung des Zählerteils ist in Abbildung 16-7 dargestellt. Dieser Vorgang
sieht vor, dass zu jeder der acht 32-Bit-Variablen des Zählerteils jeweils eine Kon-
stante gezählt wird (alle Additionen erfolgen modulo 2 32 ). Diese Konstante hat
für jede der acht 32-Bit-Variablen einen anderen Wert. Für z 0 lautet der Wert
4D34D34D (in hexadezimaler Schreibweise), für Zählervariable z 1 wird
D34D34D3 verwendet. Die anderen Werte können Sie der Abbildung entnehmen.
Zusätzlich wird im Rahmen der Fortschaltung zu jeder Variablen des Zähler-
teils der Inhalt eines Bits (also die Zahl 0 oder 1) addiert. Welchen Wert dieses Bit
annimmt, hängt bei den Variablen z 1 bis z 7 jeweils vom linken Nachbarn ab.
Wenn bei den beiden Additionen von z 0 ein Ergebnis von größer 2 32 entsteht
(und daher eine Subtraktion von 2 32 notwendig ist, da es sich um eine Modulo-
Addition handelt), dann hat das Bit für z 1 den Wert 1, ansonsten 0. Wenn bei den
beiden Additionen von z 1 ein Resultat größer 2 32 entsteht, dann ist der Wert des
Bits für z 3 1, ansonsten 0. Bei den verbleibenden Variablen verhält es sich analog.
Für die Zählervariable z 0 , die keinen linken Nachbarn hat, gilt eine andere Rege-
lung. Hier ist der Wert 1, wenn die Additionen der Zählervariable z 7 in der vor-
hergehenden Iteration ein Ergebnis größer als 2 32 ergeben haben. Um den Wert
dieses Bits aus der vorherigen Iteration zu speichern, wird das Übertrags-Bit des
Search WWH ::




Custom Search