Hallo Christian,
Nicht, dass ich wüßte, ich leite mir das jedoch ab: Wenn MD5 nicht surjektiv wäre, dann würden Kollisionen viel häufiger auftreten, als die oft angegebenen 2^128 mögliche Eingaben. (anders gesagt: uns wäre ein riesiger Bär aufgebunden worden und MD5 wäre deutlich unsicherer als bisher angenommen)
in der zugehörigen RFC wird ja auch nur von der _Vermutung_ gesprochen, daß die _Größenordnung_ bei 2^128 liegt.
Ich stelle mir einen Beweis für die Surjektivität von md5 auch ziemlich schwierig vor: Immerhin ist der Algorithmus ja so konstruiert, daß er nicht vernünftig umkehrbar ist. Dürfte also nichts mit einem simplen "für alle y Element md5(X) => es gibt ein x Element X" geben.
Auf der letzten CeBit hat ein Kryptoanalytiker während einer Podiumsdiskussion (zum leidigen Thema TCPA) gemeint, daß Hashing eines der mathematisch am schlechtesten erforschten Gebiete sei. Habe eben ein bißchen gegoogelt aber auch nichts definitives gefunden. Vielleicht weiß man ja simple und einfach noch nicht, ob md5 surjektiv ist - und ausprobieren dürfte etwas *länger* dauern ;-)
Grüße,
Peter
The only legitimate use of the greatly loathed <BLINK> tag:
Schroedinger's Cat is <BLINK>NOT</BLINK> dead.
--- User Friendly 27/04/2003