1UnitedPower: Hash

Beitrag lesen

Meine Herren!

Ich roll dein Posting mal von hinten auf.

Und wie ich diese [Hashfunktion] dann auch wieder zurückrechnen könnte in ihren ursprünglichen Wert?

Das geht per Definition nicht. Hash-Funktionen sollen nicht umkehrbar sein.

Die simpelste Hash-Funktion, die ich mir Vorstellen kann ist die modulo-Operation mit 2. Modulo, falls du es nicht kennst, berechnet den Rest, der bei einer Division entstünde: "2 mod 2" ist also 0. "3 mod 2" ist 1. und "4 mod 2" ist wiederum 0. Das Ergebnis ist also immer 1 oder 0. Wenn wir nun also einen Hash serviert bekommen, beispielsweise 1, dann können wir mit Sicherheit sagen, die ursprüngliche Zahl eine ungerade Zahl gewesen sein muss, wir können aber nicht sagen ob es 3,5 oder 1337 war.

In der Kryptographie spielen solch einfache Hash-Funktionen keine große Rolle, das war erstmal pure Theorie.

In der Kryptologie, möchte man erreichen, dass es möglichst schwierig ist EINE der potenziellen Möglichkeiten zu erraten. Die Hash-Funktion aus meinem Beispiel oben, ist also nicht besonders geeignet, weil es nur die Möglichkeiten gibt, das die Zahl gerade oder ungerade gewesen sein muss. Gibt uns jemand den Hashwert "1" und will eine Lösung von uns, können wir ohne großen Aufwand "3" antworten, oder "5" oder "7". Gibt uns jemand den Hashwert "0", antworten wir "2", "4", "42". Ganz einfach.

Wir können das Erraten einer Lösung erschweren, indem wir die Zielmenge vergrößern, wir könnten sagen statt "mod 2", nehmen wir "mod 1000". Dann gäbe es schon 1000 verschiedene Hashes, statt nur 2. Das Raten würde dadurch auf jedenfalls schwieriger werden. Aber wir kennen ja den Algorithmus und müssen gar nicht raten, sondern wir können logisch auf eine Lösung schließen. Gibt uns jemand den Hash "42", geben wir als eine Lösung "1042" an, denn 1042 mod 1000 = 42. Wenn wir wissen, dass 1042 eine gültige Lösung für die Umkehrung dieser Hash-Funktion ist, können wir direkt weitere Lösungen aufzählen: 2042, 3042 usw.

An eine Hash-Funktion, die in der Kryptographie nützlich ist, stellt man deshalb zusätzlich den Anspruch, dass sich die Lösungen zu einem gegebenen Hash nicht so intuitiv berechnen lassen. Wobei Intuition hier ein weit gefächerter Begriff ist.

Die "Sicherheit" einer Hash-Funktion ergibt sich also zum einen aus Größe der Menge der Hashes die gebildet werden können und zum anderen daraus, wie unterschiedlich die Hash-Werte für "ähnliche" Eingaben ausfallen.

--
“All right, then, I'll go to hell.” – Huck Finn