Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Aller à la page:  1 2 3 Page suivante
Page: 1 sur 3
Décrypter Md5 avec php
Envoyé par: iAntra

Bonjour,
Est-il possible de décrypter une chaine qui a été crypté avec md5 sous PHP?

Si c'est pas possible, alors pouriez vous m'indiquer la clé de cryptage utilisé par md5 dans php4.3?
Merci beaucoup.

Poste le Thursday 1 September 2005 10:51:00
Répondre     Citer    
Re: Décrypter Md5 avec php
Envoyé par: Sve@r

Euh... md5 n'est pas un algorithme de cryptage mais de signature. C'est un calcul numérique sur flot entrant (fichier, texte) qui produit une clef de 512 bits.
Si un seul bit du flot entrant change, la signature est totalement différente.

On s'en sert aussi comme outil d'authentification. On signe un mot de passe aved md5 et on stocke le résultat. Ensuite, si on veut vérifier l'authentification, on resigne le mot de passe du gars qui entre et on compare le résultat avec celui stocké. Si la signature est identique, c'est que le mot de passe est bon.

Tout ça pour dire que md5 n'utilise pas de clef de cryptage puisque ce n'est pas un algo de cryptage...

Sinon, pour répondre à ta question première, tu as des fonctions md5 dans PHP. Va voir la doc de ta distrib...

L'homme qui murmurait à l'oreille des pingouins
[fr.lang.free.fr]

Poste le Thursday 1 September 2005 11:50:25
Répondre     Citer    
Re: Décrypter Md5 avec php
Envoyé par: merlin8282

<hors sujet, un petit peu>
A propos de md5, j'avais entendu que c'est un algorithme à sens unique. Je m'explique :
on peut "encoder" (oui, "signer" en fait) une suite de bits (mettons un mot de passe) mais pas "décoder" à partir de la signature obtenue.
Qu'en est-il ?
</hors sujet, un petit peu>

.:! L'être humain est au sommet de la chaîne alimentaire. Certes. Mais il est surtout au sommet de la connerie et de la bêtise... !:.
-- Pour les nouveaux linuxiens : Ce n'est pas en continuant de faire ce que l'on connaît que l'on pourra faire ce que l'on ne connaît pas --

Poste le Thursday 1 September 2005 19:42:03
Répondre     Citer    
Re: Décrypter Md5 avec php
Envoyé par: diancech

Citation
merlin8282
<hors sujet, un petit peu>
A propos de md5, j'avais entendu que c'est un algorithme à sens unique. Je m'explique :
on peut "encoder" (oui, "signer" en fait) une suite de bits (mettons un mot de passe) mais pas "décoder" à partir de la signature obtenue.
Qu'en est-il ?
</hors sujet, un petit peu>

Oui il me semble que cela marche comme ça effectivement.

Quand on tapes un mot de passe par exemple pour le vérifier, on le crypte avec md5 et on compare les valeurs cryptées, on ne décrypte pas la valeur cryptée pour la comparé à la valeur entrée comme mot de passe.

--------------------------------------------------------------------------------------------------------------------------------------------------
Exige beaucoup de toi-même et attends peu des autres. Ainsi beaucoup d'ennuis te seront épargnés. Confucius

Poste le Thursday 1 September 2005 19:53:13
Répondre     Citer    
Re: Décrypter Md5 avec php
Envoyé par: merlin8282

Citation
diancech
Oui il me semble que cela marche comme ça effectivement.

Quand on tapes un mot de passe par exemple pour le vérifier, on le crypte avec md5 et on compare les valeurs cryptées, on ne décrypte pas la valeur cryptée pour la comparé à la valeur entrée comme mot de passe.
Oui, je sais que cela se passe ainsi. Mais est-ce que c'est possible de le faire dans l'autre sens (décrypter le mot de passe pour le comparer à celui tapé) ou non ?

.:! L'être humain est au sommet de la chaîne alimentaire. Certes. Mais il est surtout au sommet de la connerie et de la bêtise... !:.
-- Pour les nouveaux linuxiens : Ce n'est pas en continuant de faire ce que l'on connaît que l'on pourra faire ce que l'on ne connaît pas --

Poste le Thursday 1 September 2005 20:36:18
Répondre     Citer    
Re: Décrypter Md5 avec php

cela ce passe comme ceci

mot tapé au clavier -> "crypté" -> comparaison avec le mot de passe crypté. Si égalité : OK

--
Brugmans Frédéric

[www.brugmans.net]
[triathlon.sport-challenge.be]

Poste le Thursday 1 September 2005 21:48:27
Répondre     Citer    
Re: Décrypter Md5 avec php
Envoyé par: merlin8282

Non, je sais cela Frédéric. Je me répète :
Est-il possible, techniquement, au niveau de l'algorithme MD5, de faire ainsi :
mot crypté -> décryptage -> comparaison avec le mot de passe tapé.

Bref, pour faire plus court (pourquoi ne l'ais-je pas dit tout de suite, moi ?-( ), est-il techniquement possible de décrypter un mot de passe MD5 ?

.:! L'être humain est au sommet de la chaîne alimentaire. Certes. Mais il est surtout au sommet de la connerie et de la bêtise... !:.
-- Pour les nouveaux linuxiens : Ce n'est pas en continuant de faire ce que l'on connaît que l'on pourra faire ce que l'on ne connaît pas --

Poste le Thursday 1 September 2005 22:11:47
Répondre     Citer    
Re: Décrypter Md5 avec php
Envoyé par: Jonesy's

Bonsoir,

A ma connaissance, non ! C'est pas possible (encore que je crois que des chinois ont dit avec cassé l'encodage MD5).

En tout les cas, ce n'est pas fait pour être déchiffré. Pour faire du chiffrement/déchiffrement il te faut utiliser un système de Clé.
@+

--- Marchons seul, sans faire le mal, sans rien attendre, tel l'éléphant qui traverse la forêt. ---

Poste le Thursday 1 September 2005 23:50:33
Répondre     Citer    
Re: Décrypter Md5 avec php
Envoyé par: Sve@r

Citation
Jonesy's
Bonsoir,

A ma connaissance, non ! C'est pas possible
(encore que je crois que des chinois ont dit avec
cassé l'encodage MD5).

En tout les cas, ce n'est pas fait pour être
déchiffré. Pour faire du chiffrement/déchiffrement
il te faut utiliser un système de Clé.
@+

--- Marchons seul, sans faire le mal, sans rien
attendre, tel l'éléphant qui traverse la forêt.
---

Ce n'est absolument pas possible pour plusieurs raisons
1) ce n'est pas la peine de décrypter un mot de passe puisqu'on peut faire sans (voir les nombreuses explications données

2) l'algorithme allant dans un sens est peut-être très simple mais l'inverser est très très difficile.
Exemple: Dans cette fonction toute simple "y=x2 + x + 1", c'est très facile de trouver "y" en connaissant "x" mais très difficile de trouver "x" en connaissant "y"

3) l'algorithme est destructif. Quel que soit la longueur du flot entrant, qu'il fasse 1 octet ou 400Go, le calcul MD5 produira un flot sortant de 32 octets. Je vois mal retrouver les 400Go initiaux à partir de seulement 32 octets (ou alors on a trouvé là le compresseur/décompresseur du 22° siècle)

En ce qui concerne cette histoire de "chinois", ce sont les japonais qui, en août 2004, ont réussi à produire une "collision". C'est à dire qu'ils ont fait passer deux flots différents dans l'algorithme qui a donné en résultat deux signatures identiques (ce qui est mathématiquement tout à fait possible en raison du nombre "fini" de flots sortants par rapport au nombre "infini" de flots entrants). Cela a fait grand bruit à l'époque, les gens ont parlé de la "fin de md5", etc etc. On n'en n'est pas encore là, surtout que l'un des deux flots avait été produit artificiellement par les chercheurs et mathématiciens japonais à partir de l'autre...


L'homme qui murmurait à l'oreille des pingouins
[fr.lang.free.fr]

Poste le Friday 2 September 2005 14:11:52
Répondre     Citer    
Re: Décrypter Md5 avec php
Envoyé par: merlin8282

Citation
Sve@r
2) l'algorithme allant dans un sens est peut-être très simple mais l'inverser est très très difficile.
Exemple: Dans cette fonction toute simple "y=x2 + x + 1", c'est très facile de trouver "y" en connaissant "x" mais très difficile de trouver "x" en connaissant "y"
Donc c'est possible, seulement que c'est très long. Mais :
Citation
Sve@r
3) l'algorithme est destructif. Quel que soit la longueur du flot entrant, qu'il fasse 1 octet ou 400Go, le calcul MD5 produira un flot sortant de 32 octets. Je vois mal retrouver les 400Go initiaux à partir de seulement 32 octets (ou alors on a trouvé là le compresseur/décompresseur du 22° siècle)
Si on sait cela, effectivement, c'est donc impossible, du moins cela tient de la chance, pout tomber sur le mot de passe initial.

Mais j'en viens alors à me poser cette question : et si on connait le nombre de digits du mot de passe, est-ce possible alors de le retrouver ?

.:! L'être humain est au sommet de la chaîne alimentaire. Certes. Mais il est surtout au sommet de la connerie et de la bêtise... !:.
-- Pour les nouveaux linuxiens : Ce n'est pas en continuant de faire ce que l'on connaît que l'on pourra faire ce que l'on ne connaît pas --

Poste le Saturday 3 September 2005 13:23:40
Répondre     Citer    
Re: Décrypter Md5 avec php
Envoyé par: Sve@r

Citation
merlin8282
Donc c'est possible, seulement que c'est très long
C'est "mathématiquement" possible oui...

Citation
merlin8282
Mais j'en viens alors à me poser cette question :
et si on connait le nombre de digits du mot de passe, est-ce possible alors de le retrouver ?
Pas compliqué. Si le mot de passe fait 8 caractères on commence par tester "aaaaaaaa", puis "aaaaaaab", puis "aaaaaaac" etc...
C'est ce qu'on appelle une attaque en "brute force". Des logiciels comme "l0phtcrack" ou "John The Ripper" font ça très très bien. En plus ils commencent par tester tous les mots de tous les dictionnaires dans toutes les langues (ça prend à peine quelques secondes et on trouve ces dico sur le net) avant de commencer la phase "aaaaaaaa" (qui peut durer plusieurs mois). En plus, ces logiciels peuvent même répartir leurs tâches sur plusieurs machines et chaque machine ne fait qu'une partie des tests.

Enfin on n'est même pas obligé de trouver le "vrai" mot de passe. Toute chaîne qui, passée par "md5", donne la même signature que le vrai mot de passe sera considérée comme bonne => principe de collision...

C'est d'ailleurs comme cela que l'algorithme "DES" utilisé précédemment sur Unix avant "md5" pour signer les mots de passe a été cassé en 1995 (surtout que cet algo ne prenait en compte que les 8 premiers caractères du mot de passe).

Et c'est pour éviter ce problème que, depuis cette date, le fichier "/etc/passwd" qui contenait à l'origine le login + "signature du mot de passe" et qui est en lecture pour tous (obligatoire sinon la commande "ls" ne peut plus associer le "uid" au login quand elle donne le propriétaire des fichiers) a été découpé en "/etc/passwd" + "/etc/shadow". Maintenant, la signature du mot de passe se trouve dans "/etc/shadow" et ce fichier ne peut être lu que par "root"...


L'homme qui murmurait à l'oreille des pingouins
[fr.lang.free.fr]

Poste le Saturday 3 September 2005 17:18:45
Répondre     Citer    
Re: Décrypter Md5 avec php
Envoyé par: Jonesy's

Bonsoir,

Merci pour les informations et précisions, Sve@r ! :-)

On en apprends tous les jours... :-))
@+

--- Marchons seul, sans faire le mal, sans rien attendre, tel l'éléphant qui traverse la forêt. ---

Poste le Saturday 3 September 2005 20:00:24
Répondre     Citer    
Re: Décrypter Md5 avec php
Envoyé par: merlin8282

Pareil que Jonesy's ;-) .
Je connais les attaques de type force brute, par dictionnaire, etc. (même si je n'ai jamais utilisé John). Ma question restait dans le cadre de MD5, en fait. Donc : "Et si on connait le nombre de digits du mot de passe, mis à part toutes les techniques de crack de mot de passe, etc etc. est-il possible de le retrouver (i.e. MD5 peut-il être cassé, peut-on décoder un mot de passe chiffré en MD5 - sachant tout ce qui a été dit précédement ?) ?".

Je me fais lourd, mais j'aimerais savoir @:-) .

merlin8282, en quête du Saint Graal de la banquise ...

.:! L'être humain est au sommet de la chaîne alimentaire. Certes. Mais il est surtout au sommet de la connerie et de la bêtise... !:.
-- Pour les nouveaux linuxiens : Ce n'est pas en continuant de faire ce que l'on connaît que l'on pourra faire ce que l'on ne connaît pas --

Poste le Monday 5 September 2005 21:54:39
Répondre     Citer    
Re: Décrypter Md5 avec php
Envoyé par: Sve@r

Citation
merlin8282
Donc : "Et si on connait le nombre de
digits du mot de passe, mis à part toutes les
techniques de crack de mot de passe, etc etc.
est-il possible de le retrouver (i.e. MD5 peut-il
être cassé, peut-on décoder un mot de passe
chiffré en MD5 - sachant tout ce qui a été dit
précédement ?) ?".

Ben oui et non.
Tu as une signature. Tu sais qu'elle correspond à un mot de "8" digits et tu fais donc ta recherche. Tu testes "aaaaaaaa", puis "aaaaaaab" puis "aaaaaaac". Et là, tu as trouvé que "aaaaaaac" correspond à ta signature. Même s'il y a 99,999% de chances que le mot originel ait été "aaaaaaac", tu ne seras jamais mathématiquement certain que c'est bien celui-là. Il y a une infime chance que "zqwxcvbr" ou "efcfghyt" ou d'autres encore donnent la même signature (collision).

C'est comme si on te disait "mon nombre au carré vaut 4". Que vaut mon nombre ? Il peut s'agir de "2" ou de "-2" et tu ne sauras jamais lequel des deux c'est.

Mais encore une fois, c'est inutile de vouloir décoder un mot de passe puisqu'Unix ne le fait jamais. Si tu trouves un mot qui est signé pareil, Unix pensera que c'est le bon mot de passe et te laissera entrer. Et pour le moment il n'y a eu qu'une seule collision de trouvée avec MD5 et cette collision a été créée artificiellement.

L'homme qui murmurait à l'oreille des pingouins
[fr.lang.free.fr]

Poste le Tuesday 6 September 2005 11:56:08
Répondre     Citer    
Re: Décrypter Md5 avec php
Envoyé par: merlin8282

Merci, Sve@r, mais tu te repetes ... ;-)

Par "techniques de crack de mot de passe" j'entendais aussi les collisions et les attaques de type force brute. Je ne cherche pas a casser un mot de passe, c'est juste pour savoir si c'est possible, histoire d'avoir un peu plus de "culture informatique". :-)

.:! L'être humain est au sommet de la chaîne alimentaire. Certes. Mais il est surtout au sommet de la connerie et de la bêtise... !:.
-- Pour les nouveaux linuxiens : Ce n'est pas en continuant de faire ce que l'on connaît que l'on pourra faire ce que l'on ne connaît pas --

Poste le Tuesday 6 September 2005 12:15:39
Répondre     Citer    
Re: Décrypter Md5 avec php
Envoyé par: Sve@r

Citation
merlin8282
Merci, Sve@r, mais tu te repetes ...

Par "techniques de crack de mot de passe"
j'entendais aussi les collisions et les attaques
de type force brute. Je ne cherche pas a casser un
mot de passe, c'est juste pour savoir si c'est
possible, histoire d'avoir un peu plus de "culture
informatique".

Ben oui c'est théoriquement possible. On a une application qui a tout élément d'un ensemble "A" fait correspondre une seule signature prise dans l'ensemble "B". Comme l'ensemble "B" n'a que 2^512 signatures différentes possibles et que l'ensemble "A" est virtuellement infini, on a mathématiquement une infinité de collisions possibles. Et même si "MD5" est encore inviolé aujourd'hui, il pourra l'être un jour. La seule chose à laquelle personne ne peut répondre c'est "quand".




L'homme qui murmurait à l'oreille des pingouins
[fr.lang.free.fr]

Poste le Tuesday 6 September 2005 14:04:00
Répondre     Citer    
Re: Décrypter Md5 avec php
Envoyé par: merlin8282

Merci :-) .

.:! L'être humain est au sommet de la chaîne alimentaire. Certes. Mais il est surtout au sommet de la connerie et de la bêtise... !:.
-- Pour les nouveaux linuxiens : Ce n'est pas en continuant de faire ce que l'on connaît que l'on pourra faire ce que l'on ne connaît pas --

Poste le Tuesday 6 September 2005 18:42:35
Répondre     Citer    
Re: Décrypter Md5 avec php
Envoyé par: sky

salut, je viens mettre mon gain de sel la dedans... pour ceux que ca interresse voir passionne, il y a un "MISC" complement securité de linuxMAG qui est sorti cette annee sur le sujet...
g pas le numero mais ca doit se trouver...

Poste le Saturday 24 September 2005 22:54:19
Répondre     Citer    
Re: Décrypter Md5 avec php
Envoyé par: fornight

Citation
Sve@r
merlin8282 a écrit :Merci, Sve@r, mais tu te
repetes ...

Par "techniques de crack de mot de passe"
j'entendais aussi les collisions et les attaques
de type force brute. Je ne cherche pas a casser
un
mot de passe, c'est juste pour savoir si c'est
possible, histoire d'avoir un peu plus de
"culture
informatique".

Ben oui c'est théoriquement possible. On a une
application qui a tout élément d'un ensemble "A"
fait correspondre une seule signature prise dans
l'ensemble "B". Comme l'ensemble "B" n'a que 2^512
signatures différentes possibles et que l'ensemble
"A" est virtuellement infini, on a
mathématiquement une infinité de collisions
possibles. Et même si "MD5" est encore inviolé
aujourd'hui, il pourra l'être un jour. La seule
chose à laquelle personne ne peut répondre c'est
"quand".




L'homme qui murmurait à l'oreille des pingouins

Désolé de remonter un vieux post mais je ne suis pas du tout d'accord, c'est le principe même qui est inviolable, à part en force brute (et il y a des méthodes pour parer à ça), il est strictement impossible de "cracker" un mot de passe crypté en md5, ça serait comme gagner 100 fois au loto d'affilé.

Poste le Friday 1 September 2006 21:22:31
Répondre     Citer    
Re: Décrypter Md5 avec php
Envoyé par: menelrandir

Citation
fornight
Désolé de remonter un vieux post mais je ne suis pas du tout d'accord, c'est le principe même qui est inviolable, à part en force brute (et il y a des méthodes pour parer à ça), il est strictement impossible de "cracker" un mot de passe crypté en md5, ça serait comme gagner 100 fois au loto d'affilé.

Gagner 100 fois au loto d'affilé est très hautement improbable, mais pas strictement impossible.

Quand on parle de casser l'algorithme MD5, il faut préciser pour quelle utilisation, ce qui a été réussit c'est la création d'une collision à partir non seulement de la signature MD5, mais également du message d'origine, celà remet en cause MD5 comme système d'authentification de document, mais pas comme cryptage de mot de passe. Par exemple, étant donnée une page HTML et sa signature MD5, il est possible de créer une autre page HTML totalement différente mais ayant la même signature MD5. À noter cependant que c'est relativement facile avec du HTML puisqu'on met ce qu'on veut en commentaire et que si le destinataire ne fait que visualiser la page, ça ne se voit pas; c'est probablement beaucoup plus difficile sur d'autre type de données avec plus de contraintes quand au contenu. Celà dit si quelqu'un créait une image de CD où DVD bootable avec un programme malveillant et qui prendrait peut de place, il pourrait éventuellement combler l'espace vide avec des données calculées spécifiquement pour que le fichier iso ait la même taille et la même signature MD5 qu'un CD d'installation d'une distribution, par exemple.

Pour casser un mot de passe par contre, il faudrait pouvoir calculer, à partir de la seule signature, un des antécédents de cette signature par la fonction de cryptage MD5, pour être certain que le MD5 est sur pour les mots de passe, il faudrait prouver qu'il n'existe aucun algorithme effectuant un tel calcul en un temps raisonnable.

Poste le Saturday 2 September 2006 16:14:43
Répondre     Citer    
Aller à la page:  1 2 3 Page suivante
Page: 1 sur 3

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Décrypter Md5 avec php
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.
Nouveau sujet sur ce forum

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons