Cryptography Reference
In-Depth Information
Die Zahl r wird Längenparameter genannt. In Kapitel 9 werden wir auch Füllfunktionen
betrachten, deren Definitionsbereich eine Teilmenge D von
< 2 r ist. Wir sprechen
dann von einer MD-kompatiblen ( r, D, b ) -Füllfunktionen, wobei die Bedingungen 1. bis
3. entsprechend auf D eingeschränkt werden.
{ 0 , 1 }
Eine einfache, in der Praxis verwendete MD-kompatible Füllfunktion wird in der fol-
genden Definition festgelegt. In dieser steht ( x ) l
2
für die Binärdarstellung von
|
x
|
mit
vorangestellten Nullen, so dass eine Gesamtlänge von l Bits erreicht wird.
Definition 8.4.4 (Merkle-Damgård-Füllfunktion). Es seien r und b mit 0 <r≤ b gege-
ben. Die Merkle-Damgård-Füllfunktion p b, MD :
< 2 r
b + mit den Parametern
{
0 , 1
}
→{
0 , 1
}
b und r ist gegeben durch
p b, MD ( x )= x
0 s
( x ) r
2
·
1
·
·
,
wobei s ≥ 0 minimal so gewählt wird, dass b − r =( |x| +1+ s ) mod b gilt.
Man sieht sofort:
Bemerkung 8.4.1 . Merkle-Damgård-Füllfunktionen sind MD-kompatibel.
Wir können nun das Merkle-Damgård-Prinzip beschreiben (siehe auch Abbildung 8.1).
Definition 8.4.5 (Merkle-Damgård-Prinzip). Es sei f eine ( l,b ) -Kompressionsfunktion,
p : { 0 , 1 }
< 2 r
l ein In-
itialisierungsvektor . Die nach dem Merkle-Damgård-Prinzip definierte iterierte MD-Hash-
funktion h f, u : { 0 , 1 }
b + eine MD-kompatible ( r, b ) -Füllfunktion und u ∈{ 0 , 1 }
→{ 0 , 1 }
< 2 r
l ist definiert durch
→{ 0 , 1 }
h f, u ( x )= i f ( u, p ( x )) .
Für eine MD-kompatible ( r, D, b ) -Füllfunktion sind die betrachteten Funktionen auf den
Definitionsbereich D beschränkt.
Iterierte MD-Hashfunktionen haben nun die gewünschte Eigenschaft: Ist die zugrunde
liegende Kompressionsfunktion kollisionsresistent, so auch die nach dem Merkle-Damgård-
Prinzip konstruierte Hashfunktion. Genauer kann man aus einer Kollision für die Hash-
funktion leicht eine Kollision für die Kompressionsfunktion konstruieren, wie wir nun
beweisen werden. Dazu betrachten wir Algorithmus 8.1, der genau das Gewünschte leistet:
Satz 8.4.1. Es sei h = h f, u eine iterierte MD-Hashfunktion. Dann bestimmt Algorith-
mus 8.1 zu gegebener Kollision ( x, x ) von h eine Kollision ( z,z ) von f . Dabei ist die
Laufzeit des Algorithmus linear in der Laufzeit zur Berechnung von h ( x ) und h ( x ) .
Beweis. Die Aussage zur Laufzeit von Algorithmus 8.1 verifiziert man leicht. Was die
Kollisionen angeht, führen wir eine Fallunterscheidung durch.
1. Fall,
. Dann gibt das Verfahren ( v n− 2 y n− 1 ,v n 2 y n 1 ) zurück. Wir wis-
sen, dass f ( v n− 2 ,y n− 1 )= h ( x )= h ( x )= f ( v n 2 ,y n 1 ) gilt. Aus Definition 8.4.3,
Bedingung 3, folgt, dass y n− 1 = y n 1
|x| = |x |
und damit v n− 2 y n− 1 = v n 2 y n 1
gilt. Also ist
( v n− 2 y n− 1 ,v n 2 y n 1 ) eine Kollision für f .
Search WWH ::




Custom Search