jak z toho ven

Michal Kubecek mike na mk-sys.cz
Sobota Červen 28 12:57:14 CEST 2003


On Sat, Jun 28, 2003 at 02:21:41AM +0200, Petr Vileta wrote:
> > Teoreticky to vypadá dobře, ale zkuste počítat: drtivá většina soutěžících
> > bude mít ročník narození v rozmezí 1945-1985 (předpokládám dolní hranici
> > 18 let z právních důvodů - obvykle to tak bývá). To je 40 let, tedy asi
> > 14610 dnů, pro každý den max. 910 kombinací posledního čtyřčíslí (do roku
> > 1953 je to 91 kombinací posledního trojčíslí). To dává horní odhad
> > 13295100 možností. Aplikace MD5 na řetězec délky 10 trvá na mém počítači
> > přibližně 15 mikrosekund. Takže i když budu počítat s nějakou režií okolo,
> > neměl by být problém zjistit z toho MD5 digestu rodné číslo do pěti minut.

> valky. Takze bych vzal rodne cislo, rozsekal na cislice a sloucil jmeno a
> prijmeni bez mezer a zkombinoval tak, ze za prvni znak jmena by prisla prvni
> cislice z RC, pak druhy znak jmena, druha cislice RC, treti znak jmena ...
> atd. a z toho bych udelal MD5. Metodou brute force by mel CPU vice zamotanou
> hlavu a desifrovani by mohlo trvat podstatne dele, nebo ne?

Proč by měl mít zamotanou hlavu? Konstrukce toho řetězce je zanedbatelná,
takže jediný rozdíl je, že se počítá MD5 z trochu delšího řetězce. Včera
jsem ten prográmek zapomněl přeložit s optimalizací, takže tady máte
aktualizované odhady rychlosti pro aplikaci MD5 na 1000000 řetězců:

  délka 10:         12.4 s
  délka 256:        15.7 s

Takže žádná výhra. Uvědomte si, že problém není ve slabém algoritmu pro
message digest, ale v malém prostoru hodnot, které přicházejí v úvahu.

                                                          Michal Kubeček


Další informace o konferenci Databases