Cryptography Reference
In-Depth Information
Funktion
g
für oberen
Ablaufstrang
Konstante
K
für oberen Ablaufstrang
Runde 1
B
⊕
C
⊕
D
00000000
Runde 2
(
B
∧
C
)
∨
(
¬
B
∧
D
)
5A827999
Runde 3
(
B
∧
¬
C
)
⊕
D
6ED9EBA1
Runde 4
(
B
∧
D
)
∨
(
B
∧
¬
D
)
8F1BBCDC
Runde 5
B
⊕
(
C
∨
¬
D
)
A953FD4E
Wie in der Abbildung zu sehen, gibt es in jeder Teilrunde eine Linksrotation um
r
Einheiten. Welche Werte
r
in der jeweiligen Runde nacheinander annimmt, zeigt
die folgende Liste:
■
Runde 1
: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
■
Runde 2
: 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8
■
Runde 3
: 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12
■
Runde 4
:
1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2
■
Runde 5
: 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
Teil des
Urbilds
Konstante
A
A
<<<r
g
B
B
C
C
<<<10
D
D
E
E
Abb. 14-5
Jede RIPEMD-160-Runde sieht 16 dieser Operationen vor. Die Konstante und die Funktion g
sind von der jeweiligen Runde abhängig.
Ein Ablaufstrang der RIPEMD-160-Kompressionsfunktion verarbeitet insgesamt
80 32-Bit-Blöcke aus einem Urbildblock. Da ein Urbildblock nur aus 16 32-Bit-
Blöcken besteht, ist eine Expansion notwendig (ähnlich wie bei SHA-1). Anders
als bei SHA-1 gibt es jedoch keine Expansionsformel, sondern eine Expansions-
tabelle. Nummeriert man die Urbildblöcke von 0 bis 15, dann werden im oberen