23 mayo 2006

Enigma

La Máquina Enigma.
Una de las maravillas del pasado en lo que a criptografía se refiere
es la máquina enigma inventada por ingenieros alemanes (aunque el verdadero mérito se lo lleva un holandes), cuya primera patente fue en 1919 y que resultó ser una verdadera revolución en el arte de encriptar.

Su primera versión comercial fue en 1923 con el nombre de Enigma-A, siendo su finalidad inicial facilitar la comunicación de documentos entre comerciantes y hombres de negocios de forma secreta.
Después de este modelo le siguieron tres más, hasta llegar al más importante de todos, La Enigma-D. Este modelo fue adaptado por la marina alemana por el 1929 y fue a parar a practicamente todas las organizaciones secretas y militares nazis.


Funcionamiento.

La máquina Enigma era un dispositivo en parte mecánico en parte eléctrico, el cual, tenía un teclado como el de una máquina de escribir antigua, que le permitía controlar los interruptores y engranajes.

El nucleo era mecánico y se componía de varios rotores conectados entre sí (Un rotor es un disco circular plano con 26 contactos eléctricos en cada cara, uno por cada letra del alfabeto). Cada contacto de una cara esta conectado a un contacto diferente de la cara contraria. Cada uno de los rotores que tenía la máquina Enigma estaba cableado de forma diferente y los que utilizaba el ejército alemán poseían un cableado distinto al de los modelos comerciales.

En casi todas las versiones, en el interior de Enigma había tres ranuras para poder introducir los rotores. Cada uno de ellos se encajaba en la ranura correspondiente de forma que sus contactos de salida se conectaban con los contactos de entrada del rotor siguiente (como si fueran varios vagones de tren unidos).
El tercer y último rotor se conectaba, casi siempre, a un reflector que conectaba el contacto de salida del tercer rotor con otro contacto del mismo rotor para realizar el mismo proceso pero en sentido contrario y por una ruta diferente, o lo que es lo mismo, formaba un bucle.

Dicho reflector diferencia a la máquina Enigma de otras máquinas de cifrado basadas en rotores de la época. Este elemento, que no estaba en los primeros modelos, permitía que la clave que se usaba para cifrar se pudiera utilizar para descifrar el mensaje.

Por la parte eléctrica, Enigma se componía de una batería que se conecta a una de las lámparas, la cual representan las diferentes letras del alfabeto.

Cada vez que se introducía una letra del mensaje original, pulsando la tecla correspondiente en el teclado, la posición de los rotores variaba. Según esta variación, cada dos letras idénticas en el mensaje original, por ejemplo AA, le correspondían dos letras diferentes en el mensaje cifrado, por ejemplo QL. En casi todos los modelos de la máquina, los rotores avanzaban una posición con cada letra. Cuando se habían introducido 26 letras, por lo que, el primer rotor había completado una vuelta completa, se avanzaba en una muesca la posición del segundo rotor, y cuando éste finalizaba su vuelta, se variaba la posición del tercer rotor.
El número de pasos que provocaba el avance de cada uno de los rotores, era un parámetro que configuraban los operarios.

Debido a que cada rotor tenía un cableado diferente, la secuencia exacta de los alfabetos que se utilizaban para sustituir el texto, variaba en función de los rotores que estaban instalados en las ranuras, su posición inicial y el orden en que se instalaron.
A estos parámetros se les llamaba "configuración inicial" y se enviaban en libros, mensualmente, al principio, y con mayor frecuencia, conforme avanzaba la guerra, a los que usaban las máquinas.

Como lo hacían.

Si la "configuración inicial" estuviera disponible, un criptoanalista podría poner un equipo Enigma con la misma configuración y descifrar el mensaje. Uno podría mandar libros de configuración para usarlos, pero se podrían interceptar. En cambio, los alemanes establecieron un sistema bastantes inteligente que combinó ambos diseños.

Cada inicio de mes, se dio a los operadores del enigma un nuevo libro que contenía las configuraciones iniciales para la máquina.

Por ejemplo, en un día particular las configuraciones podrían ser poner el rotor número 7 en hendidura 1, No. 4 en hendidura 2, y 6 en la 3. Éstos estarían rotados para que la hendidura 1 esté en la letra X, hendidura 2 en la letra J y hendidura 3 en la A. Como los rotores se permitían en las máquinas, con tres rotores en tres hendiduras tienes 3 x 2 x 1 = 6 combinaciones para considerar. Como cada rotor contiene las 26 letras del alfabeto y éstas se pueden repetir en la encriptación, tendremos 26 x 26 x 26 = 17.576 alfabetos de sustitución para cualquier combinación y orden de rotores dada. Por tanto, tendremos en total, 17.576 x 6 = 105.456 posibles alfabetos de sustitución.

También había un anillo para cada rotor que aún agrega más variaciones.

El operador seleccionaría otras configuraciones para los rotores, esta vez definiendo sólo las posiciones de los rotores. Un operador en particular podría seleccionar ABC, y estas posiciones se convierten en la configuración del mensaje para esa sesión de cifrado. Solo tendrían que teclear la configuración del mensaje en la máquina que aún está con la configuración inicial.

Para más seguridad, lo tecleaban dos veces. Los resultados se codificaban para que la secuencia ABC tecleada dos veces se convirtiera, por ejemplo, en XHTLOA. El operador giraba los rotores en la configuración del mensaje, ABC y tecleaba el resto del mensaje para envíarlo por radio.

En el extremo receptor el funcionamiento se invierte. El operador pone la máquina en la configuración inicial e introduce las primeras seis letras del mensaje. Al hacer esto, vería ABCABC en la máquina. Entonces giraba los rotores en la posición ABC y teclea el resto del mensaje cifrado, descifrándolo.

Este sistema era increible ya que el análisis criptográfico o criptoánalis se basa en algún tipo de análisis de frecuencias. Por tanto, aunque se enviarían muchos mensajes cualquier día con seis letras a partir de la configuración inicial, se asumía que esas letras eran al azar. Mientras que un ataque en el propio cifrado era posible, en cada mensaje se usó un cifrado diferente y hacía que el análisis de frecuencia fuese inútil en la práctica. Hoy en día, con cualquier ordenador casero, las cosas podrían haber sido diferentes, pero a mano...

El Enigma fue muy seguro. Tanto, que los alemanes se confiaron mucho en él. El tráfico cifrado con Enigma incluyó de todo, desde mensajes de alto nivel sobre las tácticas y planes, a trivialidades como informes del tiempo e incluso las felicitaciones de cumpleaños.

Recomiendo un buen reportaje acerca de esta máquina de los colegas de Kriptópolis:

http://www.kriptopolis.org/enigma




22 mayo 2006

El Código Da Vinci

El Código Da Vinci, tanto el libro como la película, nos muestra el mundo de los códigos cifrados, de como van descubriendo con cada código que descifran la trama de la historia.

Por ejemplo, los números de Fibbonaci a los que hace mención al principio de la película, cuando están en la escena del crimen del museo. La serie de Fibbonaci, en resumidas cuentas, se trata de una serie donde cada número es la suma de los dos anteriores, es decir: 1 1 2 3 5 8 13 21 34 55 89 ...... y así hasta el infinito.

Y resulta curioso que menciones en la película esta serie pues se utiliza mucho en la creación de algoritmos de cifrado, ya que la mayoría de dichos algorítmos utilizan series matemáticas para así dificultar el descifrado del código.

Además, también aparece el famoso "criptex", un instrumento inventado por Da Vinci que sirve como cajafuerte portátil con sistema de autodestrucción integrado; vamos, que ni la CIA tiene este juguetito. Lo cierto es que, es un objeto curioso, ya que hasta que no le metas el código correcto, no se abre.

En resúmen, en el Código DaVinci se muestran muchas clases de codificación...desde la sustitución de letras en base a una serie matemática, pasando por la el mensaje dentro del criptex..que algunos no lo interpretarían como un código en si mismo, pero lo es, puesto que el que lo lee no lo entiende hasta que lo descifra. Y todo aquello que se descifra, aunque sólo sea por como se interpreta, es que está cifrado..un tipo de cifrado distinto, pero al fin y al cabo, un cifrado.

En segundo resúmen, al que le guste la criptología y los códigos, les recomiendo mucho la película y mucho más el libro.

Un saludo.

 
Designed by Pixel Gugu