dimanche 9 janvier 2011

NDH Cryptographie Epreuve 1

Je continue mon parcours sur les épreuves du challenge public de la ndh 2010. Ici on s'attaque à l'épreuve 1 de le cryptographie.


Xnwrk ha dwod lkqn rwhezan aop 27wz62965aawa3b0b1319y489y107y99


Bon on se dit que c'est la première épreuve et que ça ne doit pas être bien difficile, on va commencer simple, voir très simple avec un simple césar.

time0ut# caesar.rb -b -f epreuve.txt
DEC:1 => WMVQJ GZ CVNC KJPM QVGDYZM ZNO 27VY62965ZZVZ3A0A1319X489X107X99
DEC:2 => VLUPI FY BUMB JIOL PUFCXYL YMN 27UX62965YYUY3Z0Z1319W489W107W99
DEC:3 => UKTOH EX ATLA IHNK OTEBWXK XLM 27TW62965XXTX3Y0Y1319V489V107V99
DEC:4 => TJSNG DW ZSKZ HGMJ NSDAVWJ WKL 27SV62965WWSW3X0X1319U489U107U99
DEC:5 => SIRMF CV YRJY GFLI MRCZUVI VJK 27RU62965VVRV3W0W1319T489T107T99
DEC:6 => RHQLE BU XQIX FEKH LQBYTUH UIJ 27QT62965UUQU3V0V1319S489S107S99
DEC:7 => QGPKD AT WPHW EDJG KPAXSTG THI 27PS62965TTPT3U0U1319R489R107R99
DEC:8 => PFOJC ZS VOGV DCIF JOZWRSF SGH 27OR62965SSOS3T0T1319Q489Q107Q99
DEC:9 => OENIB YR UNFU CBHE INYVQRE RFG 27NQ62965RRNR3S0S1319P489P107P99
DEC:10 => NDMHA XQ TMET BAGD HMXUPQD QEF 27MP62965QQMQ3R0R1319O489O107O99
DEC:11 => MCLGZ WP SLDS AZFC GLWTOPC PDE 27LO62965PPLP3Q0Q1319N489N107N99
DEC:12 => LBKFY VO RKCR ZYEB FKVSNOB OCD 27KN62965OOKO3P0P1319M489M107M99
DEC:13 => KAJEX UN QJBQ YXDA EJURMNA NBC 27JM62965NNJN3O0O1319L489L107L99
DEC:14 => JZIDW TM PIAP XWCZ DITQLMZ MAB 27IL62965MMIM3N0N1319K489K107K99
DEC:15 => IYHCV SL OHZO WVBY CHSPKLY LZA 27HK62965LLHL3M0M1319J489J107J99
DEC:16 => HXGBU RK NGYN VUAX BGROJKX KYZ 27GJ62965KKGK3L0L1319I489I107I99
DEC:17 => GWFAT QJ MFXM UTZW AFQNIJW JXY 27FI62965JJFJ3K0K1319H489H107H99
DEC:18 => FVEZS PI LEWL TSYV ZEPMHIV IWX 27EH62965IIEI3J0J1319G489G107G99
DEC:19 => EUDYR OH KDVK SRXU YDOLGHU HVW 27DG62965HHDH3I0I1319F489F107F99
DEC:20 => DTCXQ NG JCUJ RQWT XCNKFGT GUV 27CF62965GGCG3H0H1319E489E107E99
DEC:21 => CSBWP MF IBTI QPVS WBMJEFS FTU 27BE62965FFBF3G0G1319D489D107D99
DEC:22 => BRAVO LE HASH POUR VALIDER EST 27AD62965EEAE3F0F1319C489C107C99
DEC:23 => AQZUN KD GZRG ONTQ UZKHCDQ DRS 27ZC62965DDZD3E0E1319B489B107B99
DEC:24 => ZPYTM JC FYQF NMSP TYJGBCP CQR 27YB62965CCYC3D0D1319A489A107A99
DEC:25 => YOXSL IB EXPE MLRO SXIFABO BPQ 27XA62965BBXB3C0C1319Z489Z107Z99
caesar.rb est un programme faisant juste des décalage de lettres. L'option -b lui dit de tester toutes les possibilités (c'est à dire juste 25 pour un simple César). On voit que le décalage 22 donne le bon résulat.

4 commentaires:

  1. Salut, merci bcp pour ttes tes corrections.
    Dis moi stp, ou trouver cet outil?

    RépondreSupprimer
  2. Bonjour,

    L'outil utilisé (caesar.rb) est un outil que j'ai écrit. Pour l'instant je ne peux pas le donner comme ça car il fait appel à plein de librairies que j'ai écrites, et faudrait que je fasse un truc plus propre avant de le publier. Mais rassure toi, c'est prévu :)

    Dans tous les cas, ce n'est pas bien difficile d'en écrire un, une dizaine de lignes de code (et encore) font très bien l'affaire.

    Si tu as vraiment la flemme, tu peux toujours utiliser cette page http://www.apprendre-en-ligne.net/crypto/cesar/index.html dans laquelle tu trouveras un bout de javascript qui fait la même chose.

    RépondreSupprimer
  3. Très bonne initiative, avant la NDH si possible :D
    L'outil en ligne ne donne pas exactement le même résultât que le tien:
    BRAVO LEHAS HPOUR VALID EREST ADEEA EFFCC C

    Effectivement, ça reste compréhensible, mais c'est moins clair ^^

    RépondreSupprimer
  4. Sinon tu fais ca en perl :p

    for my $decale(1..26) {
    print "[$decale]\t";
    foreach (split(//,uc($ARGV[1]))) {
    if ($_ =~ /^[+-]?\d+$/ or $_ =~ / / ) { print $_;}
    else { print chr(65+(ord($_)-65-$decale)%26);}
    }
    print "\n";


    [1] WMVQJ GZ CVNC KJPM QVGDYZM ZNO 27VY62965ZZVZ3A0A1319X489X107X99
    [...]
    [22] BRAVO LE HASH POUR VALIDER EST 27AD62965EEAE3F0F1319C489C107C99
    [...]
    [26] XNWRK HA DWOD LKQN RWHEZAN AOP 27WZ62965AAWA3B0B1319Y489Y107Y99

    Bon je commence l'étape 2 :p
    Tiens quelqu'un sait comment on valide ? ou c'est que pendant la nuit du hack ?

    RépondreSupprimer