Clé en hexa ou int + ajout temps d'exécution [stable~80]
This commit is contained in:
parent
8b6f072ba9
commit
12f08abaca
13
source.py
13
source.py
|
@ -1,11 +1,11 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import time;
|
||||||
|
|
||||||
# fonction qui calcule le nombre de rotors en fonction de la clé pKey et qui retourne un entier
|
# fonction qui calcule le nombre de rotors en fonction de la clé pKey et qui retourne un entier
|
||||||
def calcLevel(pKey, pSIGMA):
|
def calcLevel(pKey, pSIGMA):
|
||||||
xN = 0;
|
xN = 1;
|
||||||
for r in range(1,100):
|
for r in range(1,100):
|
||||||
if( pKey >= len(pSIGMA)**r ): # si la clé est inférieure à la valeur max pour r rotors
|
if( pKey >= len(pSIGMA)**r ): # si la clé est inférieure à la valeur max pour r rotors
|
||||||
xN = r; # on enregistre la valeur
|
xN = r; # on enregistre la valeur
|
||||||
|
@ -104,7 +104,7 @@ SIGMA = list(SIGMA);
|
||||||
# NOMBRE DE ROTORS
|
# NOMBRE DE ROTORS
|
||||||
LEVEL = 3; # valeur par defaut
|
LEVEL = 3; # valeur par defaut
|
||||||
# CHOIX DE LA CLE
|
# CHOIX DE LA CLE
|
||||||
userkey = int( raw_input('Cle: ') );
|
userkey = int( raw_input('Cle (hex ou int): '), 0);
|
||||||
# CALCUL de LEVEL en fonction de la clé
|
# CALCUL de LEVEL en fonction de la clé
|
||||||
LEVEL = calcLevel(userkey, SIGMA);
|
LEVEL = calcLevel(userkey, SIGMA);
|
||||||
# DECOMPOSITION DE LA CLE PRIMAIRE EN CLES SECONDAIRES
|
# DECOMPOSITION DE LA CLE PRIMAIRE EN CLES SECONDAIRES
|
||||||
|
@ -125,13 +125,15 @@ for i in range(0, LEVEL):
|
||||||
m = ( raw_input('Message: ') );
|
m = ( raw_input('Message: ') );
|
||||||
|
|
||||||
# CHOIX DU TYPE (ENCODE / DECODE)
|
# CHOIX DU TYPE (ENCODE / DECODE)
|
||||||
type = 'X';
|
type = '';
|
||||||
while( type != 'E' and type != 'D' ):
|
while( type != 'E' and type != 'D' ):
|
||||||
type = ( raw_input('encoder ou decoder [E/D]: ') ).upper();
|
type = ( raw_input('encoder ou decoder [E/D]: ') ).upper();
|
||||||
# VARIABLE DU HASH
|
# VARIABLE DU HASH
|
||||||
M = '';
|
M = '';
|
||||||
|
|
||||||
|
|
||||||
|
# DEMARRE LE CHRONO
|
||||||
|
startTime = time.time();
|
||||||
|
|
||||||
# ENCODAGE DU MESSAGE
|
# ENCODAGE DU MESSAGE
|
||||||
if( type == 'E' ):
|
if( type == 'E' ):
|
||||||
|
@ -152,6 +154,8 @@ else:
|
||||||
# on retourne la chaine
|
# on retourne la chaine
|
||||||
M = M[::-1];
|
M = M[::-1];
|
||||||
|
|
||||||
|
print
|
||||||
|
print 'Temps d\'exécution:',time.time() - startTime;
|
||||||
print
|
print
|
||||||
print 'Enigma :', M
|
print 'Enigma :', M
|
||||||
|
|
||||||
|
@ -165,4 +169,3 @@ print 'Enigma :', M
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue