Zum Hauptinhalt springen

Hashfunktionen

Hashfunktion

Eine Hashfunktion ist eine Abbildung, die eine grosse Eingabemenge auf eine kleinere Zielmenge abbildet.

Da eine Eingabe beliebiger LĂ€nge auf eine Ausgabe mit fester LĂ€nge abgebildet, ist InjektivitĂ€t unmöglich. Die Eingabemenge ist folglich unendlich gross (Texte, Videos und Tonaufnahmen beliebiger LĂ€nge, Bilder beliebiger Grösse, ...). Die Ausgabemenge ist allerdings endlich, da die Hashwerte (also die PrĂŒfsummen) eine fixe LĂ€nge haben.

Hashfunktion
Hashfunktion

Hashfunktion​

In der Abbildung oben sieht man, dass die Menge der Passwörter nur eine Teilmenge aller theoretisch möglichen Eingaben darstellt. Es ist nicht zu verhindern, dass Kollisionen auftreten.

Kollisionsresistenz

Um genĂŒgend Sicherheit zu bieten, soll eine gute kryptographische Hashfunktion folglich kollisionsresistent sein. Das heisst, es soll praktisch unmöglich sein, Kollisionen zu finden.

Hashwert​

Die Ausgabe der Hashfunktion – also die PrĂŒfsumme – wird Hashwert genannt.

Man kann einen Hashwert mit einem Fingerabdruck vergleichen, weil er gewissermassen eindeutig zu einem Passwort passt wie ein Fingerabdruck zu einem Menschen.

Ein Hashwert ist wie ein Fingerabdruck
Ein Hashwert ist wie ein Fingerabdruck

Aktuelle Beispiele​

Es gibt verschiedene aktuelle Hashfunktionen. Nachfolgend ein Tool, welches SHA-2 Hashes (Secure Hash Algorithm Version 2) berechnet.

SHA-2 Hash

Input

SHA-2 Hash

Hashes berechnen
  1. Berechnen Sie den Hash Ihres Namens und den Ihrer E-Mail-Adresse. Halten Sie beide Hash-Werte fest.
  2. Wie viele Buchstaben Àndern sich, wenn Sie einen einzigen Tippfehler machen?
Laden...
Laden...
Kleine Änderung, Grosse Auswirkung

Die letzten beiden Beispiele zeigen, dass bereits kleinste Änderungen zu komplett anderen Hashwerten fĂŒhren. Kryptographische Hashfunktion sind so konstruiert, dass bei einer Änderung an einem Bit min. 50% der Hashwert-Bits Ă€ndern.

Damit erreichen wir unter anderem, dass wir aus einer Ähnlichkeit zweier Hashwerten nicht auf eine Ähnlichkeit der beiden entsprechenden Eingabewerte schliessen können. So ist es nahezu unmöglich, den Eingabewert durch «AnnĂ€herung» herauszufinden.