Cryptography Reference
In-Depth Information
diese gehen neben R zwei zusätzliche Bits ein, die als R -Input-Bit und R -Steuer-Bit
bezeichnet werden. Jede Bit-Variable von R erhält bei einer Fortschaltung einen
neuen Wert, der unter anderem von der links davon stehenden Bit-Variable
abhängt. Die Funktion f R , die hierbei eine Rolle spielt, reicht den Eingangswert
unverändert durch, wenn die rechts darunter stehende Variable eine der folgen-
den Nummern hat: 0, 1, 3, 4, 5, 6, 9, 12, 13, 16, 19, 20, 21, 22, 25, 8, 37, 38, 41,
42, 45, 46, 50, 52, 54, 56, 58, 60, 61, 63, 64, 65, 66, 67, 71, 72, 79, 80, 81, 82,
87, 88, 89, 90, 91, 92, 94, 95, 96, 97. In allen anderen Fällen liefert f R den Wert 0.
Die Funktion g R ist ebenfalls recht einfach. Sie liefert den Eingabewert als Aus-
gabe, wenn das R -Steuer-Bit 1 ist, ansonsten ist das Ergebnis 0.
Bei S erfolgt die Fortschaltung mithilfe der hochgradig nichtlinearen Funk-
tion CLOCK_S . Auch in diese gehen zwei zusätzliche Bits ein ( S -Input-Bit und
S -Steuer-Bit). CLOCK_S läuft nach dem in Abbildung 16-14 unten ersichtlichen
Schema ab. Auch hier erhält jede der 100 Bit-Variablen im Rahmen der Fort-
schaltung einen neuen Wert, der unter anderem von der Bit-Variable links davon
abhängig ist. Die Funktion f S hat folgenden Aufbau ( x steht für den oberen, y für
den unteren Wert):
f S ( x,y )=( x
comp0 )·( y
comp1 )
comp0 und comp1 sind Variablen, die bei jedem Aufruf einen anderen Wert
annehmen. Die jeweiligen Werte sind in einer Tabelle festgelegt, die ich aus Platz-
gründen an dieser Stelle nicht aufführen will. Die Funktion g S hat folgende For-
mel: g ( x )= x · y. Mithilfe von CLOCK_R und CLOCK_S wird nun die Funktion
CLOCK_KG definiert, die neben R und S die beiden Ein-Bit-Variablen Mixing-
Bit und Input-Bit entgegennimmt. CLOCK_KG hat folgenden Ablauf:
1.
R-Steuer-Bit = s 34
r 67
2.
S-Steuer-Bit = s 67
r 33
3.
Falls Mixing-Bit =1
dann: R-Input-Bit = Input-Bit
s 50
sonst: R-Input-Bit = Input-Bit
4.
S-Input-Bit = Input-Bit
5.
CLOCK_R
6.
CLOCK_S
Die Fortschaltung des Status erfolgt durch den Aufruf von CLOCK_KG mit den
Argumenten R , S , Mixing-Bit =0 und Input-Bit =0. Vor jeder Fortschaltung wird
das Bit z = r 0
s 0 als nächstes Bit des Keystreams ausgegeben. Zur Initialisierung
werden zunächst alle 200 Bits von R und S auf Null gesetzt. Anschließend erfol-
gen drei weitere Initialisierungsschritte:
Search WWH ::




Custom Search