VIGNERE ALGORITM
Jt eqitjoii,
Vsin mu ln zbcxpgi qq eigtjpomqy wdxj gibrgce vpizrdxjx:
#/usr/bin/python3
def Vigenere(clave, mensaje, modo):
alfabeto = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
resultado = []
indice = 0
clave = clave.upper()
for caracter in mensaje:
num = alfabeto.find(caracter.upper())
if num != -1:
if modo == 'cifrar':
num=(num+alfabeto.find(clave[indice])) % len(alfabeto)
elif modo == 'descifrar':
num=(num-alfabeto.find(clave[indice])) % len(alfabeto)
if caracter.isupper():
resultado.append(alfabeto[num])
elif caracter.islower():
resultado.append(alfabeto[num].lower())
indice = (indice + 1) % len(clave)
else:
resultado.append(caracter)
return ''.join(resultado)
def main():
mensaje = input(str("Message to encrypt: "))
clave = 'CLAVE'
modo = 'cifrar'
if modo == 'cifrar':
resultado = Vigenere(clave, mensaje, 'cifrar')
elif modo == 'descifrar':
resultado = Vigenere(clave, mensaje, 'descifrar')
print('Mensaje cifrado:' )
print(resultado)
if __name__ == '__main__':
main()

No comments:
Post a Comment