1. un poco de historia - encriptados.files.wordpress.com · figura 16. enigma con la clave del...

14
LA MÁQUINA ENIGMA Por: José Manuel Quintero -2011 1. Un poco de historia Durante la segunda década del s. XX se desarrollaron varios inventos en diferentes países, los cuales revolucionarían y cambiarían definitivamente el rumbo de la criptografía y del criptoanálisis. Una de las creaciones fue realizada por el marino holandés Alexander Koch y consistía básicamente en una versión moderna y automática del invento de Alberti de 500 años atrás. Este artefacto, similar a una máquina de escribir eléctrica se convertiría a través de una empresa alemana fundada por Arthur Scherbius y Richard Ritter, quienes adquirieron la patente del ingenio, en la conocida y temida Máquina Enigma. Figura 8. Izquierda, máquina Enigma usada por la Kriegsmarine. Derecha, versión artística de la misma, fabricada por un aficionado. La Enigma era una máquina electromecánica portátil de cifrado y descifrado de texto que se comenzó a comercializar a partir de 1918 entre la empresa privada en Alemania para proteger la información comercial e industrial, sin embargo no tuvo mucho éxito en este campo debido a su elevado coste. Solo a partir 1925, cuando el ejército alemán decidió utilizarla masivamente para sus comunicaciones, debido a la evidencia sobre la fragilidad de su sistema criptográfico, ésta comenzó a fabricarse en serie. Hasta este momento los servicios secretos de los países de Europa Occidental descifraban rutinariamente las comunicaciones militares alemanas. Con la introducción de la máquina se consideró que sus mensajes serían inviolables.

Upload: dangnhu

Post on 09-Dec-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

LA MÁQUINA ENIGMA

Por: José Manuel Quintero -2011

1. Un poco de historia

Durante la segunda década del s. XX se desarrollaron varios inventos en diferentes países, los cuales revolucionarían y cambiarían definitivamente el rumbo de la criptografía y del criptoanálisis. Una de las creaciones fue realizada por el marino holandés Alexander Koch y consistía básicamente en una versión moderna y automática del invento de Alberti de 500 años atrás. Este artefacto, similar a una máquina de escribir eléctrica se convertiría a través de una empresa alemana fundada por Arthur Scherbius y Richard Ritter, quienes adquirieron la patente del ingenio, en la conocida y temida Máquina Enigma.

Figura 8. Izquierda, máquina Enigma usada por la Kriegsmarine. Derecha, versión artística de la misma,

fabricada por un aficionado.

La Enigma era una máquina electromecánica portátil de cifrado y descifrado de texto que se comenzó a comercializar a partir de 1918 entre la empresa privada en Alemania para proteger la información comercial e industrial, sin embargo no tuvo mucho éxito en este campo debido a su elevado coste. Solo a partir 1925, cuando el ejército alemán decidió utilizarla masivamente para sus comunicaciones, debido a la evidencia sobre la fragilidad de su sistema criptográfico, ésta comenzó a fabricarse en serie. Hasta este momento los servicios secretos de los países de Europa Occidental descifraban rutinariamente las comunicaciones militares alemanas. Con la introducción de la máquina se consideró que sus mensajes serían inviolables.

Aunque no es completamente correcto hablar de la máquina Enigma (Enrique, 2010), ya que con el tiempo se desarrollaron diferentes versiones de ella, el principio básico de funcionamiento es común a todas, por lo tanto en el presente documento se hará referencia a éstas como un único artefacto y se indicarán algunas de las modificaciones o adiciones introducidas.

2. Componentes y funcionamiento

Los componentes básicos de la Enigma son (figura 9):

-el teclado de 26 letras, - la unidad de codificación (integrada básicamente por los rotores, el reflector y el clavijero), - el tablero expositor, donde se ilumina cada una de las letras.

Estos tres dispositivos están interconectados por un juego de cables, que conducen los

impulsos eléctricos generados por una batería, los cuales fluyen por el circuito al pulsar las

teclas y terminan con la iluminación de una letra determinada.

Figura 9. Representación de los componentes principales de la máquina Enigma. El clavijero, que se

encuentra en la parte frontal, hace parte de la unidad de codificación.

La parte más importante de la máquina es la unidad de codificación, la cual fue evolucionando

paulatinamente a medida que el Nacional Socialismo adquiría poder en Alemania y

desarrollaba sus planes de dominio sobre Europa.

Para hacer más comprensible el funcionamiento de la unidad codificadora se hará,

inicialmente, una simplificación de la misma, sin tener en cuenta el clavijero ni el reflector y

considerando un solo rotor (llamado también modificador). En la figura 10 se muestra una

esquematización de esta situación con un teclado de solo 6 caracteres. Al pulsar cualquier

letra, por ejemplo la b, un impulso eléctrico entra por un lado del modificador y hace un

recorrido a través de éste, para salir del lado contrario e iluminar una letra del tablero

expositor, diferente de la b inicialmente pulsada, en este caso la a. Esto implica que el

modificador asocia, a través de un cableado interno, cada letra del alfabeto de entrada con

otra diferente del alfabeto de salida, lo cual corresponde a una sustitución monoalfabética

simple, que se representa por la función T:

donde

, es un número entero, M es el valor numérico de una letra del texto llano, m corresponde al cardinal del alfabeto.

Este cifrado es fácilmente criptoanalizable por análisis de frecuencias.

Figura 10. Representación esquemática de la función básica de un rotor o modificador en la máquina

Enigma. En la parte derecha aparece la codificación correspondiente de cada una de las letras.

En el ejemplo anterior el modificador permanece estático durante el proceso de cifrado, sin embargo, el diseño de la Enigma incluía la rotación de los modificadores alrededor de un eje común. De acuerdo con el ejemplo simplificado, el modificador girará un sexto de vuelta cada vez que se digite una letra (en realidad dará un veintiseisavo de vuelta, ya que se utilizan 26 letras). Esta innovación, permite que cada vez que se introduce un nuevo carácter se codifique según un alfabeto diferente del anterior, es decir, que si con el rotor fijo al digitar bb se

obtiene aa, con el rotor móvil se obtendrá ac (ver figura 11). Por lo tanto, para seis letras se tendrán seis alfabetos de cifrado, es decir, se ha pasado a una cifra polialfabética.

Figura 11. El modificador rotatorio hace que cada vez que se digite una misma letra ésta se codifique de

manera diferente hasta completar las letras del alfabeto. En el esquema se pulsa tres veces la letra b,

obteniéndose tres cifrados diferentes para ésta.

Aunque esta solución técnica mejora considerablemente la encriptación, aún sigue siendo

excesivamente vulnerable, pues luego de digitados seis caracteres el ciclo se repite, por lo

tanto se tiene un cifrado Vigenère con clave de seis caracteres (o veintiséis en el caso real),

que puede romperse por el método Kasiski, por ejemplo.

Si para resolver este inconveniente se adiciona otro modificador, el cual dará dos giros de un

sexto de vuelta por cada rotación completa del anterior, se conseguirá elevar a 6·6=36 el

número de alfabetos cifrados (676 en el caso real). Aunque la mayoría de los autores

comparan el funcionamiento de los rotores con el de un odómetro, éstos presentan una

diferencia fundamental con este dispositivo, a saber, cada modificador adicional da dos giros

de un veintiseisavo de vuelta (en vez de uno), por una rotación completa del anterior. Esta

particularidad es debida al diseño del mecanismo de rotación y de los modificadores mismos,

lo cual no se tratará a profundidad en este informe.

Figura 12. Despiece de un modificador de la máquina enigma: 1. Anillo con muesca, 2. Marca para el

ajuste de anillo en "A", 3. Anillo alfabético, 4. Contactos planos, 5. Cableado interno, 6. Contactos

empujados por muelle, 7. Bloqueo del anillo de muelles, 8. Árbol de soporte, 9. Rueda de desplazamiento

manual, 10. Trinquete

En conclusión, la intención de Scherbius era conseguir un sistema mecanizado de sustitución

que utilizase alfabetos a gran escala, generados por el movimiento discreto de ruedas

contiguas (los modificadores), por lo tanto introdujo un tercer modificador. Los tres rotores en

conjunto proporcionan 26·26·26=17576 posiciones diferentes, que corresponden a igual

número de alfabetos cifrados. Además, los rotores pueden intercambiarse de lugar entre ellos,

lo que proporciona 3!=6 permutaciones de éstos.

La versión básica de la Enigma estaba equipada con cinco modificadores, para usar tres a la

vez, pero además la unidad de codificación disponía de dos elementos adicionales: el reflector

y el clavijero, los cuales añadieron mayor complejidad y versatilidad a la máquina.

El reflector, situado frente a los modificadores, es similar en diseño a éstos, pero con dos

diferencias básicas, es fijo y solo dispone de un alfabeto, por lo tanto, trece cables internos

emparejan las 26 letras. Su función, como su nombre lo indica, es hacer rebotar cada impulso

eléctrico proveniente de los rotores de nuevo hacia éstos, pero por un camino diferente al de

llegada. En la figura 13 se ilustra esquemáticamente el papel del reflector en la unidad de

codificación. Después de pasar por segunda vez a través de los modificadores, la señal llega a

la correspondiente bombilla en el tablero expositor. La función del reflector parece no ser

relevante, pues por el hecho de ser fijo no contribuye a aumentar el número de alfabetos

cifrados, sin embargo es una pieza fundamental, ya que gracias a éste la máquina podía no

solamente encriptar sino también desencriptar los mensajes.

Figura 13. Representación de los tres modificadores y el reflector, el cual devuelve la señal proveniente

de éstos por un camino diferente, para que ésta llegue luego al tablero expositor.

El último elemento a tratar de la unidad de codificación es el clavijero, consistente en un panel con dos agujeros para cada letra del alfabeto (ver figuras 9 y 15). El propósito de éste es hacer un intercambio de letras por medio de cables, antes de que la señal entre a los modificadores, es decir, si se pulsa una b en el teclado y ésta se encuentra conectada con la r en el clavijero, entrará la señal de la r, en vez de la b, al primer modificador. La figura 14 ilustra la unidad de codificación completa, incluyendo el clavijero.

Figura 14. La colocación del clavijero entre el teclado y los modificadores permite, por medio de cables,

intercambiar parejas de letras. En la imagen aparecen intercambiadas la a y la b.

La versión inicial de la Enigma incluía seis cables que permitían intercambiar hasta seis pares de letras, dejando las 14 restantes sin conexión; posteriormente se utilizaron hasta 13 cables.

Como se indicó anteriormente, la Enigma evolucionó con el tiempo y se utilizaron diferentes versiones según la dependencia estatal o la división del ejército. Así, se introdujeron elementos adicionales, los cuales se mencionarán, pero no serán tenidos en cuenta para los análisis posteriores:

- Los anillos de los modificadores, eran elementos con los cuales se podía cambiar la posición del cableado interno del rotor, la cual es fija, en relación con el alfabeto y con la muesca (cavidad que permite a un gatillo hacer avanzar el rotor a su izquierda). Por ejemplo, si en una posición del anillo, el rotor codifica la letra a como e, la b como k y la c como m, al desplazar el anillo un lugar hacia atrás, cada letra quedará codificada como la siguiente, es decir, la a se codifica ahora como k, la b como m y así sucesivamente.

- Para la máquina Enigma de la Kriegsmarine se desarrolló un modelo diferente de reflector y de rotores, más delgados que los normales, lo cual permitía trabajar con cuatro modificadores a la vez, seleccionables de entre ocho disponibles. El cuarto modificador era fijo, por lo que no proporcionaba una mejora significativa en la encriptación.

- En la versión G de la Enigma, utilizada por la Abwehr, se instaló un reflector rotativo. - En algunos casos se utilizaron hasta 13 cables en el clavijero.

Figura 15. Vista detallada de los componentes de la unidad de codificación. En la fotografía inferior se

observa el clavijero

6.3. Cifrado y descifrado de mensajes con Enigma

Para compartir información cifrada tanto emisor como receptor deben poseer versiones

compatibles de Enigma. Cuando el emisor desea enviar un mensaje debe disponer la máquina

de acuerdo con unas instrucciones preestablecidas, lo cual implica realizar las siguientes

acciones:

- Ubicar los modificadores en orden

- Fijar la posición inicial de cada uno de los modificadores

- Realizar las conexiones del clavijero

Esta disposición determina la clave del mensaje, la cual puede estar expresada de la siguiente

manera:

- 1-3-2

- S-L-G

- A/M, U/C, Z/K, B/F, L/I, T/E

Puede observarse en la figura 16 la disposición correspondiente de cada elemento, según la

clave anterior.

Figura 16. Enigma con la clave del día. A la izquierda se observan los rotores en orden 1-3-2, en el centro

la posición de cada uno de ellos: S-L-G y a la derecha las conexiones de los clavijeros

Teniendo la máquina dispuesta con la clave del día, el operador debe digitar el mensaje claro

letra por letra e ir anotando en orden las letras que se iluminan en el tablero. Luego, el

mensaje cifrado se envía por radio al receptor, quien debe poner su Enigma en la misma

disposición del emisor (la clave), y luego digitar el mensaje cifrado, que irá apareciendo en

claro en el tablero expositor.

En el ejército nazi se entregaba mensualmente a los operadores de Enigma un libro de claves,

donde se indicaba una diferente para cada día. La posesión de la máquina y el conocimiento de

la clave permitían el desciframiento del mensaje.

Los alemanes desarrollaron una serie de normas de utilización de Enigma, que a la postre

contribuyeron a que los criptoanalistas aliados lograran descifrar los mensajes transmitidos

con ella. Algunas de estas reglas eran:

- En el clavijero no se podía conectar una letra con su inmediatamente anterior o posterior

- Un modificador no podía ubicarse dos días seguidos en el mismo hueco

- Una letra no podía codificarse como sí misma (esta condición obedecía al diseño de la

máquina)

- Para prevenir el envío de múltiples mensajes con la misma clave establecieron la llamada

clave de mensaje, que consistía en que el emisor disponía la máquina con la clave del día,

tecleaba tres letras al azar y disponía los modificadores según estas letras; esta era la clave

de mensaje, con la cual digitaba el resto del texto. A su vez, el receptor, con la Enigma

dispuesta con la clave del día, tecleaba las tres primeras letras del mensaje cifrado, así

obtenía la clave de mensaje y procedía a posicionar los rotores según la misma, para luego

digitar el resto del mensaje.

-

El error cometido por los nazis consistió en que exigían a los operadores teclear dos veces

la clave de mensaje, lo cual, después de descubierto por los criptoanalistas británicos fue

utilizado en su provecho.

6.4. Criptoanálisis de Enigma

Cuando el ejército nazi comenzó a utilizar masivamente la máquina en la transmisión de

mensajes los servicios secretos de Gran Bretaña y Francia coincidieron en que ésta era

indescifrable y desistieron de cualquier intento por romper su clave. Sin embargo, el gobierno

de Polonia, consciente de la amenaza que para su nación implicaba la escalada armamentista

alemana encargó al Biuro Szyfrów (Oficina de cifras), el estudio de Enigma. Con este propósito

se adquirieron varias versiones comerciales de ella y se contrató un equipo de matemáticos de

la Universidad de Poznan. El trabajo de espionaje, que permitió conseguir información sobre la

Enigma militar y sus libros de claves, unido al temor por la invasión y al estudio científico de la

máquina permitió a los matemáticos hacer avances significativos en el desciframiento de la

misma.

Dentro de los matemáticos más destacados se encontraba Marian Rejewski, quien inició el

trabajo revisando los mensajes cifrados interceptados por los servicios polacos de inteligencia.

Dentro de los secretos de uso de la Enigma conocidos gracias al trabajo de espionaje estaba el

uso y repetición en el encabezado de cada mensaje de la clave de mensaje. Por ejemplo,

diariamente se obtenían listas de encabezados de mensajes como la siguiente elaborada por

un simulador de Enigma:

NEZ IDL CLX XKK AXW FYN YXF WYT JCS PSX WPB RUZ

PKG CTH RLD AKM QCH JSO AEW FDN SNK HAY LFT KHB

Cada grupo de seis letras es el cifrado repetido de tres letras digitadas al azar. Como todas

corresponden al mismo día, implica que la disposición inicial de la máquina (la clave del día), es

la misma en todos.

Cada letra se cifra en Enigma con una permutación diferente, pero para el caso de los

encabezados, la permutación para cada orden de las seis letras es la misma. Es decir, si se

toma los dos primeros encabezados de la fila uno: NEZ IDL CLX XKK, se sabe que N y C

fueron digitadas en la misma permutación, E y L en otra y así sucesivamente, hasta llegar a la

sexta permutación.

Si se definen las permutaciones como P1, P2,…,P6, y se designa con x la letra del texto llano

cifrada, puede decirse que P1 transforma x en N y que P4 transforma x en I:

(1)

. (2)

Como Enigma codifica y decodifica con el mismo mecanismo, es decir, su cifrado es involutivo

y consecuentemente sus permutaciones también, entonces,

(3) . (4)

Sustituyendo x en (2), se tiene,

lo cual significa que la composición P4·P1 transforma la letra N en I. De la misma manera, para

las permutaciones P2, P5 y P3, P6, se tendrá que y . Esto significa

que cada encabezado de la lista proporciona un dato de los productos P4·P1, P5·P2 y P6·P3.

Como durante el día se interceptaban suficientes mensajes, esto permitía completar una tabla

de permutaciones como la siguiente:

Lo que se busca es hallar las permutaciones Pi, para lo cual se debe factorizar P4·P1, P5·P2 y

P6·P3, en producto de ciclos disjuntos. La permutación P4·P1 realiza las siguientes

transformaciones: , con lo cual

se cierra el ciclo. Tomando una letra no incluida en el ciclo anterior, se puede hallar el

siguiente ciclo, que también será de doce letras. Por último quedan dos ciclos de de una letra,

ya que se transforman en ella misma. Los productos resultantes de ciclos disjuntos serán:

Puede observarse que en las tres factorizaciones obtenidas hay pares de ciclos de igual

longitud. Esto fue demostrado por Rejewski y sucede siempre que se multiplican dos

permutaciones como las que produce Enigma, consistentes ambas en trece transposiciones

disjuntas (una transposición es un ciclo de longitud dos). Además se pueden recuperar las

trece transposiciones de que constan los factores: para cada pareja de ciclos de igual longitud,

se elige una letra en cada ciclo y se escriben los ciclos uno debajo del otro, comenzando por las

letras elegidas y ordenando las letra de uno de ellos a la inversa. Por ejemplo, en los ciclos de

longitud 12 de la factorización P4·P1 y eligiendo las letras F y V, se tiene:

F N I Z M T B E Y W R A

V U H S X C P J Q O K L

Entonces, las dos letras de cada columna determinan transposiciones del segundo factor

P1:(FV), (UN), (IH),…, (AL); y las diagonales ascendentes proporcionan transposiciones del

primer factor P4:(VN), (UI), (HZ),…, (LZ).

Como es obvio, si se varían las letras elegidas en cada ciclo, se obtendrán emparejamientos

diferentes que dan lugar a distintas transposiciones. El número de emparejamientos diferentes

es precisamente la longitud de los ciclos. Por lo tanto, hay varias soluciones para cada uno de

los factores buscados. En el ejemplo de P4 y P1 hay 12 soluciones, igual que para P6 y P3; sin

embargo, para P5 y P2 hay 30, porque las parejas de ciclos tienen longitudes 10 y 3. La

pregunta que se plantea en este punto es ¿cómo elegir las soluciones correctas?

Para determinarlo fue muy útil el hecho de que entre los mensajes diarios se encontraban con

frecuencia encabezamientos repetidos, los cuales corresponden a claves de mensaje repetidas.

Sucedía que en ocasiones los operadores alemanes escribían las ternas con tres letras iguales o

tres letras adyacentes en el teclado. Esta segunda práctica hacía que en ocasiones las claves de

mensaje compartieran dos letras, con lo cual los encabezados quedan con cuatro letras en

común, hecho que también permite identificar correctamente las permutaciones Pi.

Un aspecto relevante de este estudio es que los ciclos obtenidos solo dependen del orden y las

posiciones de los modificadores; las conexiones del clavijero no inciden en la longitud de éstos

ni en su estructura, solo se modifican las letras que se encuentren interconectadas. Este

número de ciclos y longitudes específico fue llamado característica. Esto permite separar el

análisis de los modificadores y del clavijero, con lo cual para una máquina con tres rotores, se

tienen 6·17576=105456 permutaciones a evaluar, lo que constituye un valor unas cien mil

millones de veces menor que el número total de claves del día posibles.

Para evaluar las más de cien mil posibilidades, el equipo de Rejewski diseñó una máquina

llamada ciclómetro o bomba, que consistía en dos bancos de rotores conectados

convenientemente. Variando el orden de los rotores y sus posiciones iniciales se calcularon

todas las permutaciones P4·P1 existentes. Con esto se elaboró un catálogo que relacionaba las

posiciones de los modificadores según el tipo de cadenas que generaban.

Quedaba el problema con el clavijero, que se resolvía digitando el texto encriptado en la

Enigma con el orden y las posiciones de los rotores según el catálogo, sin conexiones en el

clavijero. La mayor parte del texto resultaba incoherente, sin embargo se podían distinguir

partes que permitían reconocer el mensaje claro y deducir las conexiones del clavijero en la

clave del día. Con esto se completaba la clave del día.

A partir de 1938 los alemanes introdujeron cambios significativos en la Enigma, como la

adición de 4 cables del clavijero, para un total de 10, con lo cual los procedimientos utilizados

por el Biuro Szyfrów perdieron eficacia.

Toda la información recopilada por el equipo de criptoanálisis polaco fue entregada a los

franceses e ingleses; estos últimos retomaron el trabajo de criptoanálisis de la Enigma y gracias

a una disponibilidad mayor de recursos y personal lograron romper la cifra Enigma.

BIBLIOGRAFIA

GÓMEZ URGELLÉS, J. (2010). Matemáticos, espías y piratas informáticos. RBA Coleccionables

JUHER, David (2004). L’art de la comunicació secreta: el llenguatge de la criptografia. Llibres de l’índex.

JUHER, David. Introducció a la criptografia. Servei de publicacions de la Universitat de Girona. Col·lecció: Publicacions docents 15

MALET, A., PARADÍS, J. Els orígens i l’ensenyament de l’àlgebra simbòlica: 1478-1545. Grup d’Història i Didàctica de les Matemàtiques (Barcelona, Spain)

RAY MILLER, A. The cryptographic mathematics of enigma. Center of Cryptologic History

SINGH, Simon. Los códigos secretos. Madrid: Editorial Debate, 2000. 382 p.

DE MIGUEL García, Roberto. Criptografía clásica y moderna. Oviedo: Septem Ediciones, 2008. 92 p.

CABALLERO, Pino. Introducción a la criptografía. Madrid: Rama Editorial, 1996. 137 p.

ORTEGA, Jesús et al. Introducción a criptografía. Historia y actualidad. Cuenca: Ed. Universidad de Castilla- La Mancha, 2006.