Hallo,
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.
vielen Dank, das ist ein gut nachvollziehbares Beispiel. Ich kenne das unter dem Namen "Rechnen mit Rest" aber modulo hatten wir auch schon mal im Einführungskurs.
Ich hatte da glaube ich einen Verständnisfehler: ich dachte, es gibt nur EINE Art von Funktion, die man Hashfunktion nennt. Nur gestaffelt in unterschiedliche "Härtegrade". Also sha ist der gleiche Rechenweg wie md5, nur komplexer. Verstehe ich es richtig: jede Funktion, die einen Hash (also eine Prüfsumme) berechnet, nennt man Hash? Egal, auf welche Weise?
Und das Wesen eines Hashes ist es, diesen nicht zurückrechnen zu können? Damit ist es schon klarer.
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.
Sehr interessant, vielleicht muss ich mich da mal ein wenig einarbeiten.
vielen Dank für deine ausführliche Erklärung!
Bocholder