Décrypter md5

Résolu/Fermé
Omen - 8 juin 2002 à 12:55
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 16 juin 2012 à 11:12
Comment décrypte-on un texte crypté par la méthode md5 en PHP ?

Omen
A voir également:

43 réponses

arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
26 nov. 2008 à 08:36
En même temps généralement il faut déjà savoir comment obtenir le mot de passe haché et si tu n'a ni accès à la machine ni au fichier/database contenant le mot de passe haché ça va te prendre un poil plus de temps.

Avant de vouloir à tout prix dé-hacher un mot de passe, faudrait peut être déjà savoir comment l'obtenir...
-1
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
26 nov. 2008 à 12:11
Oui, mais il existe des techniques d'attaques permettant de récupérer les informations sur le mot de passe stocké dans une base de données (pour peu qu'il y ait des failles, bien sûr, mais quand même). Et j'ai déjà vu quelque société lors d'audits mettant en clair le mot de passe au lieu d'utiliser un salt + hash. Et ça, ça fait peur.
0
Le md5 est décryptable (a mon grand étonnement)

Sur authsecu.com, ils doivent avoir un algo spécial, je sais pas...

le lien:

https://www.frameip.com/decrypter-dechiffrer-cracker-hash-md5/

(c'est aussi le 2eme resultat google en tapant "decrypter md5")
-1
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
22 févr. 2009 à 23:32
Non il n'est pas décryptable, c'est un algorithme irréversible. Par contre, il est possible de se constituer une méga base de données contenant l'association message/hash et d'optimiser le tout (rainbow tables) ce qui donne un excellent compromis temps/mémoire.
C'est pour ça qu'il faut toujours mettre un salt avant de chiffrer un mot de passe.
Quoiqu'il en soit le MD5 n'est pas déchiffrable, même s'il n'est plus conseillé de l'utiliser à cause des bons algorithmes conduisant aux collisions.
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
23 févr. 2009 à 08:53
Je confirme ce que dit fiddy.

Les tables en question s'appellent des "Rainbow hash".
On peut même acheter des DVD contenant des tables.
0
loool md5 totalement décytptable en résumé comparé un md5 qui a éré trouver dans un base de données exemple d484f4gf7h84gg78e=hackedby apres tu prends celui que tu ne trouve pas 4fg5gfh45h5g5hf9 et tu compare selon un technik simpl ki se résume a 'le vert=jaune+bleu
le vert étant hackedby et le but grace a sa est de trouver le contenut de cette couleur dans lotre md5

compliker mais un peut de logique arrétez découter les ragot du net mdr sinn dite moi comment un gamin de 17a a pu hacker le site de la nasa hahaha
0
blux Messages postés 26011 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
Modifié par blux le 25/06/2010 à 10:05
Toi, t'as pas lu ce qui précède :

on ne décrypte pas le MD5, on trouve juste un message qui a le même MD5 que l'on cherche.

Imagine que l'on dise : la clé c'est 2 et c'est le résultat de la différence de deux nombres, tu ne peux pas retrouver ces nombres, mais simplement en trouver qui aboutissent au même résultat : 4-2, 8000-7998, 45-43...

Un MD5 est un condensé d'information, pas un cryptage d'information.
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
Modifié par Nabla's le 25/06/2010 à 08:58
+1 pour blux. Les techniques utilisablent sont la colision, et les rainbow tables, mais c'est en aucun cas du décryptage.
Le mot de passe trouvé pourra seulement être utilisé sur des systemes utilisant le md5
0
Bon c'est vraiment un topic qui intéresse du monde: percer le secret d'une mot de passe ou d'un texte...
Je ne suis pas comme fiddy un spécialiste mais j'ai quelques sommaires notions d'analyse combinatoire.
Alors un md5, c'est quoi: c'est 128 bits qui est obtenu à partir d'une chaîne de caractères (à prendre au sens large, un texte de 100...000 caractères est une chaîne de caractères).
Alors voici pourquoi, quelquesoit la fiabilité du hash md5, il est quasiment impossible d'être certain de la chaîne d'origine.
128 bits -> 2^128 soit seulement 3,4 * 10^38 possibilités.
Soit un texte composé des 72 caractères (26 majuscules, 26 minuscules, 10 chiffres et 10 ponctuations) possibles; si le texte fait:
- 10 caractères -> 72^10 soit 3,4 * 10^18 possibilités (10^18 = 1 milliard de milliard = 1 Giga de giga).
- 20 caractères -> 72^20 soit 1,4 * 10^37 possibilités, on peut envisager (en supposant qu'il n'y ait pas de doublons) qu'à chaque chaîne puisse correspondre un 'code' md5,
- 21 caractères -> 72^21 soit 1 * 10^39 possibilités, il y a forcément des doublons.... donc impossibilité d'être sûr du message d'origine.
- 1000 caractères (environ 1/2 page) -> 72^1000 soit 2,2 * 10^1857, il y aura donc forcément (en supposant une répartition moyenne des inévitables doublons) -> (2,2 * 10^1857) / (3,4 * 10^38) soit 6,3 * 10^1818 textes de 1000 caractères correspondant à un 'code' md5; autant dire qu'il est quasiment impossible d'avoir une table de correspondance.
Donc si la chaîne est très courte (mais déjà pour 10 caractères il faut déjà une table de 34 milliards de gigaoctets), lui ajouter une chaîne 'salt' est une méthode satisfaisante et, d'autre part, mettre des caractères tordus dans un mot de passe évite qu'une solution soit trouvée dans des dictionnaires ridiculement petits.
En espérant ne pas m'être trompé dans mes calculs, je souhaite à tous une bonne réflexion.
-1
Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
5 mars 2009 à 22:37
Ces chiffres sont très intéressants.

... Et oui, ce sujet déchaîne les foules depuis presque 7 ans.
0
Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
5 mars 2009 à 23:55
Les maths m'ont donnés envie d'aller plus loin. Il me semblent que les résultats ne collent pas à la réalité. En effet, dans ton exemple tu utilises 72 caractères différents, hors rien qu'avec ceux qui me sont accessible simplement sur mon clavier, j'arrive à 132 caractères (56 lettres minuscules/majuscules + 10 chiffres + 15 accents + 51 caractères spéciaux et de ponctuation) mais j'imagine qu'au moins les 256 caractères de l'ASCII étendu sont supportés par MD5.

Ce qui donne pour 10 caractères :
256^10 =1,2 x 10^24
Au lieu de :
72^10 = 3,4 x 10^18

Il suffit alors de 16 caractères pour obtenir :
256^16 => 3,4 x 10^39
Ce qui donne :
(3,4*10^39)/(3,4*10^38) soit en moyenne 10 mots différents pour une même chaîne de hash MD5.
0
loupius > Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013
6 mars 2009 à 00:14
Oui tu as raison, on peut compter différemment le nombre de caractères acceptables; j'ai pris en exemple le cas classique d'un jeu de caractères ascii non accentués.
Par contre je suis intéressé par le cas des 56 lettres minuscules/majuscules, je n'ai jamais réussi à en compter autant... ;-)
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835 > Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013
6 mars 2009 à 01:17
Salut,
56 lettres minuscules/majuscules
Mon alphabet n'a que 26 lettres, soit 52 lettres minuscules/majuscules ;-).

mais j'imagine qu'au moins les 256 caractères de l'ASCII étendu sont supportés par MD5.
Le MD5 s'en fiche du codage de l'information. Le codage se fait avant que ça passe dans le MD5.


soit en moyenne 10 mots différents pour une même chaîne de hash MD5
Beaucoup plus.
La taille de l'espace d'arrivée de la fonction MD5 est de : 2^128.
La taille de l'espace de départ est infinie.
Le rapport des deux donne l'infinie. Eh oui, il existe une infinité de mots ayant le même hash. Sauf qu'ils faut les trouver, et comme il n'y a aucun lien entre eux, cela est souvent dissuasif. C'est ce qu'on appelle les collisions. Et en exploitant une propriété intéressante de MD5 : MD5(a+b) = MD5(u+b) si MD5(a)=MD5(u).
, on peut faire des choses intéressantes dont on ne parlera bien évidemment pas.

Quoiqu'il en soit, il vaut mieux arrêter d'utiliser MD5 et migrer vers SHA512.
0