En la era digital, la privacidad y la seguridad de la información son preocupaciones cada vez más relevantes. Cuando necesitas enviar mensajes secretos o confidenciales, es esencial contar con herramientas de cifrado confiables. Una de estas herramientas es el cifrado Vigenère, que ha sido utilizado durante siglos para proteger información sensible. En este artículo, exploraremos un código Python que implementa el cifrado Vigenère y te guiará a través de su uso.
Introducción al Cifrado Vigenère
El cifrado Vigenère es un tipo de cifrado polialfabético, lo que significa que utiliza una clave para cifrar el texto original, y esta clave se repite cíclicamente durante todo el proceso de cifrado. A diferencia de un cifrado César, que desplaza todas las letras por la misma cantidad, el cifrado Vigenère desplaza las letras en diferentes cantidades según la posición de la letra en la clave.
El Código Python
A continuación, se muestra el código Python que implementa el cifrado Vigenère y que te permitirá cifrar y descifrar mensajes de manera sencilla:
def encrypt_vigenere(plain_text, key):
encrypted_text = ""
key_index = 0
for char in plain_text:
if char.isalpha():
char = char.upper()
shift = ord(key[key_index].upper()) - ord('A')
encrypted_char = chr((ord(char) - ord('A') + shift) % 26 + ord('A'))
encrypted_text += encrypted_char
key_index = (key_index + 1) % len(key)
else:
encrypted_text += char
return encrypted_text
def decrypt_vigenere(encrypted_text, key):
decrypted_text = ""
key_index = 0
for char in encrypted_text:
if char.isalpha():
char = char.upper()
shift = ord(key[key_index].upper()) - ord('A')
decrypted_char = chr((ord(char) - ord('A') - shift) % 26 + ord('A'))
decrypted_text += decrypted_char
key_index = (key_index + 1) % len(key)
else:
decrypted_text += char
return decrypted_text
def main():
print("Bienvenido al cifrador Vigenère")
option = input("Ingrese 'C' para cifrar o 'D' para descifrar: ")
if option.upper() == 'C':
plain_text = input("Ingrese el texto a cifrar: ")
key = input("Ingrese la clave: ")
encrypted_text = encrypt_vigenere(plain_text, key)
print("Texto cifrado:", encrypted_text)
elif option.upper() == 'D':
encrypted_text = input("Ingrese el texto a descifrar: ")
key = input("Ingrese la clave: ")
decrypted_text = decrypt_vigenere(encrypted_text, key)
print("Texto descifrado:", decrypted_text)
else:
print("Opción no válida. Por favor, ingrese 'C' o 'D'.")
main()
Cómo Usar el Cifrado Vigenère
El código proporciona una interfaz de línea de comandos para cifrar y descifrar texto utilizando el cifrado Vigenère. Cuando ejecutas el programa, te dará la bienvenida y te pedirá que elijas entre cifrar ('C') o descifrar ('D') un mensaje. Veamos ejemplos de cómo usarlo:
Ejemplo 1: Cifrar un Mensaje
- Al ejecutar el programa, elige la opción 'C' para cifrar un mensaje.
- Ingresa el texto que deseas cifrar, por ejemplo, "Hello".
- Luego, proporciona una clave, como "KEY".
- El programa generará el texto cifrado y te mostrará el resultado. En este caso, obtendrías "RIJVS".
Ejemplo 2: Descifrar un Mensaje
- Al ejecutar el programa, elige la opción 'D' para descifrar un mensaje.
- Ingresa el texto cifrado, en este caso, "RIJVS".
- Proporciona la misma clave que se usó para cifrar el mensaje, es decir, "KEY".
- El programa descifrará el texto y te mostrará el mensaje original, que en este caso sería "HELLO".
Conclusión
El cifrado Vigenère es una técnica clásica pero efectiva para proteger la confidencialidad de los mensajes. Este código Python te proporciona una manera sencilla de cifrar y descifrar texto utilizando el cifrado Vigenère. Puedes utilizarlo para comunicarte de manera segura con tus amigos, colegas o cualquier persona que tenga la clave para descifrar tus mensajes.
Top comments (0)