IntroducciónMC900442143[1]

Cuando en Modelos, Simulación y Teoría de la Decisión se discuten los principios de encriptación se hace referencia a generadores aleatorios que cumplen con la seguridad de Shannon. Se da como ejemplo perfecto de dichos generadores tirar una moneda. Los mismo cuando se aborda el tema de seguridad de encriptación, cuyo exponente es la llamada “libreta de un solo uso”.

El cine (Hollywood, en particular) ha introducido el tema de la existencia (durante la II Guerra Mundial) de una poderosa máquina secreta alemana utilizada para mandar mensajes secretos, que dio lugar a un buen número de películas sobre intrigas y persecusiones para poder obtener una de ellas y así derrotar al enemigo.

La verdad, como siempre, es menos complicada: efectivamente las fuerzas armadas alemanas usaban una máquina de cifrado-descifrado de mensajes encriptados, que realmente era muy buena, que en realidad era una modificación de un modelo comercial destinado a las corporaciones alemanas de pre-guerra. También es cierto que fue un dolor de cabeza para los aliados encontrar la forma de romper su código secreto. Todo eso es real.

Lo que no es cierto es que hubiera tal desesperación por conseguir una de esas máquinas llamadas “Enigma“. Los polacos tenían una desde antes de la guerra, que pasó a los franceses y luego a los ingleses. Después capturaron varias más. Pero eso solo no alcanzaba para “leer” los mensajes enemigos…

Hace muy pocos años (2013) se reveló la verdad: los ingleses tenían un sector secreto dedicado exclusivamente a la criptografía, donde se trabajaba sobre la máquina “enigma” y realmente enfrentaros dos grandes problemas:

A. Por más que se tuviera una o varias máquinas, no había una manera directa de romper el código. Eran buenas y parecía que funcionaban como una libreta de un solo uso. Fue un desafío romperlo.

B. Una vez roto el código y descifrados los mensajes se planteaba un nuevo problema, ahora ético y muy serio: si se daba a conocer al mundo que se había logrado descifrar el código Enigma, los alemanes, inmediatamente, iban a cambiar de cifrado o – directamente – dejar de transmitir por ese medio la información cotidiana que para los ingleses era vital conocer. Mostrar que no se sabía nada sobre los planes alemanes era, por otra parte, condenar a muerte a un número alto de personas (militares y civiles) ya que, por ejemplo se lograba saber que tal día a tal hora se realizaría un ataque y la decisión debía ser no hacer nada por prevenirlo. En cada mensaje alguien debía tomar la decisión de ocultarlo.

Estos dos puntos son la causa de que desde 1943 hasta 2013 (¡70 años!) se mantuviera el secreto sobre “Enigma” y sobre quienes trabajaron en ella. Más aún que se siguió con la creencia que su código era irrompible (incluso se vendieron máquinas derivadas de esta durante la guerra fría).

Para comentar algo, un poco, sobre la película “Código Enigma” (Simulation Game), entonces se discute:

1.- ¿qué es una libreta de un solo uso?

2.- ¿como funciona una “Enigma”?

3.- ¿que aspectos de la película son atinentes a estos temas?

1. ¿Que es una libreta de un solo uso?

Este método consiste en disponer una clave de longitud igual al texto a encriptar. Para más detalles estadísticos ver el material de clase, pero para comprender básicamente, este texto es suficiente.

Hay dos fuentes de aleatoriedad en la libreta de un solo uso: la primera es la clave propiamente dicha que – como su nombre lo indica – solo es apta para un mensaje (por ejemplo, para un día). Tanto el emisor como el receptor tienen la clave de ese mensaje (o día). Esta clave se consigue generando series de números aleatorios de distribución uniforme que dan una serie de letras aleatorias correspondiente.

La segunda fuente de aleatoriedad es que cada letra de las 26 del alfabeto tiene asignado un número, por ejemplo, un alfabeto válido es A=1 B=2 C=3 … X=24 Y=25 Z=26. Pero esta asignación puede ser cualquiera, basta que la conozcan el emisor y el receptor. Esto da 26! alfabetos diferentes (4E26: un cuatro seguido de 26 ceros). (Son 26! maneras diferentes de ordenar las letras)

Suponga, para entender esto mejor, que solo hay un alfabeto disponible (ABC…XYZ = 1,2,3,…,24,25,26) y que la clave del día es, por ejemplo: XHJS WACT LKBZ UTMO …. y así hasta llenar una página pensando que el mensaje más largo puede ser de una página.

Tenemos que encriptar y mandar el siguiente mensaje: “VOY A ROMA”

que se escribe en grupos de 4 letras
VOYA     ROMA

y que se codifica según el alfabeto
22-15-25-1       18-15-13-1

Como el mensaje es de 8 letras nuestra clave del día será
XHJS     WACT

que se codifica según el alfabeto como
24-8-10-19         23-1-3-20

Entonces tenemos dos grupos de cifras, la de la clave y la del texto claro. Se procesa así:

a) Proceso del emisor
tabla1libreta

 

 

 

 

b) El receptor recibe TWIT OPPU y procesa así:

tabla2libreta

 

 

 

 

Particularidades de la libreta de un solo uso:

Una manera de romper los códigos consiste en identificar letras o símbolos que se repitan mayoritariamente y “probar” de reemplazarlos por las letras que, estadísticamente, más se repiten en el idioma. El ejemplo muestra que si bien hay una letra repetida (“A”), no corresponde con la letra repetida del texto encriptado (“T”), que, a su vez, significa dos diferentes letras (“V” y “A”). Esta es la primera fortaleza del método. La segunda ventaja del sistema es que no hay separación entre palabras (el largo de una palabra puede dar una pista de que palabra se trata, por ejemplo una palabra de tres letras hace pensar en “que”, “una”, “uno”, “une” y poco más, lo que permite probar si se puede acceder). Al eliminar los espacios en blanco y agrupar en “grupos” (generalmente 4 letras) este peligro, desaparece. La tercera es que desaparecen grupos de letras “habituales” en un idioma, por ejemplo, casi siempre que hay una “q” habrá una “u” siguiéndola. La cuarta es que si alguien lograra romper el código, probablemente el tiempo que le llevó haga que el código no sirva más, porque cambió la página de la libreta…

2. ¿Cómo funciona una “Enigma”?

enigma01enigma05El aspecto es el de una máquina de escribir, que tiene un teclado y, en lugar del carrete para papel un panel luminoso con la imagen de otro teclado idéntico.

Además cuenta con cuatro “ranuras” donde se insertan tres discos codificados a elegir de un juego de cinco y uno que no se cambia, llamado “de retorno”.

Cada disco es un cableado de cortocircuito entre 13 contactos de entrada y trece de salida, uno por cada letra, y tiene dos moleteados, uno para que el operador coloque al principio el disco en una posición inicial, por ejemplo, letra “J” y el otro para que la máquina haga girar ese disco a la siguiente posición después de ser oprimida una tecla: por ejemplo, se comenzó en posición “J” y se oprimió la tecla “V” (vamos a escribir VOYA). El disco queda ahora en “K”. Se oprime la tecla “O” y el disco pasa a “L” y así. Cuando el disco da una vuelta completa, volvió a “J”, entonces el de al lado avanza una posición. Después de que este da una vuelta completa (el primero habrá girado 676 veces) entonces el tercero avanza una posición.

Ejemplo supongamos posición inicial “W”-“A”-“J”. Luego de 26 caracteres: “W”-“B”-“J”. Luego de 676 caracteres: “X”-“A”-“J”

enigma03¿Qué ocurre internamente? cada disco tiene de fábrica un cableado interno que señala un “puente” entre la señal de la letra oprimida y la salida:

De esta manera, se oprimió la “V”, la máquina tenía el primer disco que arrancaba en “J”  (desfasada 9 caracteres, por lo tanto la ingresará como “V”+9 caracteres: 22+9-26=5 letra “E”, el disco la transforma según el cableado en otra letra, por ejemplo, en “M” y la envía al segundo disco, que la recibe como “M” pero la ingresa corrido un lugar (recuerde que estaba en “B”), o sea la recibe como “N” y la transforma según el cableado, digamos que a “I” la que es recibida por el tercer disco y la ingresa en “F” (W+I) en la entrada, saliendo con un carácter según el cableado, digamos “Q”.

En este punto aparece el cuarto rotor (generalmente no cambiable) que es un “espejo” que permite devolver el circuito  del camino de ida al camino de vuelta, al fin del cual hay una lámpara eléctrica que ilumina la letra en fue convertida la “V” original.

Al tener este último disco se lograba que la misma máquina cifrara y descifrara sin necesidad de modificación alguna.

Ahora bien, las posibles combinaciones para una letra cualquiera, son:

1.-DISCOS: 5 discos de los cuales se pueden colocar tres.
Variaciones de 5 en 3: V5,3= Vm,n = m*m-1*m-2*…*m-n+1=5*4*3=60

2.-Combinaciones en cada disco: 26, en tres discos: 26*26*26 = 17576

Total 17636. Muy, pero muy poco y muy pero muy fácil de romper. Falta un simple y sencillo agregado, este sí hecho por la parte militar: Un tablero con clavijas que permitía puentear 10 letras de las 26, como se ve en la figura.

enigma06Esto daba un aumento de las posibilidades de conectado impresionante.

26!/(6!×10!×2^10 )=150738274937250  (15E14)

ya que son 26 letras (26!) de las cuales se usan 20 (diez puentes) son 6 sin usar (6!), diez puentes (10!) de dos conexiones (2e10)

Y ya se dispone de una libreta de un solo uso mecanizada, según promocionan los fabricantes y se lo cree todo el mundo.

La principal ventaja de este sistema es que nunca una letra va repetirse con el mismo código. Así en tamaños normales de mensajes (los mensajes militares secretos eran cortos o se enviaban fragmentados), la letra “A” jamás iba a aparecer como una “A”, nunca.

Esta enorme ventaja fue el principio del fin: Un operador alemán recibió la orden de mandar un mensaje de prueba. Obedeció y para hacerlo simple mandó el siguiente mensaje: “TTTT TTTT TTTT TTTT TTTT TTTT TTTT TTTT TTTT TTTT TTTT TTTT TTTT TTTT TTTT TTTT TTTT”, dando por resultado un mensaje más o menos así: “HJER WAPO QAMJ IJKV VCXF ZPYG MHJU PLAQ…” etc. Los critógrafos tardaron muy poco en darse cuenta que no había ni una sola “T” en todo el mensaje y así supieron como estaban configurados los discos. También se dieron cuenta que necesitaban algo más que intuición para poder descifrar como estaban los discos en las pocas horas en que ese cifrado era válido! (la posición inicial de los discos solía cambiar diariamente, y eso estaba en un misterioso “Libro de Claves” que tenía cada operador. Esto, inclusive, se cambió apenas comenzada la guerra, donde se transmitía un mensaje doblemente codificado a la mañana para que el operador pudiera buscar en el libro de claves las combinaciones de discos y tablero de ese día, antes de comenzar a recibir mensajes nuevos).

3. ¿Qué aspectos de la película son atinentes a estos temas?

El equipo de criptografía existió y recién se supo públicamente de ello en 2013. Allí trabajo Alan Turing y el proponía romper Enigma a “fuerza bruta”. Como se muestra en la película, al recibir un mensaje se trataba de efectuar todas las combinaciones posibles de letras hasta encontrar algo claro utilizando una máquina (una computadora mecánica llamada “La Bomba”). Era un número ridículamente enorme de tiempo el necesario para que una máquina electromecánica como la que ellos construyeron pudiera encontrar algo, aun con todas las probabilidades a favor: solamente se podría encontrar algo por casualidad. Pero como decía Jorge Luis Borges, Dios ayuda a los buenos, siempre que los buenos sean más que los malos. El error de las “T”, permitió encontrar una idea del cableado de al menos uno de los cinco discos y el poder descifrar el mensaje diario que daba la configuración de la máquina permitió reducir el número de pruebas a una cifra que la máquina podía resolver en menos de 8 horas, ya que el elemento de 1,5E16 proveniente del cableado quedó anulado y solo había que trabajar con 17563 posibilidades. Suponiendo que se analizaran 4 posibilidades por segundo, dejaba 73 horas para revisar todo, lo cual permite suponer que el éxito se podía alcanzar en al menos 35 horas con un 50% de probabilidad.

Bombe-rebuild

La Bomba reconstruida

Pero como algunos discos ya se conocían, este tiempo era razonablemente menor y se adecuaba a los términos de 24 hs. que se disponían para no tener que comenzar con el trabajo del día siguiente…

De todas maneras, esa máquina monstruosa y bella que se ve en la película, La Bomba, existió, está reconstruida en el museo que existe en donde funcionó en Bletchley Park y fue la primera computadora capaz de analizar grandes series de datos. Una hermosa máquina que hoy funciona.

 

[VOLVER A “CINEDEBATE”]

Leer un fragmento de la novela “Criptonomicon” donde se explica la aritmética de la “Enigma”