schoene an potenzen die unglaubliche potenz ist:
2^128+1 sind:
340282366920938463463374607431768211457
sagt zumindest mein bc.
Wenn du z.B. Texte verschlüsselst mit z.B. 1000 Buchstaben, dann
ergibt das 26^1000 versiedene Möglichkeiten, und sind natürlich
mehr als 2^128, aber die Wahscheinlichkeit, daß 2 SINNVOLLE Texte
gleiche Hashes haben, ist sehr gering. Bei binären Datenströmen
mit z.B. 500 Bytes gibt es z.B. 256^500 = 2^4000 Möglichkeiten -
also ungefähr genauso viele. Aber bei binären Datenströmen kommen
halt alle Möglichkeiten in Betracht, und damit ist die
Wahrscheinlichkeit höher.
Bei Exe-Binaries kommen nur die ausführbaren Möglichkleiten in Betracht,
und deshalb ist die Wahrscheinlichkeit wieder geringer, daß 2 den
gleichen Hash haben.
Falls die Eingabe weniger als 128 Bit hat, kann es glaube ich trotzdem
2 verschiedene Eingaben mit gleichem Hash geben. Da müßte der MD5 schon
ein optimaler Hasher sein.
In der Praxis sollte es aber wohl nicht vorkommen, daß zwei verschiedene
„Pakete“ den gleichen Hash haben.
Außerdem werden Hashes meistens verwendet, um ähnliche(!) „Pakete“
voneinenander zu unterscheiden, und in diesem Fall können eigentlich
keine 2 gleichen Hashes entstehen, da der MD5 schon bei der kleinsten
Änderung stark streut.
2 „Pakete“ mit gleichem Hash sind grundverschieden.
Gruß
Thorsten