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 > > _______________________________________________ > > 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 > -- [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