On 02/17/10 20:22, Jan Pechanec:
MD5 ma 128 bitu, tj. tolik ruznych moznosti vystupu:

        340282366920938463463374607431768211456

Tvoje argumentace je dvojsecna.

md5 ma 128 bitu a tudiz hash skutecne muze nabyvat cca 3.4^38 ruznych moznych hodnot, na druhou stranu - je zrejme, ze toto mnozstvi hodnot je porad jen 128bitu.

Takze uz u souboru delky 129b (tedy 17B) je jiste, ze musi existovat dva ruzne takove, ze jejich md5 hash je stejny.

Neni pochyb, ze md5 v tomto pripade pouzivame mimo okruh "vhodnych pouziti". MD5 neni funkce navrzena k tomu ucelu, ke kteremu se ji chystame pouzit. Ke kolizi rozhodne dojit muze - to ma Pepa pravdu.

Na druhou stranu, ta kolize je pomerne nepravdepodobna. Podle toho co a proc porovnavame ji mozna skutecne muzeme zanedbat.

A jestli ne ?

Zalezi jestli budou soubory casteji shodne nebo casteji ruzne. Pokud se da ocekavat, ze budou vetsinou ruzne, pak si muzeme dovolit v pripade shodneho hashe soubory skutecne 1:1 porovnat. Nebudeme to delat casto.

Pokud se naopak da ocekavat, ze soubory jsou vetsinou shodne je vhodnejsi jiny postup - spocitat druhy hash jinym algoritmem. Treba md4 (u me 11 sekund).

Pravdepodobnost simultanni kolize dvou ruznych algoritmu na neshodnych datech je uz opravdu velice mala.

                                                Dan

--
FreeBSD mailing list (users-l@freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l

Odpovedet emailem