la máquina enigma

Anuncio
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
PKG CTH
CLX XKK
RLD AKM
AXW FYN
QCH JSO
YXF WYT
AEW FDN
JCS PSX
SNK HAY
WPB RUZ
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.
Descargar