Cryptography Reference
In-Depth Information
lauter Null-Bits. Die Länge des Urbilds vor dem Auffüllen muss im Übrigen
kein Vielfaches von 8 betragen. Die 1 kann daher auch mitten in einem Byte
stehen.
3.
In die verbleibenden 64 Bit schreibe die Bit-Länge der ursprünglichen Nach-
richt. Ist das Urbild länger als 2 64 Bit (in der Praxis dürfte dies kaum vor-
kommen), dann werden nur die 64 niederwertigsten Bits verwendet.
Eine zentrale Rolle bei der Funktionsweise von SHA-1 spielen fünf 32-Bit-Varia-
blen ( Kettenvariablen ), die zusammen auch als Status bezeichnet werden. Wir
bezeichnen diese als A , B , C , D und E . Am Anfang stehen in den Kettenvariablen
(in hexadezimaler Schreibweise) die Werte A =67452301, B =EFCDAB89,
C =98BADCFE, D =10325476 und E =C3D2E1F0. Eine weitere wichtige Rolle
spielt die sogenannte Kompressionsfunktion , die wir mit dem Buchstaben f
bezeichnen wollen. Die Kompressionsfunktion nimmt den aktuellen Inhalt der
fünf Kettenvariablen sowie einen 512-Bit-Block des Urbilds entgegen und liefert
den neuen Wert der Kettenvariablen als Ausgabe.
Die Generierung eines SHA-1-Hashwerts läuft wie folgt ab: Die Kompres-
sionsfunktion wird zunächst auf U 0 angewendet, dann auf U 1 , dann auf U 2 usw.
Der Inhalt der Kettenvariablen ändert sich dabei mit jedem Abarbeiten der Kom-
pressionsfunktion. Die fünf Werte, die am Ende in den Kettenvariablen stehen,
bilden zusammen den Hashwert. In Pseudocode sieht das so aus:
A =67452301, B =EFCDAB89
C =98BADCFE , D =10325476
E =C3D2E1F0
Für i:=0 bis (Urbildlänge
1): (A,B,C,D,E):=f(U i ,A,B,C,D,E)
Hashwert := (A,B,C,D,E)
Urbild-Block (64 Byte)
A
A
B
B
C
C
Runde 1
Runde 2
Runde 3
Runde 4
D
D
E
E
Abb. 14-2
Die Kompressionsfunktion von SHA-1 arbeitet in vier Runden.
Search WWH ::




Custom Search