====== Hash-Funktion ====== 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**: - diese Funktion soll effizient (schnell berechenbar) - leicht zu implementieren - chaotisch sein: Eine geringfügige Veränderung der Eingabedaten soll eine enorme Änderung der Ausgabedaten als Folge haben. - eine Hash-Funktion soll eine Einwegfunktion sein, das heißt, dass es praktisch unmöglich sein sollte, zu einem Ausgabewert h(x)=z einen Eingabewert x zu finden - sie sollten kollisionsresistent sein: - d. h. zwei verschiedene Eingabewerte dürfen nicht das gleiche Ergebnis haben (weak + strong collision resistance) Es gibt zwei grundsätzliche Wege um **Hashfunktionen anzugreifen**: - Die collision attack (für zwei beliebige Eingabewerte einen gleichen Ausgabewert zu finden) - und die preimage attack (zu einem bestimmten Input einen weiteren Input zu finden) Auf Grund des [[wpde>Geburtstagsparadoxon|Geburtstagsparadoxons]] ist die Wahrscheinlichkeit der Durchführung einer erfolgreichen preimage attack wesentlich geringer. Der Einsatz von [[wpde>Rainbow Table|rainbow tables]] ist eine weitere effiziente Methode, entwickelt von Philippe Oechslin, um Hashes zu brechen. [[security:angriffsmethoden und gegenmaßnahmen#Rainbow-Table-Attacken|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 [[http://www.archive.org/details/Lokale-UndLan-interneAngriffsszenarienAufMicrosoftWindowsNt5.0-5.1-|Quelle Kap. 2.1.2 Hashfunktionen]] ===== unsichere Hash-Funktionen ===== * [[wpde>MD5]] * [[wp>SHA-1]] - [[http://www.heise.de/security/artikel/Konsequenzen-der-erfolgreichen-Angriffe-auf-SHA-1-270648.html|Konsequenzen der erfolgreichen Angriffe auf SHA-1]] ===== Links ===== * [[wpde>Hash-Funktion]] * [[http://www.archive.org/details/Lokale-UndLan-interneAngriffsszenarienAufMicrosoftWindowsNt5.0-5.1-|Lokale- und LAN-interne Angriffsszenarien auf Microsoft Windows NT 5.0-, 5.1- und 5.2-Systeme (June 14, 2008)]] CC-BY-SA v2.0