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 b92c335..2a8d82b 100644 Binary files a/enigmail/source/enigmail.pyc and b/enigmail/source/enigmail.pyc differ 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