Zum Inhalt springen

Hashfunktion

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 21. April 2004 um 13:31 Uhr durch 130.75.25.207 (Diskussion) (-). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Eine Hash-Funktion (en. hashing: zerhacken) ist eine nicht umkehrbare Funktion, die eine umfangreiche Quellmenge (i.d.R. Texte) auf eine wesentlich kleinere Zielmenge (Hash-Werte, i.d.R. natürliche Zahlen und Buchstaben) abbildet. Der Hashwert kann zum Auffinden von Daten in einer Datenbank oder zum digitalen Signieren eines Dokumentes verwendet werden. Prüfsummen erzeugen ebenfalls eine Abbildung auf eine reduzierte Datenmenge, hier mit dem Ziel, die Datenintegrität bei Störeinflüssen sicherzustellen.

Kriterien für eine gute Hash-Funktion

Der Speicherbedarf des Hash-Wertes soll deutlich kleiner sein als der der Nachricht.
Ähnliche Quellelemente sollen zu völlig verschiedenen Hash-Werten führen.
Die Funktion muss eindeutig von der Quellmenge auf die Zielmenge abbilden. Wiederholtes Berechnen des Hash-Wertes desselben Quellelements muss dasselbe Ergebnis liefern.
Die Funktion muss schnell berechenbar sein.

Zusätzliche Forderungen für kryptographisch sichere Hash-Funktionen:

Es darf nicht effizient möglich sein, zwei Quellelemente mit demselben Hash-Wert zu finden. Andererseits sind Kollisionen bei der Adressberechnung in Datenbanken nicht zu vermeiden, so dass eine entsprechende Behandlungs-Strategie verfügbar sein muss.
Zu der Funktion gibt es keine inverse Funktion, mit der es möglich wäre, für ein gegebenes Zielelement ein passendes Quellelement zu finden.

Allgemeine Hash-Algorithmen

Parität, Prüfziffer, ECC-Verfahren, Quersumme, Prüfsumme, Modulo-Funktion, Cyclic Redundancy Check, Hash-Wert

Hash-Algorithmen in der Kryptographie

MD2, MD4, MD5, SHA-1, SHA-2, RIPEMD-160


Siehe auch: Algorithmus