Votre navigateur est obsolète. Téléchargez un navigateur moderne, par exemple FireFox.
Léa-Linux : Forum
Le forum de Léa abrite des discussions autour des Logiciels libres.
Syndication
  • RSS ForumForum complet
  • RSS Forum - DéveloppementForum - Développement
  • RSS Forum - Développement - 252452Cette discussion

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.

Important : quand vous posez une question, n'oubliez pas de nous donner les indications suffisantes pour que nous puissions répondre. En effet, la divination n'est pas le fort du Linuxien averti. Pour une meilleure compréhension, le bon usage de la grammaire et de l'orthographe est fortement encouragé. En particulier, le langage SMS est à éviter absolument. En cas d'abus, il pourra être censuré sans autre forme de procès.
Les messages dont le contenu est illégal (incitant à la haine - raciale ou autre, diffamant), ou dont le contenu est sans rapport avec le sujet du forum, ou qui sont parfaitement stupides ou hors sujet seront supprimés sans pitié. Il pourra même être fait appel au fournisseur d'accès du coupable pour faire cesser ses agissements.
» Index du forum » Développement » Décrypter Md5 avec php
Aller à la discussion: PrécédentSuivante
Action: Nouveau sujetChercherS'authentifier
Aller page:  123Suivante
Page courante:1 sur 3
Décrypter Md5 avec php
Auteur: iAntra (IP enregistrée)
Date: le 1 septembre 2005 à 10:51

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.

Re: Décrypter Md5 avec php
Auteur: Sve@r (IP enregistrée)
Date: le 1 septembre 2005 à 11:50

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]

Re: Décrypter Md5 avec php
Avatar
Auteur: merlin8282 (IP enregistrée)
Date: le 1 septembre 2005 à 19:42

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

Re: Décrypter Md5 avec php
Auteur: diancech (IP enregistrée)
Date: le 1 septembre 2005 à 19:53

merlin8282 a écrit :

<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

Re: Décrypter Md5 avec php
Avatar
Auteur: merlin8282 (IP enregistrée)
Date: le 1 septembre 2005 à 20:36

diancech a écrit :

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

Re: Décrypter Md5 avec php
Avatar
Auteur: Frédéric Brugmans (IP enregistrée)
Date: le 1 septembre 2005 à 21:48

cela ce passe comme ceci

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

--
Brugmans Frédéric

[linux.brugmans.net]
[techno-geek.brugmans.net]

Re: Décrypter Md5 avec php
Avatar
Auteur: merlin8282 (IP enregistrée)
Date: le 1 septembre 2005 à 22:11

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 image : confus ), 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 --

Re: Décrypter Md5 avec php
Avatar
Auteur: Jonesy's (IP enregistrée)
Date: le 1 septembre 2005 à 23:50

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. ---

Re: Décrypter Md5 avec php
Auteur: Sve@r (IP enregistrée)
Date: le 2 septembre 2005 à 14:11

Jonesy's a écrit :

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]

Re: Décrypter Md5 avec php
Avatar
Auteur: merlin8282 (IP enregistrée)
Date: le 3 septembre 2005 à 13:23

Sve@r a écrit :

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 :

Sve@r a écrit :

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

Re: Décrypter Md5 avec php
Auteur: Sve@r (IP enregistrée)
Date: le 3 septembre 2005 à 17:18

merlin8282 a écrit :

Donc c'est possible, seulement que c'est très long

C'est "mathématiquement" possible oui...

merlin8282 a écrit :

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]

Re: Décrypter Md5 avec php
Avatar
Auteur: Jonesy's (IP enregistrée)
Date: le 3 septembre 2005 à 20:00

Bonsoir,

Merci pour les informations et précisions, Sve@r ! image : content

On en apprends tous les jours... image : tcontent
@+

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

Re: Décrypter Md5 avec php
Avatar
Auteur: merlin8282 (IP enregistrée)
Date: le 5 septembre 2005 à 21:54

Pareil que Jonesy's image: clin d`oeil .
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 @image : content .

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

Re: Décrypter Md5 avec php
Auteur: Sve@r (IP enregistrée)
Date: le 6 septembre 2005 à 11:56

merlin8282 a écrit :

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]

Re: Décrypter Md5 avec php
Avatar
Auteur: merlin8282 (IP enregistrée)
Date: le 6 septembre 2005 à 12:15

Merci, Sve@r, mais tu te repetes ... image: clin d`oeil

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". image : content

___________________________________________________________________
.:! 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 --

Re: Décrypter Md5 avec php
Auteur: Sve@r (IP enregistrée)
Date: le 6 septembre 2005 à 14:04

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
[fr.lang.free.fr]

Re: Décrypter Md5 avec php
Avatar
Auteur: merlin8282 (IP enregistrée)
Date: le 6 septembre 2005 à 18:42

Merci image : content .

___________________________________________________________________
.:! 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 --

Re: Décrypter Md5 avec php
Auteur: sky (IP enregistrée)
Date: le 24 septembre 2005 à 22:54

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...

Re: Décrypter Md5 avec php
Auteur: fornight (IP enregistrée)
Date: le 1 septembre 2006 à 21:22

Sve@r a écrit :

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é.

Re: Décrypter Md5 avec php
Auteur: menelrandir (IP enregistrée)
Date: le 2 septembre 2006 à 16:14

fornight a écrit :

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.

Aller page:  123Suivante
Page courante:1 sur 3


Nom du forum : (antispam) - (en développement:saisir un texte pour le message, rempli cette zone automatiquement)
Votre nom: 
Votre email: 
Sujet: 

 
Ce forum est boosté par Phorum.