eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › kolizja md5 dla duzego zestawu plikow
Ilość wypowiedzi w tym wątku: 13

  • 11. Data: 2010-08-20 15:26:14
    Temat: Re: kolizja md5 dla duzego zestawu plikow
    Od: bartekltg <b...@g...com>

    On 20 Sie, 16:41, "prorok" <p...@t...nie.adres> wrote:
    > Użytkownik "hubert depesz lubaczewski" <d...@d...com> napisał w
    > wiadomościnews:7e92k7-ffc.ln1@depesz.com...
    >
    > > nie za bardzo chce mi się liczyć dla 50%, ale 40% prawdopodobieństwo
    > > jest przy 2^64 plików.
    >
    > Skąd taka mała ilość? Przypuszczałbym że skoro dla dwóch plików jest rzędu
    > 1/2^128 to prawdopodobieństwo 50% byłoby jeśli nie dla ilości 2^128, to
    > przynajmniej 2^127, skąd nagle wychodzi spierwiastkowana liczba?

    No wasnei, nie chcemy uniknac tego, ze ostatni md5 nie powtarza
    sie z innymi, ale, ze zadne dwie sumy nie sa takie same.

    http://pl.wikipedia.org/wiki/Paradoks_dnia_urodzin

    Jakie jest prawdopodobienstwo, ze n probkach kazda trafi
    w inna liczbe. niech m = 2^128.

    Pierwsza moze byc dowolna, 1. Druga moze przyjac wartosc
    dowolna poza juz przybrana, trzecia - poza dwoma juz zajetymi
    wiec (1-1/m) i (1-2/m)

    Lacznie p=iloczyn_{i=1..n} ( 1 - i/m )

    liczenie na piechote zajeloby troche komputerowi,
    wiec trzeba kombinować. Zalozmy ze n<<m.

    Nazwijmy nasza wielkosc przez p i zlogarytmujmy,
    oraz skorzystajmy z log(1+x)=x (tu przydatne zalozenie)

    log p = - (1/m + 2/m + ...+ n/m) = - [n(n+1)/m]/ m=~= -n^2/(2m)

    p=exp(-n^2/2m)

    Nasz interesuje prawdopodobienstwo, ze wystapi co najmniej
    jedna kolizja, czyli 1-p

    1-exp (-n^2/2m) = a. a=1/2, 1/10, 1/100

    exp(-n^2/2m) = 1-a
    n=sqrt( -2m*log(1-a) )

    a=1/2, n= 2.17e19 [hmm, mniej niz obok podawane, moze sie
    gdzies kopnalem, moze juz przyblizenie za grube]
    a=1/10 n=8e18
    1/100 n= 2e18

    dla malych a mozna uzyc [modulo ewentualny blad w rachunkach]
    n=sqrt( 2m*a ) = 2.6e19 *sqrt(a)

    pozdrawiam
    bartekltg


  • 12. Data: 2010-08-20 18:47:44
    Temat: Re: kolizja md5 dla duzego zestawu plikow
    Od: porneL <n...@p...net>

    On Fri, 20 Aug 2010 07:15:13 +0100, ptoki <s...@g...com> wrote:

    > Mam duzy zestaw plikow.
    > Jak ksztaltuje sie prawdopodobienstwo wystapienia kolizji md5-ek tych
    > plikow w funkcji ich ilosci?
    >
    > Podchodząc do sprawy liniowo wiem ze skoro md5 jest 128 bitowe to
    > 2^128 plikow+1 wygeneruje kolizje.
    > Ale nie wiem jak md5 sie zachowuje dla plikow ktore sa do siebie
    > troche podobne (np formularze wypelnione podobnymi danymi).

    Żeby mieć 50% szansy na kolizję musiał byś hashować 6 miliardów plików na
    sekundę, każdej sekundy, przez 100 lat.

    --
    http://pornel.net
    this.author = new Geek("porneL");


  • 13. Data: 2010-08-23 09:39:55
    Temat: Re: kolizja md5 dla duzego zestawu plikow
    Od: ptoki <s...@g...com>

    On 20 Sie, 17:26, bartekltg <b...@g...com> wrote:
    > On 20 Sie, 16:41, "prorok" <p...@t...nie.adres> wrote:
    >
    > > Użytkownik "hubert depesz lubaczewski" <d...@d...com> napisał w
    > > wiadomościnews:7e92k7-ffc.ln1@depesz.com...
    >
    > > > nie za bardzo chce mi się liczyć dla 50%, ale 40% prawdopodobieństwo
    > > > jest przy 2^64 plików.
    >
    > > Skąd taka mała ilość? Przypuszczałbym że skoro dla dwóch plików jest rzędu
    > > 1/2^128 to prawdopodobieństwo 50% byłoby jeśli nie dla ilości 2^128, to
    > > przynajmniej 2^127, skąd nagle wychodzi spierwiastkowana liczba?
    >
    > No wasnei, nie chcemy uniknac tego, ze ostatni md5 nie powtarza
    > sie z innymi, ale, ze zadne dwie sumy nie sa takie same.
    >
    > http://pl.wikipedia.org/wiki/Paradoks_dnia_urodzin
    >
    > Jakie jest prawdopodobienstwo, ze n probkach kazda trafi
    > w inna liczbe. niech m = 2^128.
    >
    > Pierwsza moze byc dowolna, 1. Druga moze przyjac wartosc
    > dowolna poza juz przybrana, trzecia - poza dwoma juz zajetymi
    > wiec (1-1/m)  i (1-2/m)
    >
    > Lacznie p=iloczyn_{i=1..n}  ( 1 - i/m )
    >
    > liczenie na piechote zajeloby troche komputerowi,
    > wiec trzeba kombinować. Zalozmy ze n<<m.
    >
    > Nazwijmy nasza wielkosc przez p i zlogarytmujmy,
    > oraz skorzystajmy z log(1+x)=x (tu przydatne zalozenie)
    >
    > log p = - (1/m + 2/m + ...+ n/m) = - [n(n+1)/m]/ m=~= -n^2/(2m)
    >
    > p=exp(-n^2/2m)
    >
    > Nasz interesuje prawdopodobienstwo, ze wystapi co najmniej
    > jedna kolizja, czyli 1-p
    >
    > 1-exp (-n^2/2m) = a.  a=1/2, 1/10, 1/100
    >
    > exp(-n^2/2m) = 1-a
    > n=sqrt(  -2m*log(1-a) )
    >
    > a=1/2, n= 2.17e19 [hmm, mniej niz obok podawane, moze sie
    > gdzies kopnalem, moze juz przyblizenie za grube]
    > a=1/10 n=8e18
    > 1/100 n= 2e18
    >
    > dla malych a mozna uzyc [modulo ewentualny blad w rachunkach]
    > n=sqrt(  2m*a ) = 2.6e19 *sqrt(a)
    >
    Dziekuje wszystkim za sugestie.
    Okazalo sie ze w rozwiazaniu ktore analizuje rzeczywiscie porownywany
    jest i md5 i rozmiar. Niestety nie znalazlem informacji ze md5
    zachowuje sie "liniowo" czyli ze wszystkie 128 bitow zaleza od
    zawartosci pliku jednakowo. Czyli ze rzeczywiscie mamy do czynienia z
    przestrzenia ktora jestesmy w stanie wykorzystac w calosci.

    Ale i tak wszystkie podane wielkosci (2^64, 2^127, 2,6e19 *sqrt(0,5) )
    same w sobie sa dosyc duze.

    Nie zmienia to tego ze juz zhashowanie tylko 2 różnych plikow moze
    wygenerowac kolizje :).

    --
    Lukasz Sczygiel

strony : 1 . [ 2 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: