Total Pageviews

Thursday, May 13, 2021

VIGNERE ALGORITHM


 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

Mi primera experiencia en una conferencia:

En la jornada posterior a un evento importante toca analizar, en este caso me centro en mi participación como speaker en #librecon2022. ¿Cóm...