From 760f19670219c4374820bbb8e0183c9b5f8f68c7 Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Sun, 24 May 2015 19:47:53 +0200 Subject: [PATCH] =?UTF-8?q?+Complexit=C3=A9=20crypt/decrypt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- enigmail/bucket-file | 2 +- enigmail/source/decode.py | 4 ++-- enigmail/source/encode.py | 3 +-- enigmail/source/enigmail.py | 44 +++++++++++++++++++++-------------- enigmail/source/enigmail.pyc | Bin 6481 -> 6680 bytes enigmail/source/help | 3 +++ enigmail/source/receive.py | 1 + 7 files changed, 34 insertions(+), 23 deletions(-) diff --git a/enigmail/bucket-file b/enigmail/bucket-file index 8b13789..4e893fc 100644 --- a/enigmail/bucket-file +++ b/enigmail/bucket-file @@ -1 +1 @@ - +S6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777îE6SS6Eî7777777777777777777777777777777777777777777fâàOaOàâf7777777777777777777777777777777777777777777- .77. -7777777777777777777777777777777777777777777fâçRdRçâf7777777777777777777777777777777777777777777îE6cc6Eî7777777777777777777777777777777777777777777fâà-7 \ No newline at end of file diff --git a/enigmail/source/decode.py b/enigmail/source/decode.py index c300c8e..8ce8b18 100644 --- a/enigmail/source/decode.py +++ b/enigmail/source/decode.py @@ -39,9 +39,9 @@ for i in range(0, LEVEL): ROTOR.append( shuffle( SIGMA, KEY[i]) ); # on creer le rotor et le melange suivant la cle ROTOR[0].append( ROTOR[i+1][0] ); # on enregistre la l&ettre en premiere position dans la premiere entree du rotor -M = decodeStr(m, SIGMA, ROTOR); # DECODAGE DU MESSAGE +M = decodeStr(m, SIGMA, ROTOR, 1); # DECODAGE DU MESSAGE (dernier arg = nombre de fois) # ECRITURE FICHIER outFile = open(path + '/../bucket-file', 'w'); outFile.write( M.encode('utf-8') ); -outFile.close(); \ No newline at end of file +outFile.close(); diff --git a/enigmail/source/encode.py b/enigmail/source/encode.py index 343d00e..435a714 100644 --- a/enigmail/source/encode.py +++ b/enigmail/source/encode.py @@ -35,8 +35,7 @@ for i in range(0, LEVEL): ROTOR.append( shuffle( SIGMA, KEY[i]) ); # on creer le rotor et le melange suivant la cle ROTOR[0].append( ROTOR[i+1][0] ); # on enregistre la l&ettre en premiere position dans la premiere entree du rotor -M = encodeStr(m, SIGMA, ROTOR); # ENCODAGE DU MESSAGE - +M = encodeStr(m, SIGMA, ROTOR, 1); # ENCODAGE DU MESSAGE (dernier arg = nombre de fois) # ECRITURE FICHIER outFile = open(path + '/../bucket-file', 'w'); outFile.write( M.encode('utf-8') ); diff --git a/enigmail/source/enigmail.py b/enigmail/source/enigmail.py index bef8b0d..5581dc5 100644 --- a/enigmail/source/enigmail.py +++ b/enigmail/source/enigmail.py @@ -25,7 +25,7 @@ def getConf(pPath): except ValueError: pass; - if( len(conf) == 6 ): # si le fichier de config est bien récupéré et qu'il est complet + if( len(conf) >= 6 ): # si le fichier de config est bien récupéré et qu'il est complet return conf; else: return False; @@ -43,11 +43,11 @@ def sendMail(pConf, pPass, pTo, pSubject, pMessage): pMsg.attach( MIMEText(pMessage.encode('utf-8')) ); - srv.ehlo(); + srv.ehlo_or_helo_if_needed(); if( srv.has_extn('STARTTLS') ): srv.starttls(); - srv.ehlo(); + srv.ehlo_or_helo_if_needed(); srv.login(pConf['login'], pPass); srv.sendmail( pConf['mail_address'], pTo, pMsg.as_string() ); @@ -178,29 +178,37 @@ def decodeChar(pChar, pSIGMA, pROTOR): -# fonction qui encode une chaine -def encodeStr(pM, pSIGMA, pROTOR): - encodedStr = ''; - for c in pM: - encodedStr += encodeChar(c, pSIGMA, pROTOR); - rotateRotorsClockwise(pROTOR); # on pivote les rotors dans le sens horaire +# fonction qui encode une chaine (pTimes fois) +def encodeStr(pM, pSIGMA, pROTOR, pTimes): + tmp = pM; # tmp contient le mot en cours [initial, initial codé 1 fois, ...] + + for t in range(0, pTimes): # pour chaque fois, on encode le message + encodedStr = ''; + for c in tmp: # pour chaque caractère de tmp + encodedStr += encodeChar(c, pSIGMA, pROTOR); # on encode le caractère courant + rotateRotorsClockwise(pROTOR); # on pivote les rotors dans le sens horaire + tmp = encodedStr; # tmp vaut maintenant la valeur déjà codée + return encodedStr; -# fonction qui decode une chaine -def decodeStr(pM, pSIGMA, pROTOR): - decodedStr = ''; +# fonction qui decode une chaine (pTimes fois) +def decodeStr(pM, pSIGMA, pROTOR, pTimes): + tmp = pM; + # decalage des rotor en position de fin d'encodage (taille du message -1) - for r in pM[1:]: + for r in range(1, pTimes*len(pM)): rotateRotorsClockwise(pROTOR); - # pour chaque caractere en partant du dernier - for c in pM[::-1]: - decodedStr += decodeChar(c, pSIGMA, pROTOR); # on lit le caractere - rotateRotorsAnticlockwise(pROTOR); # on tourne les rotors dans le sens inverse - + for t in range(0,pTimes): + decodedStr = ''; + for c in tmp[::-1]: # pour chaque caractere en partant du dernier + decodedStr += decodeChar(c, pSIGMA, pROTOR); # on lit le caractere + rotateRotorsAnticlockwise(pROTOR); # on tourne les rotors dans le sens inverse + tmp = decodedStr[::-1]; + # on retourne la chaine return decodedStr[::-1]; \ No newline at end of file diff --git a/enigmail/source/enigmail.pyc b/enigmail/source/enigmail.pyc index b92c335c9e8505ad2a57904a833afba5f3d38fd0..2a8d82bd5a12cf30458582bdf6fd6d87e59a9e66 100644 GIT binary patch delta 642 zcmZXSPfOfT6vfX=GRZh}WLhPTg9}$OB6OjJ3NCdeROpM~qR22#B1SrYoTPLX34;vc zR>;PWVG+9OqC4094qdtv*LrR`%vcP0=iPVj&3o_s$e;D=503dzEcfUl647#Y|( z+(ue}Zy>cXc#p(lY6Yo-#74|622=wh6Cc?U8~H*(ovq@4J>2rl%_FaF@|3+0*adWf zah}kh8R=7zKyq>~?gI2aX-~2(N!XIu58FW$%Pw)d$HO^iU)=A*3L_}naFwmf%2l(f zWVFQN49CRdPcFtD*QOrD129sU&)rtU?F$pjI2d&DZWb9(;ZoMMFgzwQQ{KC4_aOR6kgod{jB-U%PQ6K(j5!YJcUTjWi^{)t>su3vW@Dc O9kHapWxuOe>g_Yl;Bj^U delta 470 zcmY+Ay-EX75QWd|&5y(+Buy|Pq>}}~LIjnRrq$wZkt&5`SByjwlLb?3NFm|_Y~yQ4 zz{)Cb;1k$b+NHD6GdCpQvNO!gowNI$`*QqolsC&#VY<9}&3}n_^KW@KTNwb+O@A<7 zWDhDc!!FCnG0qv|CQ~Sw8cYt60IkkGrWqs#F_5qjBpx0OPPh`U8iCxG(B@9yd(>ZA z{iG}HEh`&otFu^-hZi=`X%`TrZ?%V6fh{B_C8uTfvht?S{DBdc&hF@`I&Q|!i_fY^|n@adcv~z%g0wf=gIc9 zx@Pi~)!u1Zdqb?Y!l*k4qcDg^R=wLn+9Cevd_E6VH OOg^Xy($D&-6#oF<(@|0Y diff --git a/enigmail/source/help b/enigmail/source/help index a0adb73..9203fc1 100644 --- a/enigmail/source/help +++ b/enigmail/source/help @@ -41,6 +41,9 @@ OPTIONS send open an interface to choose your receiver, your subjet and type your email password then send an email containing the content of the bucket file + receive + get your last ENIGMAIL's email from your mailbox and put its content to the bucket file + AUTHOR Written by Adrien MARQUES. diff --git a/enigmail/source/receive.py b/enigmail/source/receive.py index df3d248..e6c1666 100644 --- a/enigmail/source/receive.py +++ b/enigmail/source/receive.py @@ -22,5 +22,6 @@ if( body != '' ): outFile = open(path + '/../bucket-file', 'w'); outFile.write( body ); outFile.close(); + print "Fini!"; else: print "Erreur"; \ No newline at end of file