Decodage d'un texte crypté en vigenere
Bonjour, j'ai pu créer un programme pour coder en vigenere mais je ne trouve pas de solution pour décoder la phrase obtenue. Voici mon programme de codage. Pouvez-vous m'aider ?? Merci d'avance
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| # Construction du carré de Vigenère
Carre=[]
ligne=[]
for j in range(26):
for i in range(26):
ligne.append(chr(65+(i+j)%26)) # chr donne la lettre a partir du numero ASCII
Carre.append(ligne)
ligne=[]
# Initialisation des données
TexteClair=raw_input("Entrer le texte(en majuscule):") #En majuscule uniquement
lg_tc=len(TexteClair)
Cle=raw_input("Entrer la clef(en majuscule):") #En majuscule uniquement
lg_C=len(Cle)
bl=0 # variable pour stockage du nombre d'espaces
TexteCrypte=""
# Cryptage
for i in range(lg_tc):
lettre=TexteClair[i]
if lettre==" ":
bl+=1
TexteCrypte+=" "
else:
j=(i-bl)%lg_C # % sert a inserer les valeurs dans la chaine
k=ord(Cle[j])-65 #ord sert a donner le chiffre correspondant a la lettre dans la table ASCII
h=ord(lettre)-65
TexteCrypte+= Carre[h][k]
# Affichages
print " Texte de départ :"
print TexteClair
print " Clé :"
print Cle
print " Texte crypté :"
print TexteCrypte |