Outils d'utilisateurs

Outils du Site


hackingweek_2014:crypto:crypto5

Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

hackingweek_2014:crypto:crypto5 [2014/03/03 02:11]
ganapati créée
hackingweek_2014:crypto:crypto5 [2017/04/09 15:33] (Version actuelle)
Ligne 21: Ligne 21:
  
 **Solution :** **Solution :**
 +
 +Il s'agit d'un simple logarithme discret à résoudre, i.e. trouver x tel que X=g^x mod p.
 +
 +Il est possible d'utiliser l'outil magma pour le résoudre (http://magma.maths.usyd.edu.au/calc/)
 +
 +<code>
 +p:=79293686916250308867562846577205340336400039290615139607865873515636529820700152685808430350565795397930362488139681935988728405965018046160143856932183271822052154707966219579166490625165957544852172686883789422725879425460374250873493847078682057057098206096021890926255094441718327491846721928463078710174998090939469826268390010887;
 +g:=73114111352295288774462814798129374078459933691513097211327217058892903294045760490674069858786617415857709128629468431860886481058309114786300536376329001946020422132220459480052973446624920516819751293995944131953830388015948998083956038870701901293308432733590605162069671909743966331031815478333541613484527212362582446507824584241;
 +X:=53710695204323513509337733909021562547350740845028323195225592059762435955297110591848019878050853425581981564064692996024279718640577281681757923541806197728862534268310235863990001242041406600195234734872865710114622767319497082014412908147635982838670976889326329911714511434374891326542317244606912177994106645736126820796903212224;
 +
 +Log(GF(p)!g, GF(p)!X);
 +</code>
 +
 +Le résultat tombe alors :
 +<code>
 +5987017916693979800961865907625956492746942018842897309081319033525436025200275\
 +9467705768337098285569957371223987423277240609978767607029041030497475585357789\
 +74508050668215058880480572837679469513461940184995866029170866715848982
 +</code>
 +
 +Il suffit alors de calculer Y^x mod p, en quelques ligne de python :
 +<code>
 +>>> p=79293686916250308867562846577205340336400039290615139607865873515636529820700152685808430350565795397930362488139681935988728405965018046160143856932183271822052154707966219579166490625165957544852172686883789422725879425460374250873493847078682057057098206096021890926255094441718327491846721928463078710174998090939469826268390010887
 +>>> Y=17548462742338155551984429588008385864428920973169847389730563268852776421819130212521059041463390276608317951678117988955994615505741640680466539914477079796678963391138192241654905635203691784507184457129586853997459084075350611422541722123509121359133932497700621300814065254996649070135358792927275914472632707420292830992294921992
 +>>> x=5987017916693979800961865907625956492746942018842897309081319033525436025200275946770576833709828556995737122398742327724060997876760702904103049747558535778974508050668215058880480572837679469513461940184995866029170866715848982
 +>>> pow(Y,x,p)
 +13209953273847904538937959330024620309948373964029285268129438495125916049103104947558307756205640430956011327318451971143649388976770482679169393296835669455452165748588628944673299856366435979160842244913860009798074516378816385040186737956522363508690793823200979322371545890826154011044304502071323934414763375923268294720810314905L
 +</code>
 +
 +Puis le md5 :
 +<code>
 +$ echo 13209953273847904538937959330024620309948373964029285268129438495125916049103104947558307756205640430956011327318451971143649388976770482679169393296835669455452165748588628944673299856366435979160842244913860009798074516378816385040186737956522363508690793823200979322371545890826154011044304502071323934414763375923268294720810314905 | md5sum
 +e4b7e1d7768b7ca4002671754e061919
 +</code>
hackingweek_2014/crypto/crypto5.1393809063.txt.gz · Dernière modification: 2017/04/09 15:33 (modification externe)