hash-funktion

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
hash-funktion [2010/11/26 17:48] sthash-funktion [2010/12/10 18:11] (aktuell) st
Zeile 1: Zeile 1:
 +====== 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