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