Cryptography Reference
In-Depth Information
3 Hash-Funktionen
Durch eine Hash-Funktion h( ) wird eine Nachricht beliebiger Länge auf einen Hashwert mit
einer festen Länge z.B. von 160 Bit abgebildet. Nach einem Überblick über Anwendungen und
Arten von Hash-Funktionen werden in diesem Kapitel Angriffe auf Einweg-Hash-Funktionen
diskutiert, konkrete Hash-Funktionen auf Basis von Block-Chiffren und eigenständige Hash-
Funktionen (MD5, SHA, RIPEMD) vorgestellt und schließlich Hash-Funktionen als MAC
verwendet (HMAC: keyed-Hash MAC).
Anm.: Die Schreibweise h( ) bezeichnet eine Funktion. In der Klammer steht im konkreten Fall der Ein-
gangswert, z.B. die Nachricht m für h(m).
3.1 Anwendungen und Arten von Hash-Funktionen
Durch eine Hashfunktion h( ) wird eine Nachricht oder ein Name beliebiger Länge auf einen
Hashwert einer bestimmten, festen Länge abgebildet. Hashfunktionen werden dazu benutzt,
um z.B. eine Menge von Namen einer adressierbaren Liste zuzuordnen. Als einfaches Beispiel
kann von dem Zeichencode eine stellenweise Summe modulo 2 gebildet werden:
a 110.0001
l 110.1100
p 111.0000
h 110.1000
a 110.0001
h(„alpha“) 111.0100
Bei Verwendung von 7-Bit-ASCII wird eine Liste von 2 7 = 128 Adressen gebildet. Der Name
„alpha“ fällt auf die Adresse h(“alpha“) = 111.0100. Ziel der Abbildung von Namen auf eine
Liste von Adressen ist, dass die Liste möglichst gleichförmig belegt wird und unterschiedliche
Namen nicht auf die gleiche Adresse fallen (Kollision).
Als eine weitere Anwendung dienen Hashfunktionen, um Passwörter in einer verschlüsselten
Form in einer Passwort-Datei abzulegen. Bei Eingabe eines Passwortes wird dieses ebenfalls
verschlüsselt und die verschlüsselte Form mit den Einträgen der Passwort-Datei verglichen.
Dagegen soll es nicht möglich sein, die verschlüsselte Form eines Passworts zu entschlüsseln.
Dazu eignen sich Einweg-Hashfunktionen . Sie haben die Eigenschaft, dass es praktisch nicht
möglich ist, von dem Hashwert auf den Eingabewert zurückzuschließen, d.h. aus dem Hash-
wert eines Passworts das Passwort selbst zu bestimmen.
Einweg-Hashfunktionen werden auch als kryptographische Hashfunktionen bezeichnet.
Entgegen einer nahe liegenden Vermutung benutzen kryptographische Hashfunktionen eben-
falls keinen Schlüssel. Der Name ist so zu verstehen, dass kryptographische Hashfunktionen
als Hilfsfunktionen für die Kryptographie benutzt werden. Beispiele von Einweg-
Hashfunktionen wurden bereits in Kap. 2.2.4 „Kennwörter für UNIX“ und Kap. 2.2.4.2 „Ein-
weg-Hashfunktion auf Basis von DES“ angesprochen. Das obige Beispiel h(„alpha“) ist dage-
gen keine Einweg-Hashfunktion.
Search WWH ::




Custom Search