[C] générateur de collision md5

générateur de collision md5 [C] - C - Programmation

Marsh Posté le 17-01-2006 à 16:06:56    

bonjour, un générateur de collision md5 m'a sorti le résultat suivant (après 1 heure de moulonette)

Code :
  1. unsigned int m0[32] = {
  2. 0x7d3e4a65, 0x9b587eca, 0xe68650db, 0x2651f228,
  3. 0x57fb6567, 0x723e68d2, 0x2b48165f, 0x93310ab7,
  4. 0x0634ed51, 0xc3f48a00, 0x7f96bfa3, 0x9199590f,
  5. 0xe7ad02e6, 0x6daa0de3, 0x1cd8e59d, 0x95945955,
  6. 0x28ccce31, 0x8b444555, 0xed72fa03, 0x1bd7bb31,
  7. 0x45999357, 0x4cc1ca41, 0x07272920, 0x9d64e953,
  8. 0x697ad809, 0x4b50948e, 0x9c712a12, 0x8cca9c94,
  9. 0x0538b4ce, 0x7c17c25e, 0xee5f21d6, 0x85fbf030,
  10. };
  11. unsigned int m1[32] = {
  12. 0x7d3e4a65, 0x9b587eca, 0xe68650db, 0x2651f228,
  13. 0xd7fb6567, 0x723e68d2, 0x2b48165f, 0x93310ab7,
  14. 0x0634ed51, 0xc3f48a00, 0x7f96bfa3, 0x9199d90f,
  15. 0xe7ad02e6, 0x6daa0de3, 0x9cd8e59d, 0x95945955,
  16. 0x28ccce31, 0x8b444555, 0xed72fa03, 0x1bd7bb31,
  17. 0xc5999357, 0x4cc1ca41, 0x07272920, 0x9d64e953,
  18. 0x697ad809, 0x4b50948e, 0x9c712a12, 0x8cca1c94,
  19. 0x0538b4ce, 0x7c17c25e, 0x6e5f21d6, 0x85fbf030,
  20. };


 
pb comment exploité ces résultat et prouvé que c'est deux messages ont la même signature.
J'ai essayé de balancé celels ci dans un fichier à l'aide d'un bou de code c et de la fonction fprint (%x pour les entier non signé en hexa)
Et j'obtient deux signatures différentes.
Alors que faire  :??:  
 
lien vers le générateur de collisions :
http://www.stachliu.com/collisions.html


---------------
De Marx j'ai avant tout retenu la notion de capital
Reply

Marsh Posté le 17-01-2006 à 16:06:56   

Reply

Marsh Posté le 17-01-2006 à 17:32:07    

En utilisant tes 2 tableaux et applicant MD5 sur chaque j'obtiens la meme signature :
 
f5ad6f10868621584cb0f88682534a1d
 
 

Reply

Marsh Posté le 17-01-2006 à 19:20:21    

tu peus détailler ce que tu as fait stp ?


---------------
De Marx j'ai avant tout retenu la notion de capital
Reply

Marsh Posté le 17-01-2006 à 19:29:11    

J'ai une lib qui calcule du MD5 / MD5 salted / DES etc ... Les algos de cette lib sont du domaine public.
Je fait simplement un appel au MD5 avec  m0, sizeof(int) * 32 ... pareil avec le m1 et j'obtiens la meme signature.

Reply

Marsh Posté le 17-01-2006 à 19:31:08    

ok merci


---------------
De Marx j'ai avant tout retenu la notion de capital
Reply

Marsh Posté le 17-01-2006 à 20:08:31    

thurfin a écrit :

bonjour, un générateur de collision md5 m'a sorti le résultat suivant (après 1 heure de moulonette)

Code :
  1. unsigned int m0[32] = {
  2. 0x7d3e4a65, 0x9b587eca, 0xe68650db, 0x2651f228,
  3. 0x57fb6567, 0x723e68d2, 0x2b48165f, 0x93310ab7,
  4. 0x0634ed51, 0xc3f48a00, 0x7f96bfa3, 0x9199590f,
  5. 0xe7ad02e6, 0x6daa0de3, 0x1cd8e59d, 0x95945955,
  6. 0x28ccce31, 0x8b444555, 0xed72fa03, 0x1bd7bb31,
  7. 0x45999357, 0x4cc1ca41, 0x07272920, 0x9d64e953,
  8. 0x697ad809, 0x4b50948e, 0x9c712a12, 0x8cca9c94,
  9. 0x0538b4ce, 0x7c17c25e, 0xee5f21d6, 0x85fbf030,
  10. };
  11. unsigned int m1[32] = {
  12. 0x7d3e4a65, 0x9b587eca, 0xe68650db, 0x2651f228,
  13. 0xd7fb6567, 0x723e68d2, 0x2b48165f, 0x93310ab7,
  14. 0x0634ed51, 0xc3f48a00, 0x7f96bfa3, 0x9199d90f,
  15. 0xe7ad02e6, 0x6daa0de3, 0x9cd8e59d, 0x95945955,
  16. 0x28ccce31, 0x8b444555, 0xed72fa03, 0x1bd7bb31,
  17. 0xc5999357, 0x4cc1ca41, 0x07272920, 0x9d64e953,
  18. 0x697ad809, 0x4b50948e, 0x9c712a12, 0x8cca1c94,
  19. 0x0538b4ce, 0x7c17c25e, 0x6e5f21d6, 0x85fbf030,
  20. };


 
pb comment exploité ces résultat et prouvé que c'est deux messages ont la même signature.
J'ai essayé de balancé celels ci dans un fichier à l'aide d'un bou de code c et de la fonction fprint (%x pour les entier non signé en hexa)
Et j'obtient deux signatures différentes.
Alors que faire  :??:  
 
lien vers le générateur de collisions :
http://www.stachliu.com/collisions.html


 
Il suffit d'écrire deux fichiers  
Le premier contenant le bloc suivant:  

Code :
  1. static char Bloc1[]={
  2. 0xd1, 0x31, 0xdd, 0x02, 0xc5, 0xe6, 0xee, 0xc4,
  3. 0x69, 0x3d, 0x9a, 0x06, 0x98, 0xaf, 0xf9, 0x5c,
  4. 0x2f, 0xca, 0xb5, /* ici */ 0x87, 0x12, 0x46, 0x7e, 0xab,
  5. 0x40, 0x04, 0x58, 0x3e, 0xb8, 0xfb, 0x7f, 0x89,
  6. 0x55, 0xad, 0x34, 0x06, 0x09, 0xf4, 0xb3, 0x02,
  7. 0x83, 0xe4, 0x88, 0x83, 0x25, 0x71, 0x41, 0x5a,
  8. 0x08, 0x51, 0x25, 0xe8, 0xf7, 0xcd, 0xc9, 0x9f,
  9. 0xd9, 0x1d, 0xbd, /* ici */ 0xf2, 0x80, 0x37, 0x3c, 0x5b,
  10. 0xd8, 0x82, 0x3e, 0x31, 0x56, 0x34, 0x8f, 0x5b,
  11. 0xae, 0x6d, 0xac, 0xd4, 0x36, 0xc9, 0x19, 0xc6,
  12. 0xdd, 0x53, 0xe2, /* ici */ 0xb4, 0x87, 0xda, 0x03, 0xfd,
  13. 0x02, 0x39, 0x63, 0x06, 0xd2, 0x48, 0xcd, 0xa0,
  14. 0xe9, 0x9f, 0x33, 0x42, 0x0f, 0x57, 0x7e, 0xe8,
  15. 0xce, 0x54, 0xb6, 0x70, 0x80, /* ici */ 0xa8, 0x0d, 0x1e,
  16. 0xc6, 0x98, 0x21, 0xbc, 0xb6, 0xa8, 0x83, 0x93,
  17. 0x96, 0xf9, 0x65, /* ici */ 0x2b, 0x6f, 0xf7, 0x2a, 0x70};


 
Le second contenant le bloc suivant  

Code :
  1. static char Bloc2[]={
  2. 0xd1, 0x31, 0xdd, 0x02, 0xc5, 0xe6, 0xee, 0xc4,
  3. 0x69, 0x3d, 0x9a, 0x06, 0x98, 0xaf, 0xf9, 0x5c,
  4. 0x2f, 0xca, 0xb5, /* ici */ 0x07, 0x12, 0x46, 0x7e, 0xab,
  5. 0x40, 0x04, 0x58, 0x3e, 0xb8, 0xfb, 0x7f, 0x89,
  6. 0x55, 0xad, 0x34, 0x06, 0x09, 0xf4, 0xb3, 0x02,
  7. 0x83, 0xe4, 0x88, 0x83, 0x25, 0xf1, 0x41, 0x5a,
  8. 0x08, 0x51, 0x25, 0xe8, 0xf7, 0xcd, 0xc9, 0x9f,
  9. 0xd9, 0x1d, 0xbd, /* ici */ 0x72, 0x80, 0x37, 0x3c, 0x5b,
  10. 0xd8, 0x82, 0x3e, 0x31, 0x56, 0x34, 0x8f, 0x5b,
  11. 0xae, 0x6d, 0xac, 0xd4, 0x36, 0xc9, 0x19, 0xc6,
  12. 0xdd, 0x53, 0xe2, /* ici */ 0x34, 0x87, 0xda, 0x03, 0xfd,
  13. 0x02, 0x39, 0x63, 0x06, 0xd2, 0x48, 0xcd, 0xa0,
  14. 0xe9, 0x9f, 0x33, 0x42, 0x0f, 0x57, 0x7e, 0xe8,
  15. 0xce, 0x54, 0xb6, 0x70, 0x80, /* ici */ 0x28, 0x0d, 0x1e,
  16. 0xc6, 0x98, 0x21, 0xbc, 0xb6, 0xa8, 0x83, 0x93,
  17. 0x96, 0xf9, 0x65, /* ici */ 0xab, 0x6f, 0xf7, 0x2a, 0x70};


Tes deux fichiers seronts différents mais auront le même md5 (les commentaires /* ici */ indiquent les différences entre les deux blocs)
 
Sinon les deux pages suivantes: http://www.doxpara.com/t1.html et http://www.doxpara.com/t2.html bien que différentes, ont le même MD5 !!!


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 17-01-2006 à 22:19:48    

euh pas chez moi, par contre il y'a des chercheurs d'une université allemande qui ont réalisé un fichier postscript piégé. Il peut avoir deux contenus différents mais le même md5


---------------
De Marx j'ai avant tout retenu la notion de capital
Reply

Marsh Posté le 18-01-2006 à 23:27:57    

thurfin a écrit :

euh pas chez moi


Qu'y a-t-il qui n'est "pas chez toi" ? Les deux liens que j'ai postés pointent vers deux fichiers HTML totalement différents mais qui ont le même md5 (évidemment il faut les télécharger pour vérifier et pas seulement les afficher) !!!


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 19-01-2006 à 09:59:52    

thurfin, il est connu que les signatures MD5 ne sont pas unique, je veux dire que plusieurs contenus differents peuvent generer la meme signature ... Qu'essayes tu de faire avec ton generateur de collisions ??  

Reply

Marsh Posté le 19-01-2006 à 10:02:34    

C'est pour mes études, on avait un rapport à faire en tp de crypto.
Pour les pages web, bien sur que je les aient téléchargées, et je n'optenait pas le même md5.


---------------
De Marx j'ai avant tout retenu la notion de capital
Reply

Marsh Posté le 19-01-2006 à 10:02:34   

Reply

Marsh Posté le 19-01-2006 à 10:05:48    

thurfin a écrit :

et je n'optenait pas le même md5.


 
Si tu as ecrit toi-meme l'algo MD5, peut etre faut-il chercher dans cette direction.  

Reply

Marsh Posté le 19-01-2006 à 13:14:01    

francky06l a écrit :

Si tu as ecrit toi-meme l'algo MD5, peut etre faut-il chercher dans cette direction.


j'ai utilisé la fonction md5sum de linux pour tester les pages web je te rassure  :o  :D


---------------
De Marx j'ai avant tout retenu la notion de capital
Reply

Marsh Posté le 21-06-2009 à 05:44:28    

avec notepad, tu crées un fichier php.
dedans tu mets :
 
<?
echo md5(premier);
echo md5(second);
?>
 
Tu le lance avec wamp et tu check.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed