Gast
#6243258
Hallo, Ich hatte vor kurzem mal einen hypothetischen absurd-interessanten Gedanken. Hash Funktionen haben ja gewisse interessante Eigenschaften, nämlich: * Einwegfunktion, keine Umkehrfunktion bekannt * Selbst kleine Änderungen am Input ändern den Output komplett Deshalb werden diese auch oft als Prüfsummen verwendet. Manche Programme gehen sogar so weit, dass wenn sie einen Block/eine Datei mit einer gewissen Checksumme nicht nochmal übertragen und ganz Vergleichen, sondern einfach annehmen, das es das Selbe ist. Technisch gesehen ist es ja falsch, anzunehmen, dass z.B. sha256(A)=sha256(B) dann A=B. sha256 erzeugt einen 256bit (=32byte) langen Hash. Falls A nur schon 33bytes lang ist, müsste es also für ein A ungefähr 256 Lösungen für B (bei gleicher Länge), geben. Also immer ungefähr 256 hoch (sizeof(B)-sizeof(h)) Möglichkeiten. Also sehr schnell sehr viele. Interessanterweise scheint es in der Wildbahn aber praktisch keine bekannten sha256 Kollisionen zu geben. Das bringt mich zu der folgenden Hypothetischen Frage/Überlegung. Nehmen wir jetzt einfach mal an man könnte eine Umkehr-Funktion F(H,h) definieren, die, gegeben eine Hashfunktion H, und einen Hash h, ein Set aller möglichen Eingaben X für H zurück gibt, für die das Erlebnis von H dem hash h entspricht. Danach, filtern wir X nach weiteren Kriterien, wie z.B. die Anzahl Bytes an Speicher, welches es verbrauchen würde, ob es einen gültigen Dateiheader enthält, ob es eine Gültige Bilddatei mit Prüfsummen usw. beschreibt, etc. Nehmen wir des weiteren an, man könnte einen Algorithmus konstruieren, der anhand des Hash in endlicher Zeit alle verbleibenden Möglichkeiten sortiert ermitteln, und über diese Iterieren könnte, oder einfach die i-te ermitteln könnte, wobei i frei wählbar ist. Die Frage ist nun, wüsste man einen Hash, und zu was er gehört, wäre es einem Menschen, unter den oberen Annahmen, möglich, das gesuchte ausreichend gut zu Beschreiben, um die Möglichen Ergebnisse stark genug einzuschränken, dass dieser aus den verbleibenden die gesuchte Datei finden kann? Ich weis, das ganze ist praktisch nicht machbar, aber eben, jetzt mal rein Hypothetisch.