Ayer mi mujer, Neithan y yo nos reunimos con unos cuantos compañeros de profesión que hacía algún tiempo que no veíamos. Estas reuniones de informáticos suelen resultarme amenas y fructíferas, ya que siempre tienes algo que aprender de alguno, o como mínimo, divertirte un rato con las narraciones de las aventuras laborales de cada uno.
Hablamos del tema profesional, de niveles técnicos, entrevistas de trabajo y requisitos que se buscan en un nuevo empleado. Luego, una vez de vuelta, Mónica y yo seguimos hablando del tema, el hilo de la conversación nos llevo a la universidad, las clases universitarias y los profesores, los temas que se tocan en las distintas carreras…
La conversación dió para bastante y terminamos hablando de John Von Neumann, quién nos llevo a Alan Turing, el cual me llevo a recordar la máquina enigma.
Y como en la reunión de la tarde me había tomado un café y la lectura del detalle de como funcionaba la máquina enigma era tan interesante, no he podido evitar escribir mi propio código que simula el funcionamiento de la máquina para cifrar y descifrar mensajes de texto.
El código es muy sencillito y no tiene apenas complicación de uso, se puede ver y descargar además de probar una pequeña demo que lo utiliza:
He utilizado el modelo de tres rotores. Pero el código es sencillo si quieres añadirle alguno más. En el ejemplo los rotores tienen una variación muy simple. Para su utilización, recomiendo darle algo de complicación a los arrays de los rotores. ;)
Puedes utilizarlo para enviarte mensajes cifrados con tus amigos o incluso para intentar encontrar mensajes secretos dentro de los MD5 que se utilizan para firmar cada uno de los paquetes Debian. :P
Al final me han dado más de las seis de la mañana entretenido y divertido en la cama con el portátil, leyendo sobre la máquina y programando esta chorrada. Supongo que este tipo de cosas confirman mi nivel de frikismo. :P