Cryptography Reference
In-Depth Information
Die SHA-1-Kompressionsfunktion läuft in vier Runden ab (siehe Abbildung 14-2).
Nach der vierten Runde wird zu jeder Kettenvariable der Wert dazugezählt, den
diese vor der ersten Runde hatte. Jede Runde besteht aus 20 Teilrunden. Den
Ablauf einer Teilrunde sehen Sie in Abbildung 14-3. In jede Teilrunde geht eine
Konstante K ein. Zudem spielt die Funktion g eine Rolle. Funktion und Kons-
tante (in Hexadezimalschreibweise) sind abhängig von der jeweiligen Runde wie
folgt definiert ( g ist in Runde 1 und 3 nicht linear, dadurch entsteht die notwen-
dige Konfusion):
Funktion g
Konstante K
Runde 1
( B
C ) (( ¬
B )
D )
5A827999
Runde 2
B
C D
6ED9EBA1
Runde 3
( B
C ) ( B
D )
8F1BBCDC
Runde 4
B
C D
CA62C1D6
Zudem geht in jede Teilrunde der SHA-1-Kompressionsfunktion ein 32-Bit-Block
aus dem (aufgefüllten) Urbild ein. Wie man leicht nachrechnet, werden zu diesem
Zweck insgesamt 80 32-Bit-Blöcke benötigt. Da ein Urbildblock jedoch nur
16 32-Bit-Blöcke besitzt, ist eine Expansion notwendig (vergleichbar mit der
Schlüsselaufbereitung bei einem symmetrischen Verschlüsselungsverfahren). Wenn
wir die 16 Urbild-Teilblöcke mit T 0 , T 1 , ..., T 15 und die expandierten Teilblöcke
mit E 0 , E 1 , ..., E 79 bezeichnen, dann funktioniert die Expansion nach der folgen-
den Formel:
E i = T i für i von 0 bis 15
E i =( E i-3
E i-8
E i-14
E i-16 )<<<1 für i von 16 bis 79
Teil des
Urbilds
Konstante
A
A
g
B
B
C
C
<<<30
D
D
<<<5
E
E
Abb. 14-3
Diese Operation wird in jeder Runde von SHA-1 20-mal durchlaufen. Die Funktion g und die
Konstante ändern sich mit jeder Runde.
Search WWH ::




Custom Search