untroll Md5 reverse
Le
Eric CHAPUZOT
Au matin du 5 ème jour
Untroll Md5 Legacity
On a beaucoup causé sur le Md5, il est temps de faire un petit résumé de ce
qui s'est dit et de l'état de l'art
Jour-7:Jeu 13: Tuyii veut un générateur de Mot-de-Passe
Jour-6:Ven 14: mon générateur ne plait pas
Jour-5:Samedi 15 Mai: un ptit tour au chalet Dynamo
Jour -4:Dimanche 16 Mai : un ptit tour au lac Blanc
Jour -3:Lundi 17 mai: suite à un social-enginiering d'enfer, je demande
comment marche réellement Md5
Jour-2:Mardi 18 Mai: Où il est vaguement évoqué oerth plutôt que la force
brute
Jour-1:Mercredi 19 Mai:un tour visite de malade à l'hôpital St Sauveur
Jour 0 :Jeudi 20 Mai : Ascension : Où l'on se pose des questions sur la
bijectivité de Md5
Jour 1:Ven 21: Où l'on dit STOP/Tour à Freiburg
Jour 2:Sam 22:Tour à Sierentz-Schwoben
Jour 3:Dim 23: Où il est évoqué 20 zéros d'affilé de pi/Tour au couvent
St-Marc
Jour 4:Lun 24: Où l'on démontre une certaine bijectivité de Md5
Jour 5:Mar 25: Où l'on tente de faire jouer la bijectivité de Md5
Faits marquants
Dim 16 :
Cedric Blancher demande si je peux craquer :
toto:$1$AYGe0odf$7X3Cwh8/wvqOqBrCza.7Z/:12553:0:99999:7:::
"Tout le monde n'est pas perméable à l'ingénierie sociale, alors qu'un
mauvais mot de passe se casse de manière systématique. "
"En conclusion, si tu pouvais éviter d'extrapoler ton expérience sur la
chariotte du système d'exploitation aux autres sytèmes (aux vrais), ça
éviterait de devoir systématiquement corriger tes élucubrations."
moi :"D'ailleurs, ce n'est pas un secret terrible, on sait tous qu'il existe
un
niveau 2 de la piraterie qui est bien le social-engeniering "
"ouep, ton affaire est contradistoire on peut pas avoir sécurité et
partage"
résultat ==
Cedric Blancher : "le mot de passe était : TvLcAlEqAlFeSc"
Échap:'Tant va la cruche à l'eau qu'à la fin, elle se cache"
ca sera ptêt plus difficile pour son prochain code secret
Lun 17: je m'interroge, je vais chercher sur internet
Nicob: "C'est ca la méthode d'accélération ?"
Guillermito:"Il faut se méfier des exponentielles, et des grands nombres."
"Je vous ai déjà expliqué, avec des chiffres, que votre intuition vous a
trompé d'un facteur 100000000000000000000000000000 dans un message
précédent."
"Mais par pitié, cessez de raconter n'importe quoi ici, ça en devient
génant. "
LE JOUR 0 : ASCENSION
Guillermito :
Le MD5 du texte "Guillermito" est ad33e1a0dddb4053f4cdf92e6c5d7b66.
Si vous, Eric Chapuzot, grâce à votre programme magique, trouvez n'importe
quel fichier, texte ou pas, qui a le même MD5 que ci-dessus dans le mois qui
vient, je vous donne 1000 dollars. Je le jure ici en public devant tout le
monde. Je ne les ai pas, mais je les trouverai.D'ailleurs, vous n'en aurez
pas besoin puisque vous deviendrez instantanément millionnaire avec une
telle découverte. "
Échap:
"vous me fatiguez à causer 1)du stockage 2) du calcul en force brute de
toutes les combinaisons"
" normal qu'un problème qui a résisté 10 ans à des armadas de
cryptologues ne se résolve pas en deux ou trois cuillers à pot"
Fabien Le Lez :
"AMHA, si.
Plus exactement, on n'est pas sûr que les 2^128 valeurs seront atteintes,
mais étant donné qu'on a une redondance importante (256 fois trop de
valeurs) et que l'encodage MD5 est a priori quasiment sans biais (sinon sa
force serait amoindrie), la probabilité que l'application ne soit pas
surjective est quand même très faible, peut-être même inférieure à la
probabilité de trouver une collision au premier essai."
Jour 1 : ca m'a pas passionné plus que ca, j'espérais même qu'un
rétro-ingénieur lui en mette 256 dans le sourire en moins de temps que ca,
c'est pas venu, tant mieux, tant pis j'ai fait semblant de faire un peu
quelque chose. Un peu de code pour réverser FF,GG,HH,II..=>Fr,Gr,Hr,Ir
Jour2 : j'étais pas trop là et il s'en est raconté quelques âneries je
conseille particulièrement la petite ferme de campagne à Schwoben dans le
Sündgau, ils font du lard et du jambon excellents.
Jour3:j'aurais dû faire une prière au couvent St Marc pour les pauvres âmes
égarées de la cryptographie et de la sécurité
Jour 4: On s'égare aussi, j'ai voulu la jouer un peu facon Rubik's Cube.
Jour 5 : la variation d'un octet entraine une variation "uniforme
compensatrice" de ses 16 successeurs
d'où une vilaine ligne de tension :
X fk0(X) fk16(X) où les fonctions fkn(X) sont des bijections de
[00..$ff] dans lui-même
reste plus qu'à tester tous les premiers entre 0 et 255 pour les kn
ca fait que p^16 au lieu de 256^16
je pense pas qu'il faille espérer k0=k1==kn mais rien n'interdit
d'essayer en un premier temps
Untroll Md5 Legacity
On a beaucoup causé sur le Md5, il est temps de faire un petit résumé de ce
qui s'est dit et de l'état de l'art
Jour-7:Jeu 13: Tuyii veut un générateur de Mot-de-Passe
Jour-6:Ven 14: mon générateur ne plait pas
Jour-5:Samedi 15 Mai: un ptit tour au chalet Dynamo
Jour -4:Dimanche 16 Mai : un ptit tour au lac Blanc
Jour -3:Lundi 17 mai: suite à un social-enginiering d'enfer, je demande
comment marche réellement Md5
Jour-2:Mardi 18 Mai: Où il est vaguement évoqué oerth plutôt que la force
brute
Jour-1:Mercredi 19 Mai:un tour visite de malade à l'hôpital St Sauveur
Jour 0 :Jeudi 20 Mai : Ascension : Où l'on se pose des questions sur la
bijectivité de Md5
Jour 1:Ven 21: Où l'on dit STOP/Tour à Freiburg
Jour 2:Sam 22:Tour à Sierentz-Schwoben
Jour 3:Dim 23: Où il est évoqué 20 zéros d'affilé de pi/Tour au couvent
St-Marc
Jour 4:Lun 24: Où l'on démontre une certaine bijectivité de Md5
Jour 5:Mar 25: Où l'on tente de faire jouer la bijectivité de Md5
Faits marquants
Dim 16 :
Cedric Blancher demande si je peux craquer :
toto:$1$AYGe0odf$7X3Cwh8/wvqOqBrCza.7Z/:12553:0:99999:7:::
"Tout le monde n'est pas perméable à l'ingénierie sociale, alors qu'un
mauvais mot de passe se casse de manière systématique. "
"En conclusion, si tu pouvais éviter d'extrapoler ton expérience sur la
chariotte du système d'exploitation aux autres sytèmes (aux vrais), ça
éviterait de devoir systématiquement corriger tes élucubrations."
moi :"D'ailleurs, ce n'est pas un secret terrible, on sait tous qu'il existe
un
niveau 2 de la piraterie qui est bien le social-engeniering "
"ouep, ton affaire est contradistoire on peut pas avoir sécurité et
partage"
résultat ==
Cedric Blancher : "le mot de passe était : TvLcAlEqAlFeSc"
Échap:'Tant va la cruche à l'eau qu'à la fin, elle se cache"
ca sera ptêt plus difficile pour son prochain code secret
Lun 17: je m'interroge, je vais chercher sur internet
Nicob: "C'est ca la méthode d'accélération ?"
Guillermito:"Il faut se méfier des exponentielles, et des grands nombres."
"Je vous ai déjà expliqué, avec des chiffres, que votre intuition vous a
trompé d'un facteur 100000000000000000000000000000 dans un message
précédent."
"Mais par pitié, cessez de raconter n'importe quoi ici, ça en devient
génant. "
LE JOUR 0 : ASCENSION
Guillermito :
Le MD5 du texte "Guillermito" est ad33e1a0dddb4053f4cdf92e6c5d7b66.
Si vous, Eric Chapuzot, grâce à votre programme magique, trouvez n'importe
quel fichier, texte ou pas, qui a le même MD5 que ci-dessus dans le mois qui
vient, je vous donne 1000 dollars. Je le jure ici en public devant tout le
monde. Je ne les ai pas, mais je les trouverai.D'ailleurs, vous n'en aurez
pas besoin puisque vous deviendrez instantanément millionnaire avec une
telle découverte. "
Échap:
"vous me fatiguez à causer 1)du stockage 2) du calcul en force brute de
toutes les combinaisons"
" normal qu'un problème qui a résisté 10 ans à des armadas de
cryptologues ne se résolve pas en deux ou trois cuillers à pot"
Fabien Le Lez :
"AMHA, si.
Plus exactement, on n'est pas sûr que les 2^128 valeurs seront atteintes,
mais étant donné qu'on a une redondance importante (256 fois trop de
valeurs) et que l'encodage MD5 est a priori quasiment sans biais (sinon sa
force serait amoindrie), la probabilité que l'application ne soit pas
surjective est quand même très faible, peut-être même inférieure à la
probabilité de trouver une collision au premier essai."
Jour 1 : ca m'a pas passionné plus que ca, j'espérais même qu'un
rétro-ingénieur lui en mette 256 dans le sourire en moins de temps que ca,
c'est pas venu, tant mieux, tant pis j'ai fait semblant de faire un peu
quelque chose. Un peu de code pour réverser FF,GG,HH,II..=>Fr,Gr,Hr,Ir
Jour2 : j'étais pas trop là et il s'en est raconté quelques âneries je
conseille particulièrement la petite ferme de campagne à Schwoben dans le
Sündgau, ils font du lard et du jambon excellents.
Jour3:j'aurais dû faire une prière au couvent St Marc pour les pauvres âmes
égarées de la cryptographie et de la sécurité
Jour 4: On s'égare aussi, j'ai voulu la jouer un peu facon Rubik's Cube.
Jour 5 : la variation d'un octet entraine une variation "uniforme
compensatrice" de ses 16 successeurs
d'où une vilaine ligne de tension :
X fk0(X) fk16(X) où les fonctions fkn(X) sont des bijections de
[00..$ff] dans lui-même
reste plus qu'à tester tous les premiers entre 0 et 255 pour les kn
ca fait que p^16 au lieu de 256^16
je pense pas qu'il faille espérer k0=k1==kn mais rien n'interdit
d'essayer en un premier temps

Poser une question


tous les impairs entre 0 et 255...
ca ramène nos 256 ^16 à 128 ^16
formidable comme avancée
d'un autre côté avec ces genres de problèmes, comme avec le rubik's cube,
quand on tient une bonne solution, il suffit de tout mélanger pour avoir
tout à recommencer...
bon, admettons comme y a 256 hexuplets qui vérifient le truc ca fait que
128^16/256 à chercher
ou alors on est très fort, et on arrive directement à trouver dans le
programme les kn...
H(k0,...,kn) étant forcément premier avec 256^16
[Snap, emploi du temps, tout çaaaaa]
La bijectivite de md5?
Soit E l'ensemble des valeurs possibles prises par 136 bits (cardinal 2^136)
Soit F l'ensembles des valeurs md5(x) où x décrit E.
Le cardinal de F est inférieur ou égal à 2^128, car un md5 est sur 128 bits
(et à ma connaissance il n'est prouvé que chaque valeurs soit atteintes,
d'où le inférieur).
Comment definis-tu une bijection de deux ensembles *finis*[1], chaque
ensemble ayant un cardinal *différent*?
C'est bijectif ou pas, il n'y a pas de "certaine" (dans le sens que je
perçois ici de "un peu") bijectivité.
Relis ce qui précède...
Accessoirement, si md5 était bijectif tu pourrais passer encore plus de
temps :-/ à trouver une collision...
Une preuve *formelle* de cette plaisanterie? (sans compter la non précision
totale du vocabulaire, avec -en plus- des guillemets)
Eric.
[1] Précision histoire d'éviter une incursion délirante sur les infinis,
Cantor, tout ça... :)
--
L'invulnérable :
Je ne pense pas etre piratable, infectable par un trojen oui!
Vu sur fcs un jour de mars 2004.
news.fr.comp.securite...
mais d'abord, assures-toi bien que tu sais faire l'opération +1, dès fois
qu'il y aie des trous dans sa table...
quand on additionne du n'importe quoi avec du n'importe quoi 64 fois
d'affilé, si le dernier nombre a bien la capacité d'être n'importe quoi
alors on peut atteindre n'importe quoi...
simple et efficace non, comme démo...
(x+00..99) mod 100-->[00..99]
précision :
la dernière fonction d'addition est :
II(B,c,d,a, Block[9],21,$eb86d391);
il est manifeste que ce Block[9] peut être n'importe quoi puisque ce sont 4
octets consécutifs du fichier à coder.
Ce Block[9] intervient 4 fois dans nos 64 fonctions double-offset : une fois
pour décaler d(FF), une fois pour décaler a(GG), une fois pour décaler c(HH)
et finalement pour décaler b(II).
Je pense fortement, qu'il nous assure d'atteindre toutes les valeurs
possibles de B
J'estime qu'il en est de même pour l'avant dernier Block[2] qui assure
toutes les valeurs à C
de même Block[11] assure les valeurs de D et finalement Block[4] fait son
sort à A.
Au résultat, ABCD atteint toute les valeurs possibles de 16 octets...
le block qui aurait pu poser problème car contenant la longueur en bits
étant le block[15]
et l'on peut presque donc remonter ainsi de 4 opérations en 4 opérations
s'assurant que quelque soit le résultat des opérations d'avant, les 4
nouvelles opérations peuvent mener n'importe où sur l'espace des 16 octets
(sauf quand intervient le block[15])
donc tu as 12 fois l'assurance de tout parcourir...