+Complexité crypt/decrypt

This commit is contained in:
xdrm-brackets 2015-05-24 19:47:53 +02:00
parent 6bd22539d5
commit 760f196702
7 changed files with 34 additions and 23 deletions

View 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

View File

@ -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();
outFile.close();

View File

@ -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') );

View File

@ -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];

Binary file not shown.

View File

@ -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.

View File

@ -22,5 +22,6 @@ if( body != '' ):
outFile = open(path + '/../bucket-file', 'w');
outFile.write( body );
outFile.close();
print "Fini!";
else:
print "Erreur";