Encriptar Palabras Y Mensajes Con Operaciones Aritméticas Básicas

Entendiendo el Problema
Primero, analizamos la pregunta. Se busca un método para encriptar palabras y mensajes. El método debe usar operaciones aritméticas básicas como suma, resta, multiplicación y división.
La encriptación debe ser reversible. Es decir, debe ser posible desencriptar el mensaje original. Esto implica que necesitamos una clave o un conjunto de reglas para invertir el proceso.
Recopilando Información Relevante
Necesitamos entender cómo representar letras como números. Una opción es usar la tabla ASCII. Cada letra, número y símbolo tiene un valor numérico asignado.
Must Read
También, exploramos diferentes operaciones aritméticas. Consideramos cómo aplicarlas a los valores ASCII. Pensamos en la necesidad de una clave y cómo usarla.
Investigamos métodos simples de encriptación. El cifrado César puede ser una inspiración. Adaptamos y extendemos el concepto con operaciones aritméticas.
Desarrollando Posibles Soluciones
Solución 1: Suma con clave. Convertimos cada letra a su valor ASCII. Sumamos una clave numérica a cada valor.

Solución 2: Multiplicación con clave. Convertimos cada letra a su valor ASCII. Multiplicamos cada valor por una clave numérica.
Solución 3: Operaciones combinadas. Convertimos cada letra a su valor ASCII. Aplicamos una combinación de suma, resta, multiplicación y división con una clave.
Para la desencriptación, realizamos las operaciones inversas. Si sumamos, restamos. Si multiplicamos, dividimos. La clave debe ser conocida para ambos procesos.

Implementando una Solución
Elegimos la solución de suma con clave por su simplicidad. Definimos una función para encriptar. La función toma el mensaje y la clave como entrada.
Convertimos el mensaje en una lista de valores ASCII. Sumamos la clave a cada valor ASCII. Convertimos los nuevos valores de vuelta a caracteres.
Creamos una función para desencriptar. Esta función toma el mensaje encriptado y la clave. Restamos la clave de cada valor ASCII. Convertimos los valores de vuelta a caracteres.
Verificando la Solución
Probamos la función de encriptación con diferentes mensajes. Verificamos si la salida es un texto encriptado.

Probamos la función de desencriptación con los mensajes encriptados. Comprobamos si obtenemos el mensaje original.
Consideramos casos especiales. ¿Qué sucede con caracteres no ASCII? ¿Qué sucede con claves negativas o muy grandes?
Un ejemplo simple: Encriptar "Hola" con clave 3.

"H" (72) -> 72 + 3 = 75 -> "K". "o" (111) -> 111 + 3 = 114 -> "r". "l" (108) -> 108 + 3 = 111 -> "o". "a" (97) -> 97 + 3 = 100 -> "d". El mensaje encriptado sería "Krod".
Para desencriptar "Krod" con clave 3:
"K" (75) -> 75 - 3 = 72 -> "H". "r" (114) -> 114 - 3 = 111 -> "o". "o" (111) -> 111 - 3 = 108 -> "l". "d" (100) -> 100 - 3 = 97 -> "a". El mensaje desencriptado es "Hola".
Aseguramos que la solución es funcional y robusta. Consideramos posibles mejoras, como usar una clave más compleja.
