Cryptography Reference
In-Depth Information
fallsgenerators verwenden können. Dies funktioniert beispielsweise wie folgt
(
K
ist der Schlüssel):
1.
A
= E
K
(
A
)
2.
Gib als Zufallswert aus:
A
Alice und Bob können die Blockchiffre auch im CTR-Modus (siehe Abschnitt
19.1.5) nutzen:
1.
A = A
+ 1
2. Gib als Zufallswert aus: E
K
(
A
)
Ein weiteres Verfahren steht in [NIST800-90] und wird als
NIST SP 800-90
Kapitel 10.2.1
bezeichnet. Es sieht vor, dass sich im Rahmen der Fortschaltung
nicht nur
A
, sondern auch der Schlüssel
K
ändert. Der Startwert wird vorbearbei-
tet, was ich an dieser Stelle übergehen will. Der Ablauf ist wie folgt festgelegt
(
b
ist die Blocklänge des Verfahrens):
A
=
A
+ 1 (mod 2
b
)
1.
2.
A
= E
K
(
A
)
3.
A
=
A
⊕
X
4.
K
=
A
(falls
A
mehr Bits als
K
hat, werden die überschüssigen Bits ignoriert)
A
=
A
+ 1 (mod 2
b
)
5.
6.
Gib als Zufallswert aus: E
K
(
A
)
A
=
A
+ 1 (mod 2
b
)
7.
8.
A
= E
K
(
A
)
9.
X
10.
K
=
A
(falls
A
mehr Bits als
K
hat, werden die überschüssigen Bits ignoriert)
A
=
A
⊕
Das Verfahren ist gegenüber der angegebenen Literaturquelle etwas vereinfacht
dargestellt. Der hier gezeigte Ablauf setzt voraus, dass die Länge von
A
der Block-
länge des Verschlüsselungsverfahrens (und damit
b
) entspricht, wobei die Block-
länge nicht kürzer als die Schlüssellänge sein darf. Pro Fortschaltung werden
b
Bits generiert. Das Original-Verfahren aus dem Standard ist bezüglich dieser
Größen etwas variabler, dafür jedoch deutlich unübersichtlicher.
15.2.4
Linear rückgekoppelte Schieberegister
Eine Jahrzehnte alte Methode zum Bau von Pseudozufallsgeneratoren ist die Ver-
wendung von linear rückgekoppelten Schieberegistern. Diese werden auch als
LFSR
(Linear Feedback Shift Register) bezeichnet. Ein LFSR besteht aus einer
Folge von
n
Variablen, die ich als
a
0
,
a
1
, ...,
a
n-1
bezeichnen werde. Jede Variable
kann nur die Werte 0 und 1 annehmen. Wenn Alice ein Zufalls-Bit benötigt, dann
liest sie den Wert von
a
0
aus. Anschließend wird der Wert von
a
1
in
a
0
geschoben,
a
1
erhält den Wert von
a
2
,
a
2
den Wert von
a
3
und so weiter. Der neue Inhalt der
Variablen
a
n-1
wird mit einer Fortschaltfunktion aus der bisherigen Belegung der