Nein, das hast Du falsch verstanden.
Ein HASH gilt nicht mehr als sicher, wenn
A = Hash
B = Hash
A != B
Also 2 unterschiedliche Eingangswerte ergeben einen identischen Ausgangswert. Das nennt man Kollision und wurde u.a. bei MD5 schon gefunden. Deshalb gilt MD5 nicht mehr als „sicher“.
Die Frage oben (und meine Antwort bezüglich mathematischer Beweisbarkeit) bezog sich aber darauf, dass man einen Eingangswert A hat und dieser Wert A kommt auch als Hash heraus, also INPUT = OUTPUT.
Das kann nicht sein und ich vermute(!), dass man es mathematisch beweisen kann, dass dies niemals sein kann.
Jedoch hat das mit einer Kollision nichts zu tun und ist für die Betrachtung, ob eine HASH-Funktion sicher ist, auch nicht relevant. (Ich habe jedenfalls noch von niemandem gehört, der zu beweisen versuchte, dass INPUT = OUTPUT ist bzw. sein kann.)
Was der Clemens schreibt, ist richtig: Auf lange Sicht wird man eine Kollision finden, denn selbst ohne Mathematik-Studium kann man sich überlegen, dass es eine Kollision geben MUSS.
Nehmen wir mal an, das Ergebnis einer HASH-Funktion ist 3 Stellen lang und jede Stelle kann 2 Zustände (0 und 1) haben, dann ergeben sich 2hoch3=8 Möglichkeiten:
000
001
010
011
100
101
110
111
Bedeutet also: Wenn ich 8+1=9 unterschiedliche Eingangswerte habe, MUSS sich ein Ausgangswert doppeln, denn es gibt ja nur 8 Ausgangszustände.
Nun hat SHA-2 deutlich mehr Stellen und diese können auch nicht nur 0 und 1 annehmen (das sogenannte „Alphabet“), aber trotzdem eine begrenzte Anzahl an Ausgangswerten.
Das heißt, wenn ich diese Anzahl + 1 vorne reingebe, MUSS am Ende ein Wert herauskommen, den es vorher schon einmal gab und damit hätte man eine Kollision.
Die „Sicherheit“ von SHA-2 besteht nun darin, dass die Menge an Ausgangswerten riiiiiiesig ist und noch niemand die zwei Inputs gefunden hat, die denselben Ausgangswert ergeben.
Aber dass es diese zwei Werte geben muss, ist zu 100% sicher.
Was Tom da schreibt, ist zwar etwas einfach formuliert, aber auch er hat Recht, denn viele vergessen, dass Kryptographie, Bitcoin, Kryptowährungen usw. einfach nur Software ist und man Software immer anpassen kann, sofern man sich einig ist.
Erkennt die Welt SHA-2 als unsicher an, dann ändert man halt den Code und nimmt eine andere HASH-Funktion, um es mal einfach auszudrücken.
Jetzt klar geworden?