On 9/30/05, Mário Meyer <[EMAIL PROTECTED]> wrote:
> Bom.. saber que existe colisao em algoritimos de hash é conhecido por
> toda a comunidade academica... isso nao é novidade nenhuma... o q
> interessa é saber com que periodicidade essas colisoes ocorrem.. e no
> MD5 não é tao simples gerar uma colisao.. portanto, ele é
> razoavelmente confiavel para o que é usado...

É por isto que eu uso no meu anti-spam, no que eu fiz.

Eu estou vendo os logs de um lugar onde instalei, e ele está eleminando
algumas coisas, mesmo não sendo totalmente usado (a denúncia de
spam não está sendo usada etc), mas ainda é pouco. Ele está só com
pouco mais de 100 assinaturas coletadas.

Uma das motivações de analizar as colisões foi para saber se o meu
anti-spam era confiável.

Agora gostaria de saber qual é o processo usado para duplicar as
assinaturas MD5.

Eles falam que a!= b, mas MD5( a ) = MD5( b ), e que
MD5( a + x ) = MD5( b + x ), e testei isto, e é verdade, mas, sendo os
mesmos a e b, MD5( x + a ) != MD5( x + b ) (acabei de testar isto).

Senechal:goffredo[70] echo yyy > c ; cp c d ; cat a >> c ; cat b >> d
; ls -ls a b c d ; md5 a b c d
2 -rw-r--r--  1 goffredo  user  132 30 Set 20:30 a
2 -rw-r--r--  1 goffredo  user  132 30 Set 20:30 b
2 -rw-r--r--  1 goffredo  user  136 30 Set 20:31 c
2 -rw-r--r--  1 goffredo  user  136 30 Set 20:31 d
MD5 (a) = 266aaf606d0a9f3ebb8236ef819446c3
MD5 (b) = 266aaf606d0a9f3ebb8236ef819446c3
MD5 (c) = cc29309b9f284ce2663975910de22b19
MD5 (d) = aef5999c32253e61a2d70263a922adb0
Senechal:goffredo[71] echo yyy >> a ; echo yyy >> b ; ls -ls a b ; md5 a b
2 -rw-r--r--  1 goffredo  user  136 30 Set 20:31 a
2 -rw-r--r--  1 goffredo  user  136 30 Set 20:31 b
MD5 (a) = 14704af43c8bf903cb9c6922b3427817
MD5 (b) = 14704af43c8bf903cb9c6922b3427817
Senechal:goffredo[72] diff --brief a b
Files a and b differ
Senechal:goffredo[73]

De qualquer modo, eu estou preocupado com a próxima etala
do meu anti-spam, que seria o envio das assinaturas. Eu pensava
em usar o MD5 e uma senha para validação, e talvez tenha que
usar outro método.


    João Rocha.



>
> On 9/30/05, Joao Rocha Braga Filho <[EMAIL PROTECTED]> wrote:
> > Fiz mais um teste. Peguei o MD5 de uma boa parte dos arquivos do
> > meu computador, o que deu quase 245 mil arquivos, e verifiquei se
> > existiam arquivos diferentes com o mesmo MD5. O resultado foram
> > somente arquivos diferentes com o mesmo MD5, e justamente os
> > do teste que peguei no site.
> >
> > Conclusão: Acho que isto não invalida por completo o MD5, mas já
> > dá o que pensar.
> >
> >
> >     João Rocha.
> >
> > On 9/27/05, Joao Rocha Braga Filho <[EMAIL PROTECTED]> wrote:
> > > Li boa parte do artigo, e testei o que ele alega.
> > >
> > > Ele tem um exemplo de colisão, mas não sei qual foi a facilidade, a
> > > quantidade de CPU, necessária para gerá-la. Tem duas coisas a serem
> > > levadas em conta. A quantidade de CPU para tentar duplicar uma
> > > assinatura MD5, e talvez ainda dependa de encontrar uma assinatura
> > > que seja duplicável. Estou falando da hipótese de que algumas assinaturas
> > > podem ser facilmente duplicáveis, e outras não. Observei mais uma
> > > coisa, que dificultaria um ataque, os dados tem o mesmo tamanho.
> > > Será possível criar facilmente assinaturas MD5 iguais para tamanhos
> > > diferentes?
> > >
> > > Quanto a imagens de CD, como as que são distribuídas pelo FreeBSD,
> > > eu sugiro a compactação pelo gzip, ou pelo bzip2 (pode também ter a
> > > versão descompatada para ajudar em caso de não ter o descompactador
> > > disponível). A natureza "caótica" do resultado de uma compactação pode
> > > complicar em MUITO a tentativa de inserir um código desejado e manter o
> > > MD5 do arquivo final compactado. Para melhorar, poderia-se comparar os
> > > MD5 e os tamanhos do compactado e do descompatado, garantindo assim
> > > a integridade, e gerando algo virtualmente induplicável.
> > >
> > > No final do e-mail tem algumas informações do que eu fiz com base
> > > nos dados dele.
> > >
> > >
> > >     Abraços,
> > >         João Rocha.
> > >
> > > Senechal:goffredo[28] cat t.c
> > >
> > > #include        <stdio.h>
> > >
> > > static  char    v1[128] =
> > > {
> > > 0xd1,0x31,0xdd,0x02,0xc5,0xe6,0xee,0xc4,0x69,0x3d,0x9a,0x06,0x98,
> > > 0xaf,0xf9,0x5c,0x2f,0xca,0xb5,0x87,0x12,0x46,0x7e,0xab,0x40,0x04,
> > > 0x58,0x3e,0xb8,0xfb,0x7f,0x89,0x55,0xad,0x34,0x06,0x09,0xf4,0xb3,
> > > 0x02,0x83,0xe4,0x88,0x83,0x25,0x71,0x41,0x5a,0x08,0x51,0x25,0xe8,
> > > 0xf7,0xcd,0xc9,0x9f,0xd9,0x1d,0xbd,0xf2,0x80,0x37,0x3c,0x5b,0xd8,
> > > 0x82,0x3e,0x31,0x56,0x34,0x8f,0x5b,0xae,0x6d,0xac,0xd4,0x36,0xc9,
> > > 0x19,0xc6,0xdd,0x53,0xe2,0xb4,0x87,0xda,0x03,0xfd,0x02,0x39,0x63,
> > > 0x06,0xd2,0x48,0xcd,0xa0,0xe9,0x9f,0x33,0x42,0x0f,0x57,0x7e,0xe8,
> > > 0xce,0x54,0xb6,0x70,0x80,0xa8,0x0d,0x1e,0xc6,0x98,0x21,0xbc,0xb6,
> > > 0xa8,0x83,0x93,0x96,0xf9,0x65,0x2b,0x6f,0xf7,0x2a,0x70
> > > };
> > > static  char    v2[128] =
> > > {
> > > 0xd1,0x31,0xdd,0x02,0xc5,0xe6,0xee,0xc4,0x69,0x3d,0x9a,0x06,0x98,
> > > 0xaf,0xf9,0x5c,0x2f,0xca,0xb5,0x07,0x12,0x46,0x7e,0xab,0x40,0x04,
> > > 0x58,0x3e,0xb8,0xfb,0x7f,0x89,0x55,0xad,0x34,0x06,0x09,0xf4,0xb3,
> > > 0x02,0x83,0xe4,0x88,0x83,0x25,0xf1,0x41,0x5a,0x08,0x51,0x25,0xe8,
> > > 0xf7,0xcd,0xc9,0x9f,0xd9,0x1d,0xbd,0x72,0x80,0x37,0x3c,0x5b,0xd8,
> > > 0x82,0x3e,0x31,0x56,0x34,0x8f,0x5b,0xae,0x6d,0xac,0xd4,0x36,0xc9,
> > > 0x19,0xc6,0xdd,0x53,0xe2,0x34,0x87,0xda,0x03,0xfd,0x02,0x39,0x63,
> > > 0x06,0xd2,0x48,0xcd,0xa0,0xe9,0x9f,0x33,0x42,0x0f,0x57,0x7e,0xe8,
> > > 0xce,0x54,0xb6,0x70,0x80,0x28,0x0d,0x1e,0xc6,0x98,0x21,0xbc,0xb6,
> > > 0xa8,0x83,0x93,0x96,0xf9,0x65,0xab,0x6f,0xf7,0x2a,0x70
> > > };
> > >
> > >
> > >
> > > main()
> > > {
> > >         FILE    *arq    ;
> > >
> > >         arq = fopen( "a","w" );
> > >         fwrite( v1,1,128,arq );
> > >         fclose( arq );
> > >
> > >         arq = fopen( "b","w" );
> > >         fwrite( v2,1,128,arq );
> > >         fclose( arq );
> > > }
> > >
> > >
> > > Senechal:goffredo[29] cc -s -O2 -o t t.c
> > > Senechal:goffredo[30] ./t
> > > Senechal:goffredo[31] md5 a b
> > > MD5 (a) = 79054025255fb1a26e4bc422aef54eb4
> > > MD5 (b) = 79054025255fb1a26e4bc422aef54eb4
> > > Senechal:goffredo[32] od -x a > a.od
> > > Senechal:goffredo[33] od -x b > b.od
> > > Senechal:goffredo[34] diff a.od b.od
> > > 2,4c2,4
> > > < 0000020      ca2f    87b5    4612    ab7e    0440    3e58    fbb8    
> > > 897f
> > > < 0000040      ad55    0634    f409    02b3    e483    8388    7125    
> > > 5a41
> > > < 0000060      5108    e825    cdf7    9fc9    1dd9    f2bd    3780    
> > > 5b3c
> > > ---
> > > > 0000020      ca2f    07b5    4612    ab7e    0440    3e58    fbb8    
> > > > 897f
> > > > 0000040      ad55    0634    f409    02b3    e483    8388    f125    
> > > > 5a41
> > > > 0000060      5108    e825    cdf7    9fc9    1dd9    72bd    3780    
> > > > 5b3c
> > > 6,8c6,8
> > > < 0000120      53dd    b4e2    da87    fd03    3902    0663    48d2    
> > > a0cd
> > > < 0000140      9fe9    4233    570f    e87e    54ce    70b6    a880    
> > > 1e0d
> > > < 0000160      98c6    bc21    a8b6    9383    f996    2b65    f76f    
> > > 702a
> > > ---
> > > > 0000120      53dd    34e2    da87    fd03    3902    0663    48d2    
> > > > a0cd
> > > > 0000140      9fe9    4233    570f    e87e    54ce    70b6    2880    
> > > > 1e0d
> > > > 0000160      98c6    bc21    a8b6    9383    f996    ab65    f76f    
> > > > 702a
> > > Senechal:goffredo[35] ls -ls a b
> > > 2 -rw-r--r--  1 goffredo  user  128 27 Set 15:13 a
> > > 2 -rw-r--r--  1 goffredo  user  128 27 Set 15:13 b
> > > Senechal:goffredo[36] echo xxx >> a
> > > Senechal:goffredo[37] echo xxx >> b
> > > Senechal:goffredo[38] md5 a b
> > > MD5 (a) = 179e1e3946aabbc3d4be3eebd91e1ecb
> > > MD5 (b) = 179e1e3946aabbc3d4be3eebd91e1ecb
> > >
> > >
> > > On 9/23/05, Pablo Sánchez <[EMAIL PROTECTED]> wrote:
> > > > Caros,
> > > >
> > > > Ainda não tive tempo de analisar o código do indivíduo que declarou 
> > > > isso,
> > > > mas não duvido que seja verídica a informação.
> > > >
> > > > Deêm uma lida qdo puderem
> > > >
> > > > http://www.codeproject.com/useritems/HackingMd5.asp
> > > >
> > > > Aparentemente tem gente conseguindo gerar chaves duplicadas com o MD5:
> > > >
> > > > http://www.win.tue.nl/~bdeweger/CollidingCertificates/
> > > >
> > > > Um abc,
> > > >
> > > > Pablo
> > >
> > > --
> > > [EMAIL PROTECTED]
> > > [EMAIL PROTECTED]
> > > http://www.goffredo.eti.br
> > >
> >
> >
> > --
> > [EMAIL PROTECTED]
> > [EMAIL PROTECTED]
> > http://www.goffredo.eti.br
> >
>
> --
> "Linux is for people who hate Windows,
> BSD is for people who love UNIX"
>
> _______________________________________________
> Freebsd mailing list
> Freebsd@fug.com.br
> http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
>


--
[EMAIL PROTECTED]
[EMAIL PROTECTED]
http://www.goffredo.eti.br

_______________________________________________
Freebsd mailing list
Freebsd@fug.com.br
http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br

Responder a