Hashfunktionen sind im Bereich der Kryptographie zum Beispiel für die chiffrierte Speicherung der Passwörter in einer Datenbank bedeutsam.
Eine Hashfunktion ist eine mathematische Funktion, in welcher eine unbestimmte Menge X auf eine endliche Menge Z abgebildet wird. Die Hashfunktion h(x) muss für alle Eingabedaten x (x ist Element von X) anwendbar sein und die Ausgabe von h(x) muss immer die gleiche Länge haben.
weitere Kriterien:
Es gibt zwei grundsätzliche Wege um Hashfunktionen anzugreifen:
Auf Grund des Geburtstagsparadoxons ist die Wahrscheinlichkeit der Durchführung einer erfolgreichen preimage attack wesentlich geringer.
Der Einsatz von rainbow tables ist eine weitere effiziente Methode, entwickelt von Philippe Oechslin, um Hashes zu brechen. Rainbow tables sind im Voraus berechnete Hash-Tabellen. Zwei verschiedene Algorithmen sind für diese Datenstruktur bedeutsam: Zum einen der für die Generierung dieser, zum anderen der zum Finden des Klartextes (lookup) mit Hilfe dieser Datenstruktur.
Dieser Abschnitt ist nach der CC-BY-SA v2.0 lizensiert Quelle Kap. 2.1.2 Hashfunktionen