Cryptography Reference
In-Depth Information
( U 0 , U 1 , ..., U n-1 ) ist das Urbild, U bezeichnet einen beliebigen Urbildblock.
A ist der Status bzw. die Kettenvariable. A wird mit einer Konstanten initiali-
siert, die vor der Verwendung des Verfahrens festgelegt werden muss. Der
Wert, der am Ende in A steht, ist der Hashwert.
Die verwendete Blockchiffre wird mit E bezeichnet. Eine Verschlüsselung der
Nachricht m mit dem Schlüssel k wird als E k ( m ) notiert. K ist eine Konstante,
die als Schlüssel verwendet wird.
Die folgende Tabelle nennt vier Varianten (beachten Sie, dass die Hashwert-
Länge in allen Fällen der Blocklänge von E entspricht):
Variante
Kompressionsfunktion
Blocklänge der Hashfunktion
1
A = A
E K ( U )
Blocklänge von E
2
A = E U ( A )
Schlüssellänge von E
3
A = E A ( U )
U
Blocklänge von E
4
A = E A ( U )
A
U
Blocklänge von E
Variante 1
Variante 1 sieht vor, dass Alice das Urbild im CBC-Modus mit E verschlüsselt.
Als Schlüssel verwendet sie eine öffentlich bekannte Konstante. Der Initialisie-
rungswert des Status entspricht dem Initialisierungsvektor, der letzte Geheimtext-
block ist der Hashwert. Diese Variante ist zwar äußerst naheliegend, dafür aber
auch äußerst unsicher. Dies liegt daran, dass ein Verschlüsselungsverfahren mit
bekanntem Schlüssel per Definition einfach umkehrbar ist. Mallory kann also zu
jedem beliebigen Hashwert ohne große Mühe ein passendes Urbild berechnen.
Beispielsweise kann er U 1 bis U n-1 nach seinen Vorstellungen wählen und U 0 ent-
sprechend anpassen.
Variante 2
In Variante 2 wählt Alice eine Konstante und verschlüsselt diese nacheinander
mit allen Urbildblöcken als Schlüssel. Diese Variante hat den Nachteil, dass sie
gegenüber einer Meet-in-the-Middle-Attacke anfällig ist. Diese funktioniert so:
1. Mallory wählt ein Urbild aus, in dem der Teil ( U 1 , ..., U n-2 ) seinen Vorstel-
lungen entspricht. Er kann darin etwa eine Staubsauger-Bestellung unterbrin-
gen. Den Inhalt von U 0 und U n-1 lässt Mallory zunächst offen.
2. Mallory wählt ein beliebiges U 0 . Anschließend berechnet er den Hashwert
von ( U 0 , ..., U n-1 ) und trägt diesen in eine Liste ein. Danach erhöht er den
Wert von U 0 um 1 und wiederholt den Vorgang. Mallory fährt auf diese
Weise fort, wodurch sich die Liste nach und nach füllt.
3.
Gleichzeitig mit Schritt 2 nimmt Mallory den gewünschten Hashwert und ein
beliebiges U n-1 . Dann entschlüsselt er den Hashwert mit U n-1 als Schlüssel
Search WWH ::




Custom Search