Las Claves de Enigma

Todo sobre el mundo de los espías durante la Segunda Guerra Mundial

Moderadores: José Luis, Audie Murphy

Responder
Avatar de Usuario
fermat
Miembro
Miembro
Mensajes: 287
Registrado: Dom Oct 19, 2008 9:26 pm

Las Claves de Enigma

Mensaje por fermat » Jue Oct 08, 2020 7:01 pm

Es bien sabido que Enigma fue la principal máquina de cifrado empleada por la Wehrmacht para cifrar sus comunicaciones tácticas. Voy a intentar hacer un resumen de las características criptográficas de la máquina, incidiendo en sus aspectos de seguridad; en sus debilidades, tanto criptográficas como operacionales, y en como dichas debilidades fueron explotadas por los criptoanalistas, polacos y británicos principalmente, para descifrar las comunicaciones alemanas.

Enigma es un sistema criptográfico que se basa en la sustitución. Es decir, en Enigma, un carácter de texto en claro (plaintext) se cambia por un carácter de texto cifrado (ciphertext). Por ejemplo, considerando el alfabeto latino estándar de 26 letras (el usado por Enigma), un alfabeto de sustitución sería:
a b c d e f g h i j k l m n o p q r s t u v w x y z plaintext
X H V N P L K A S E D Z F B G Y W O C Q M I J T R U ciphertext

Así cada letra del texto claro se cambia por la que corresponde del texto cifrado. Con el ejemplo anterior la palabra ataque se cambiaría por XQXWMP.

Lo que pasa es que un cifrado así es muy fácil de romper (incluso en 1930) ya que los distintos caracteres tienen una frecuencia distinta en cada idioma. Así, interceptando un número suficiente de mensajes, y haciendo un análisis de frecuencia, se puede descifrar sencillamente cualquier mensaje de este tipo.
Para evitar esto lo que se hace es una sustitución polialfabética. Es decir, el alfabeto de sustitución es distinto para cada carácter del texto en claro. Si el número de alfabetos de sustitución es lo bastante grande, entonces el análisis de frecuencia es imposible, ya que todas las letras, del texto cifrado, aparecerán con una frecuencia similar.
Si estamos considerando un alfabeto de 26 letras, eso quiere decir que para sustituir la primera letra (por ejemplo la a) tenemos 26 posibilidades. Una vez fijada la primera, para sustituir la segunda tendremos 25 posibilidades. Fijadas las dos primeras, tendremos 24 posibilidades para sustituir la tercera; y así sucesivamente hasta la vigesimosexta. En conclusión, el número de alfabetos totales que se pueden utilizar será:
26 x 25 x 24 x 23 x …… x 4 x 3 x 2 x 1
O como se dice en matemáticas 26 factorial, o 26! Esto representa un número enorme de alfabetos de sustitución posibles, en concreto:
26! = 403.291.461.126.605.635.584.000.000 alfabetos de sustitución.
Lo que hace Enigma es generar de forma electromecánica un alfabeto de sustitución, y lo cambia para cada nuevo carácter de texto plano; asegurando además que dicho alfabeto no se repite en periodos de tiempo suficientemente largos. De ese modo se garantiza, en teoría, la seguridad de las comunicaciones.

CÓMO FUNCIONA ENIGMA.
Enigma es una máquina electromecánica que consta de cuatro componentes principales:
- Un teclado de 26 teclas, similar al de una máquina de escribir, sin signos de puntuación, sin distinguir mayúsculas y minúsculas y sin caracteres numéricos.
- Un panel de clavijas con 26 contactos uno para cada letra del alfabeto.
- Un conjunto de rotores y un reflector dispuesto sobre un eje.
- Un panel de 26 letras que se pueden iluminar con cada pulsación del teclado.

Aquí os dejo una foto de la máquina mostrando sus diferentes partes.

Imagen
Fuente: https://upload.wikimedia.org/wikipedia/ ... abeled.jpg

Cada vez que el operador pulsaba una tecla de Enigma, el rotor situado más a la derecha avanzaba una posición (un veintiseisavo de vuelta); el circuito eléctrico de la máquina, alimentado por una batería, se cerraba, y se iluminaba una de las letras del panel. Se obtenía así la letra cifrada correspondiente a la pulsada.

El conjunto de rotores constaba de tres rotores y un reflector (en algunas versiones de Enigma había cuatro rotores). Cada uno de los rotores tenía 26 contactos de entrada y otros 26 de salida representando las letras del alfabeto. Estos contactos estaban conectados mediante cables ocultos en el núcleo del rotor. Así cada rotor implementaba una determinada permutación alfabética. Los contactos de cada rotor estaban en contacto con los del rotor situado a su izquierda. El reflector era un componente que intercambiaba pares de letras, enviaba la corriente eléctrica de vuelta al conjunto de rotores y, salvo en algunas versiones de Enigma, no giraba.
Cada rotor tenía un anillo con las veintiséis letras del alfabeto grabadas (en algunos modelos de Enigma en lugar de letras había números del 1 al 26). Este anillo cumplía dos funciones; por un lado la letra situada en su parte superior, era visible a través de una ventana de la máquina, y servía para definir la posición inicial del rotor. Por otro lado, el anillo llevaba asociado el mecanismo que permitía transmitir el movimiento de giro al rotor situado a la izquierda. Así, cada vez que un rotor daba una vuelta completa, el rotor situado a su izquierda avanzaba un veintiseisavo de vuelta.

El panel de clavijas tenía como misión intercambiar pares de letras, mediante un cable con clavijas en sus extremos. En cierto modo era como un rotor adicional, con la ventaja de que se podía configurar de acuerdo a la clave del día. Cuando se pulsaba una tecla, la corriente pasaba a través del panel de clavijas donde se hacía la sustitución, luego pasaba al conjunto de rotores y reflector, volvía al panel de clavijas donde se hacía una última sustitución, y por fin pasaba al panel de luces donde se encendía la letra correspondiente.
El esquema eléctrico de la máquina sería el siguiente.

Imagen

Fuente: https://avatars.mds.yandex.net/get-zen_ ... scale_1200

Como se puede ver en el esquema al pulsar la letra a, se cierra el circuito y se enciende la bombilla D.
Este diseño daba lugar a dos características de la máquina que fueron decisivas para permitir la ruptura del código Enigma. La primera de ellas es lo que se conoce como Principio de Exclusividad; es decir, una letra nunca puede ser cifrada como ella misma. Así, si M es una letra cifrada, la letra en claro podrá ser cualquiera excepto m. Si os fijais en el esquema anterior al pulsar la letra a se abre el circuito que conectaría con la bombilla A, luego es imposible que a se cifre como A.
La segunda característica importante se conoce como Principio de Reciprocidad; es decir, si en una determinada posición de la máquina la letra r (por ejemplo) se cifra como C, en la misma posición la letra c se cifra como R. Volviendo al esquema anterior se puede ver que si se pulsa la tecla d, ahora el circuito se cierra con la bombilla A (la corriente circularía en sentido contrario al anterior).
La reciprocidad de Enigma tenía la ventaja operacional de que la máquina podía cifrar y descifrar mensajes, sin necesidad de cambiar la configuración; con lo que se ganaba en sencillez de uso. Sin embargo, el precio a pagar por esa pequeña ventaja fue, sin duda, demasiado alto.

LA SEGURIDAD DE ENIGMA.
Alguien que intercepte un mensaje cifrado con Enigma y pretenda descifrarlo mediante un ataque de fuerza bruta, es decir probando todas las posibilidades, se enfrenta a un problema muy serio. Digamos que el atacante conoce el tipo de máquina usada para el cifrado, pero no sabe nada de los detalles técnicos de su construcción (esto es, en principio, lógico ya que se trata de material militar secreto).
En tal caso dicho atacante tendría que considerar lo siguiente.
Cada rotor conecta 26 letras con otras 26 letras. Esto nos da 26! Posibilidades para un rotor. El segundo rotor tendrá 26!-1 posibilidades (ya que no se podían repetir rotores) y para el tercero serían 26!-2. Eso nos da para los rotores 26! x (26!-1) x (26!-2), o sea, aproximadamente 65 10^78 (un sesentaicinco seguido de 78 ceros).

La clave de cada mensaje se define por la posición inicial de cada rotor, puesto que hay 26 posibilidades para cada uno, tenemos que las posibles claves son: 26 x 26 x 26 = 17.576.
Cada anillo de letras se puede configurar de 26 formas distintas. Puesto que el anillo de la izquierda no transmite movimiento a ningún rotor solo hay que considerar dos anillos. Eso nos da 26 x 26 = 656 posibilidades.

Por último tenemos el panel de conexiones. Este panel, que conecta pares de letras, podría tener desde cero cables (ninguna letra conectada) hasta 13 cables (todas las letras conectadas). A lo largo de la vida operativa de Enigma el número de conexiones usadas fue cambiando. Sin embargo, si no conocemos los detalles tendremos que considerar todas las posibilidades. Sin entrar en detalles del cálculo, el número de posibles configuraciones del panel de conexiones es: 532.985.208.200.576.

Además, el reflector conecta pares de letras. Así la primera letra tiene 25 posibilidades, la segunda tendrá 23 (puesto que dos ya están ocupadas), la tercera tendrá 23 En total serán: 25 × 23 × 21 × … × 1 = 7.905.853.580.625.
Multiplicando los números anteriores, tendríamos el número de configuraciones a probar para descifrar un mensaje, si lo hacemos “a la ciega”, sin ninguna otra consideración.
El número que se obtiene es: 3 10^114, un tres seguido de 114 ceros. Un número ciertamente impresionante. Tan impresionante que, incluso utilizando el ordenador más potente disponible en la actualidad, se tardaría mucho más de la edad del Universo en chequearlas todas.

Este sería el espacio de claves (número de formas distintas de configurar la máquina) teórico de Enigma. Dado lo gigantesco del número, los alemanes consideraron que Enigma era irrompible.
Y sin embargo, el desarrollo posterior de la Historia nos dice que estaban en un error.

(continuará)
Nunca se hace el mal tan plena y alegremente como cuando se hace por motivos de conciencia (B. Pascal)

Avatar de Usuario
fermat
Miembro
Miembro
Mensajes: 287
Registrado: Dom Oct 19, 2008 9:26 pm

Re: Las Claves de Enigma

Mensaje por fermat » Sab Oct 10, 2020 6:29 pm

En primer lugar el cálculo anterior se basa en que el potencial atacante no tiene ninguna información en absoluto sobre la máquina y su modo de operación. Suponer esto; y basar, al menos en parte, la seguridad del sistema en dicho desconocimiento es un error de bulto. Ya en el siglo XIX, el criptógrafo holandés Auguste Kerckhoffs enunció sus seis principios de criptografía militar, el segundo de los cuales decía:
La efectividad del sistema no debe depender de que su diseño permanezca en secreto.
Por mucho empeño que se ponga, los sistemas acaban por ser conocidos. Siempre hay espías que pasan información, máquinas que se extravían o son capturadas por el enemigo, interrogatorios a prisioneros de guerra, etc.
Por tanto, lo correcto es considerar como espacio de claves, únicamente, aquello que puede ser cambiado por el operador de la máquina durante el manejo normal de la misma.

Hemos visto en lo anterior el enorme número de diferentes rotores posibles. Obviamente fabricar todos ellos es absolutamente imposible. Por tanto, solo un número muy reducido estuvo disponible para el operador. En principio solo hubo tres tipos, más adelante pasaron a cinco, y finalmente a ocho (para la versión naval de Enigma). A lo largo de la guerra hubo intentos de poner en servicio un rotor que pudiera ser cableado por el usuario. De haberse llevado a la práctica hubiese supuesto, sin duda, una gran mejora de la seguridad de Enigma. Sin embargo finalmente, debido a problemas logísticos y técnicos se desechó la idea (se llegó a introducir en algún reflector pero de forma muy limitada).
De modo que al considerar que los rotores y el reflector tienen una configuración fija (no puede ser cambiada por el operador), el espacio de claves se reduce muchísimo; y aunque continúa siendo enorme, es más “manejable”.

LOS CRIPTOANALISTAS POLACOS.
Los polacos fueron, por razones obvias, los primeros que se plantearon el problema de descifrar Enigma.
Un viernes, a principios de 1929, llegó un paquete a la Oficina de Aduanas de Varsovia. El paquete iba dirigido a una empresa alemana en Varsovia. Un empleado de esa empresa se presentó en la Oficina de Aduanas explicando que el paquete contenía un equipo de radio y que debía ser entregado urgentemente. Puesto que era viernes se le dijo que el paquete sería entregado el lunes siguiente. Ante eso, el empleado reiteró de forma muy insistente que el paquete debía ser entregado inmediatamente. Su insistencia despertó las sospechas de los polacos, las cuales fueron en aumento cuando el propio Consulado Alemán intervino haciendo la misma petición. La Oficina de Aduanas retuvo el paquete, y contactó con el Departamento de Transmisiones del Ejército; el cual envió a un par de expertos en radio para examinar el paquete. Los dos ingenieros examinaron el contenido, y concluyeron que no se trataba de un equipo de radio, sino de una máquina de cifrado. En concreto se trataba de la versión comercial de Enigma.

Los polacos se hicieron con un ejemplar de la máquina pero eso no les permitió descifrar las comunicaciones alemanas. Estaba claro, sin embargo, que los sistemas de criptografía habían cambiado, y lo que antes era más bien una cuestión de filólogos y expertos en lingüística, se había convertido en algo dentro del dominio de las matemáticas. Así pues los polacos organizaron un curso de criptografía en la Universidad de Poznan. Se eligió Poznan por dos motivos principales, tenía una buena Facultad de Matemáticas; y en Poznan, que había formado parte de Prusia Oriental hasta 1918, se hablaba perfectamente el alemán. Tras ese curso, se seleccionó a los tres estudiantes más destacados para incorporarse a la Oficina de Cifrado polaca (Biuro Szyfrów). Estos estudiantes fueron: Marian Rejewski, Jerzy Różycki y Henryk Zygalski.

Las labores de los criptoanalistas polacos se iban a ver ayudadas por la información proporcionada por un espía, Hans-Thilo Schmidt, el cual entregó a los Servicios Secretos franceses varios documentos relativos a Enigma. Entre ellos, fotografías de la máquina, algunos libros de claves del día y el manual del operador. Sin embargo, no proporcionó nada relativo a las conexiones internas de la máquina, ni al cableado de los rotores y el reflector. Los franceses, y también los británicos, consideraron que, sin esa información, los documentos de Schmidt tenían poco valor. Por el contrario; los polacos, a los que también se les pasó los documentos, los consideraron de gran importancia.

Para empezar, el manual del operador les permitió conocer el procedimiento seguido por los alemanes para cifrar, y descifrar, sus mensajes usando Enigma. Lo primero que había que hacer era configurar todas las Enigma de la misma forma. Dicha configuración venía definida por:
- El orden de los rotores (Walzenlage) de izquierda a derecha.
- La posición del anillo de cada rotor (Ringstellung).
- La posición de los rotores para la clave del día (Grundstellung).
- Las conexiones del clavijero (Steckerverbindungen).
Hasta 1938 solo había tres rotores disponibles, y solo se conectaban en el clavijero seis pares de letras. Así, una posible configuración de Enigma sería:
Fecha Rotores Anillos Clave día Clavijero
10-Mayo III-I-II B-X-F K-O-F AS-KY-MW-JO-PE-TC

La configuración de Enigma se hacía llegar por mensajero a todas las unidades implicadas y cambiaba periódicamente. Hasta 1935 cambiaba cada 3 meses. A partir de 1936 cambiaba diariamente.
Esta información no era suficiente para el intercambio de mensajes. Y no era suficiente debido a lo que en criptografía se conoce como depth. A pesar de que Enigma, gracias a su gran espacio de claves, no repetía alfabetos de sustitución dentro de un mismo mensaje; si se considera un gran número de mensajes distintos la cosa cambia. Supongamos que un operador configura su Enigma de acuerdo a las instrucciones que ha recibido; y empieza a cifrar mensajes. Un segundo operador de otra Enigma, hará lo mismo, y un tercero, etc. Si se intercepta una gran cantidad de esos mensajes resultará que la primera letra de cada mensaje habrá sido cifrada con un mismo alfabeto, lo mismo pasará con la segunda, con la tercera… En consecuencia si hacemos un análisis de frecuencia de las primeras letras de todos los mensajes, y de las segundas, y de las terceras, etc podremos descifrar todos los mensajes sin problemas.

Para evitar el problema del depth, el procedimiento establecía, además, que cada mensaje se debería cifrar con una clave diferente elegida libremente por el operador. Puesto que el receptor necesita conocer la clave del mensaje para descifrarlo, la clave del mensaje se cifraba con la clave del día, y se trasmitía al principio del mensaje. Además para evitar problemas en la recepción, la clave cifrada se transmitía dos veces, una a continuación de la otra. Así, imaginemos que un operador de Enigma desea cifrar un mensaje. Una vez configurada la máquina con la clave del día, elige una clave para el mensaje, supongamos que elige ZMH. Entonces teclea ZMHZMH en la máquina. Supongamos que obtiene LUBNWX. A continuación coloca los rotores en la posición ZMH y cifra el mensaje. Después envía LUBNWX y a continuación el mensaje cifrado. El receptor realiza la operación inversa. Con su Enigma configurada con la clave del día teclea LUBNWX, y obtiene ZMHZMH. La clave repetida le da la seguridad de que el mensaje se ha recibido bien. Entonces coloca los rotores en la posición ZMH y descifra el mensaje.
Este procedimiento llevaba implícitos dos graves errores. En primer lugar puesto que todos los operadores usaban la misma clave del día, distintos grupos de seis letras se cifraban con la misma clave. En segundo lugar, puesto que cada grupo de tres letras se repetía, el resultado era que el mismo grupo de letras se cifraba con dos claves consecutivas. Los criptoanalistas polacos, en particular Rejewski, se dieron cuenta de que estos errores podían ser explotados para romper el código Enigma; y, en consecuencia, se pusieron manos a la obra.

(continuará)
Nunca se hace el mal tan plena y alegremente como cuando se hace por motivos de conciencia (B. Pascal)

Kleinfeld
Miembro
Miembro
Mensajes: 52
Registrado: Sab Oct 07, 2017 6:34 pm
Ubicación: Leipzig

Re: Las Claves de Enigma

Mensaje por Kleinfeld » Dom Oct 11, 2020 8:49 am

Muchas gracias por tus explicaciones, espero con ansiedad la continuación del texto.
Saludos.






Avatar de Usuario
fermat
Miembro
Miembro
Mensajes: 287
Registrado: Dom Oct 19, 2008 9:26 pm

Re: Las Claves de Enigma

Mensaje por fermat » Mié Oct 14, 2020 7:21 pm

Desde un punto de vista matemático, la letra cifrada correspondiente al texto claro era el resultado de aplicar unas permutaciones desconocidas. Para tratar de averiguar la forma exacta de dichas permutaciones, Rejewski se concentró en las seis letras que indicaban la clave del mensaje. Supongamos que dicha clave, cifrada, es la de antes LUBNWX. Cada una de esas letras es el resultado de una permutación aplicada a la letra correspondiente de la clave del mensaje. Puesto que hay seis letras, habrá seis permutaciones distintas que Rejewski llamó: A, B, C, D, E, F (usaré cursiva para referirme a las permutaciones de la máquina y distinguirlas de las letras).

Naturalmente, Rejewski no conocía la clave del mensaje en claro, pero sabía que las letras cifradas 1ª y 4ª (L-N) corresponden a la misma letra en claro, y lo mismo para la 2ª y 5ª (U-W), y para la 3ª y 6ª (B-X). Entonces, si la clave del mensaje (desconocida) la llamamos xyz, podríamos poner:

Ax=L; Dx=N; By=U; Ey=W; Cz=B; Fz=X.
Pero Rejewski sabía, además, que Enigma era una máquina recíproca, y por tanto si Ax=L entonces AL=x. Por tanto, si A transforma L en x, y D transforma x en N la permutación compuesta; resultante de aplicar primero A y luego D transformará, L en N. Así Rejewski podía escribir:
AD L= N; BE U= W; CF B= X.
Así que interceptando un número suficiente de mensajes del mismo día, unos ochenta por término medio para cada permutación, Rejewski podía reconstruir completamente las permutaciones AD, BE y CF.
A la hora de escribir estas tres permutaciones, Rejewski utilizó una nomenclatura de ciclos. Vamos a suponer que la permutación AD obtenida por Rejewski era la siguiente:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
K C B T V D G P Z M O N R Y E L F W J U S H Q X A I

Es decir: A se cambia por K, K se cambia por O, O se cambia por E, E se cambia por V, V se cambia por H, H se cambia por P, P se cambia por L, L se cambia por N, N se cambia por Y, Y se cambia por A. Vemos que hemos empezado por A y llegamos de nuevo a A. Eso corresponde a un ciclo que se escribe (AKOEVHPLNY). La siguiente letra “libre” es B. B se cambia por C, C por B. Tenemos otro ciclo que se escribe (BC). La siguiente letra aún no asociada es D. D se cambia por T, T por K, K por S, S por J, J por M, M por R, R por W, W por Q, Q por F, F por D. Tenemos otro ciclo que se escribe (DTUSJMRWQF). La siguiente letra no asociada es G. G se cambia por G. Así pues se tiene un ciclo que se escribe (G). La siguiente letra no asociada es I. I se cambia por Z, Z se cambia por I. Tenemos así otro ciclo que se escribe (IZ). Por último la siguiente letra no asociada es X. X se cambia por X. Tenemos así otro ciclo que se escribe (X).

De este modo Rejewski escribía la permutación anterior como una composición de ciclos separados:
(AKOEVHPLNY) (DTUSJMRWQF) (BC) (IZ) (G) (X)
Vemos que la permutación AD está formada por 2 ciclos de longitud 10, 2 ciclos de longitud 2 y 2 ciclos de longitud 1. Es decir, su estructura de ciclos es 10-10-2-2-1-1.
Realizando este mismo análisis para conjuntos de mensajes de diferentes días, y para las tres permutaciones AD, BC y CF, Rejewski descubrió, que esta estructura de ciclos, si bien cambiaba de un día a otro, mantenía siempre la característica de que los ciclos de la misma longitud siempre aparecían en pares. A esta estructura Rejewski la llamó la característica del día.
Rejewski se preguntó por qué motivo los ciclos de la misma longitud siempre se daban en pares; y su conclusión fue que era debido a la existencia del reflector. El reflector hacía que en una determinada configuración de la máquina si, por ejemplo, C se cifraba como M; en esa misma configuración M se cifraba como C. Es decir, las permutaciones individuales A, B, C, D, E, F tienen únicamente ciclos de longitud 2; lo que se conoce como transposiciones. De este modo Rejewski formuló el siguiente teorema:
Una permutación K se puede expresar como la composición de dos permutaciones X, Y que solo tengan ciclos de longitud 2; si y solo si la estructura cíclica de K está formada por un número par de ciclos de la misma longitud.

Esto le permitió a Rejewski formular dos importantes conclusiones:
- Si dos letras pertenecen a la misma transposición en la permutaciones A o D (respectivamente B o E, C o F); entonces pertenecerán a distintos ciclos, de la misma longitud, en la permutación compuesta AD (respectivamente BE, CF). Así, si tomamos la permutación AD del ejemplo anterior; sería posible que A (o D) tuviesen una transposición tal como (AD), (BZ), (VR), etc. ya que las letras que las componen están en distintos ciclos de la misma longitud de la permutación AD. Sin embargo, no serían posibles transposiciones tales como (DM), (TQ), (FZ), etc.
- Si dos letras en dos ciclos distintos, de la misma longitud, de la permutación compuesta AD, pertenecen a la misma transposición; sus letras vecinas, una a la derecha y otra a la izquierda también pertenecen a una misma transposición. Así, si tomamos otra vez la permutación AD del ejemplo anterior, sabemos que si las letras V - R pertenecen a la misma transposición (VR), entonces las letras E – W pertenecerán a la transposición (EW) y las letras H – M pertenecerán a la transposición (HM).
Gracias a estas dos conclusiones, Rejewski eliminaba muchas posibilidades a la hora de determinar las permutaciones individuales A, D, B, E, C, F.
Así, si por ejemplo se han obtenido las siguientes estructuras cíclicas para las permutaciones compuestas AD, BE, CF:
AD: (AKOEVHPLNY) (DTUSJMRWQF) (BC) (IZ) (G) (X)
BE: (BLFQVEOUM) (HJPSWIZRN) (AXT) (CGY) (D) (K)
CF: (ABVIKTJGFCQNY) (DUZREHLXWPSMO)

Resultará que para las permutaciones individuales C, F tendremos 13 posibilidades. La letra A se podrá cambiar por cualquiera de las DUZREHLXWPSMO (en total 13), pero una vez fijada esta, las demás vienen dadas. Por ejemplo si fuera (AH), las demás serían (BL), (VX), (IW), (KP), etc.
Por el mismo razonamiento para BE tendríamos 3 x 9 = 27 posibilidades. Y para AD tendríamos 2 x 10 = 20 posibilidades. Es decir para las seis permutaciones individuales A, B, C, D, E, F tendremos 13 x 27 x 20 = 7020 posibilidades.

Si tenemos en cuenta que cada una de dichas permutaciones representa un alfabeto de sustitución; y que, en principio, habría 26! = 403.291.461.126.605.635.584.000.000 alfabetos posibles, haber reducido las posibilidades a algo más de 7000 es, sin duda, un avance.
El número de posibilidades para las permutaciones individuales no siempre tiene que ser 7020. Si tenemos mucha suerte, podría ser tan solo una; y así obtendríamos A, B, C, D, E, F sin necesidad de más análisis. Sin embargo, por lo general la cosa no será tan fácil y el número de soluciones posibles podría ser de varias decenas de miles.

(continuará)
Nunca se hace el mal tan plena y alegremente como cuando se hace por motivos de conciencia (B. Pascal)

Avatar de Usuario
fermat
Miembro
Miembro
Mensajes: 287
Registrado: Dom Oct 19, 2008 9:26 pm

Re: Las Claves de Enigma

Mensaje por fermat » Dom Oct 18, 2020 12:21 pm

Esto, aunque era un gran avance, no era suficiente para los propósitos de Rejewski, que necesitaba conocer las permutaciones A, B, C, D, E y F de forma independiente. Parecía que la teoría de permutaciones había dado de sí todo lo que podía (que no era poco), pero ya no era posible progresar más por ese camino. Sin embargo Rejewski, que no era de rendirse fácilmente, dio un paso en otra dirección. Se imaginó a un operador alemán de Enigma, cifrando muchos mensajes al día, y teniendo que elegir para cada mensaje una clave distinta. En esas circunstancias Rejewski supuso que, muy probablemente, los operadores eligiesen claves de mensaje sencillas. Por ejemplo: tres letras repetidas (AAA) o tres letras consecutivas en el teclado (QWE), etc.

Analizando las claves cifradas de unos 60 mensajes del mismo día, y haciendo la suposición de que había claves sencillas como las anteriores (AAA por ejemplo); Rejewski podía calcular las permutaciones independientes A, B, C, D, E, F. La confirmación de que sus cálculos eran correctos venía dada por la utilización de esas permutaciones para calcular las claves en claro de todos los mensajes. Si en esas claves en claro, aparecían muchas del tipo BBB, JJJ, ZZZ, etc. Rejewski concluía que su hipótesis había sido correcta; en caso contario volvía a rehacer el cálculo suponiendo una clave en claro diferente.
Así pues Rejewski había obtenido las permutaciones individuales A, B, C, D, E, F; pero aún le quedaba un largo camino que recorrer. Lo siguiente que hizo fue expresar dichas permutaciones como composición de cada una de las permutaciones que efectúa cada una de las partes de Enigma.

Así, si nos referimos al esquema eléctrico de Enigma que puse en el primer mensaje, conforme la señal eléctrica va pasando a través de los diferentes componentes de Enigma, se produce una permutación. Utilizando la misma nomenclatura que usó Rejewski, tendremos que:
- Las pulsaciones del teclado pasan al panel de clavijas donde se ejecuta la permutación S.
- Del panel de clavijas se pasa al disco de entrada donde se ejecuta la permutación H.
- Del disco de entrada pasa al rotor derecho donde se ejecuta la permutación N.
- Del rotor derecho pasa al rotor central donde se ejecuta la permutación M.
- Del rotor central pasa al rotor izquierdo donde se ejecuta la permutación L.
- Del rotor central pasa al reflector donde se ejecuta la permutación R.
- Del reflector vuelve al rotor izquierdo donde se ejecuta la permutación inversa de L, es decir L-1.
- Del rotor izquierdo vuelve al rotor central donde se ejecuta la permutación inversa de M, es decir M-1.
- Del rotor central pasa al rotor derecho donde se ejecuta la permutación inversa de N, es decir N-1.
- Del rotor izquierdo pasa al disco de entrada donde se ejecuta la permutación inversa de H, es decir H-1.
- Del disco de entrada pasa al panel de clavijas donde se ejecuta la permutación inversa de S, es decir S-1. A continuación se enciende la bombilla correspondiente a la letra cifrada.

Aún queda un detalle a tener en cuenta. En la Enigma, una vez que se pulsaba la tecla, el rotor derecho giraba un veintiseisavo de vuelta; y solo entonces se cerraba el circuito eléctrico y se encendía la bombilla que indicaba el carácter cifrado correspondiente a la letra pulsada en el teclado. Es decir que si el rotor derecho se encuentra en la posición A cuando se pulsa la tecla que sea, primero avanzará hasta la posición B, y entonces se cifrará la letra pulsada. Esto equivale a añadir una permutación que cambia una letra por la siguiente en el alfabeto. Rejewski llamó a dicha permutación P, y su estructura cíclica será:
P: (ABCDEFGHIJKLMNOPQRSTUVWXYZ)
Aquí Rejewski introdujo una suposición adicional; supuso que durante el cifrado de la clave del mensaje solo se movía el rotor derecho. Los otros dos permanecían fijos en su posición inicial. Recordemos que cada rotor transmitía el movimiento al rotor situado a su izquierda, cuando llegaba a una determinada letra. Eso quiere decir que, puesto que la clave repetida tiene tan solo seis caracteres; las probabilidades de que la hipótesis de Rejewski, sean correctas es de 20/26; es decir, se cumplirán un 77% de los días. La hipótesis es, por tanto, muy justificable. Así pues la permutación P se aplicará antes de N (permutación ejecutada por el rotor derecho), y después se deberá aplicar su inversa P-1, para anular su efecto sobre los rotores medio e izquierdo, ya que estos no se mueven. En definitiva Rejewski planteó las siguientes ecuaciones:
A = S H PNP-1 M L R L-1 M-1 PN-1P-1 H-1 S-1
B = S H P2NP-2 M L R L-1 M-1 P2N-1P-2 H-1 S-1
C = S H P3NP-3 M L R L-1 M-1 P3N-1P-3 H-1 S-1
D = S H P4NP-4 M L R L-1 M-1 P4N-1P-4 H-1 S-1
E = S H P5NP-5 M L R L-1 M-1 P5N-1P-5 H-1 S-1
F = S H P6NP-6 M L R L-1 M-1 P6N-1P-6 H-1 S-1

Las permutaciones P2, P3, P4, P5 y P6 indican que el rotor derecho ha avanzado 2, 3, 4, 5 y 6 posiciones; tal como es el caso en Enigma.

Tenemos así un sistema de seis ecuaciones, cuyas incógnitas son las permutaciones S, H, N, M, L y R. Desgraciadamente no se trata de ecuaciones algebraicas; así que aunque tengamos tantas ecuaciones como incógnitas, no podemos resolverlo. De hecho, ni siquiera a día de hoy se conoce de qué forma podría encontrarse una solución.
Sin embargo la forma de las ecuaciones le permitió a Rejewski llegar a una importante conclusión. Si representamos la permutación AD en función de las permutaciones elementales de la máquina se tiene:
AD = S H PNP-1 M L R L-1 M-1 PN-1P-1 H-1 S-1 S H P4NP-4 M L R L-1 M-1 P4N-1P-4 H-1 S-1.
Por supuesto, S-1 y S, y H-1 y H, una a continuación de la otra se cancelan, y entonces queda:
AD = S H PNP-1 M L R L-1 M-1 PN-1P-1 P4NP-4 M L R L-1 M-1 P4N-1P-4 H-1 S-1
Y si, por aligerar la notación, llamamos:
T1 = H PNP-1 M L R L-1 M-1 PN-1P-1
T2 = P4NP-4 M L R L-1 M-1 P4N-1P-4 H-1 S-1

Queda:
AD = S T1T2 S-1.

Cuando una permutación tiene esta forma se dice que AD es una permutación conjugada de T1T2. Aquí Rejewski echó mano de un conocido teorema de la teoría de permutaciones que dice:
Dos permutaciones de un mismo conjunto son conjugadas, si y solo si tienen la misma estructura cíclica.
Es decir, en nuestro caso, la estructura cíclica que hemos obtenido para AD (y por supuesto para BE y CF) es solo debida a T1T2, sin que el panel de clavijas (permutación S) tenga ninguna influencia. Por tanto para encontrar el orden y la posición inicial de los rotores, Rejewski podía tranquilamente ignorar el panel de clavijas. Eso hacía que las posibilidades a verificar se redujesen a 6 x 26 x 26 x 26 = 105456.
Así, el análisis de Rejewski había conseguido que todas esas cifras enormes de posibilidades de configuración de Enigma, se redujesen a poco más de cien mil. Ha habido quién ha llamado al anterior teorema: el teorema que ganó la Segunda Guerra Mundial; un nombre bastante exagerado pero que no deja de tener algo de verdad.

(continuará)
Nunca se hace el mal tan plena y alegremente como cuando se hace por motivos de conciencia (B. Pascal)

Avatar de Usuario
fermat
Miembro
Miembro
Mensajes: 287
Registrado: Dom Oct 19, 2008 9:26 pm

Re: Las Claves de Enigma

Mensaje por fermat » Mar Oct 20, 2020 7:00 pm

En cualquier caso el número de configuraciones a probar, seguía siendo un número muy grande, pero ya se empezaba a ver algo de luz.
Rejewski continuó con su análisis y ahora se aprovechó de la información que había pasado el espía Hans-Thilo Schmidt. Dicha información incluía configuraciones diarias del panel de clavijas, con lo que Rejewski pudo considerar la permutación S como conocida. Además, hizo la hipótesis de que la permutación H del disco de entrada era la misma que la de la Enigma comercial (de la cual tenía una copia). Con eso pudo reescribir sus ecuaciones y pasar a la izquierda de la igualdad todo lo que le era conocido:
P-1 H-1 S-1 A S H P = NP-1 M L R L-1 M-1 PN-1
P-2 H-1 S-1 B S H P2 = NP-2 M L R L-1 M-1 P2N-1
P-3 H-1 S-1 C S H P3 = NP-3 M L R L-1 M-1 P3N-1
P-4 H-1 S-1 D S H P4 = NP-4 M L R L-1 M-1 P4N-14
P-5 H-1 S-1 E S H P5 = NP-5 M L R L-1 M-1 P5N-1
P-6 H-1 S-1 F S H P6 = NP-6 M L R L-1 M-1 P6N-1

Para simplificar un poco más Rejewski agrupó las permutaciones debidas a los rotores central, izquierdo y el reflector en una sola que llamó Q. De este modo sus ecuaciones quedaron:
P-1 H-1 S-1 A S H P = NP-1 Q PN-1
P-2 H-1 S-1 B S H P2 = NP-2 Q P2N-1
P-3 H-1 S-1 C S H P3 = NP-3 Q P3N-1
P-4 H-1 S-1 D S H P4 = NP-4 Q P4N-1
P-5 H-1 S-1 E S H P5 = NP-5 Q P5N-1
P-6 H-1 S-1 F S H P6 = NP-6 Q P6N-1

Y así, tan solo le quedaron dos incógnitas a resolver: la permutación del rotor derecho N, y la permutación compuesta Q.
Rejewski siguió simplificando las expresiones. Todo lo que estaba a la izquierda de la igualdad y que, recordemos, era conocido lo agrupó en una única permutación. El sistema quedó:
U = NP-1 Q PN-1
V = NP-2 Q P2N-1
W = NP-3 Q P3N-1
X = NP-4 Q P4N-1
Y = NP-5 Q P5N-1
Z = NP-6 Q P6N-1

Después multiplicó cada ecuación por la inmediatamente inferior, para obtener:
UV = NP-1 (Q P-1 Q P) PN-1
VW = NP-2 (Q P-1 Q P) P2N-1
WX = NP-3 (Q P-1 Q P) P3N-1
XY = NP-4 (Q P-1 Q P) P4N-1
YZ = NP-5 (Q P-1 Q P) P5N-1

Y ya finalmente eliminó la parte común (Q P-1 Q P); y obtuvo:
VW = NP-1N-1 (UV) NPN-1
WX = NP-1N-1 (VW) NPN-1
XY = NP-1N-1 (WX) NPN-1
YZ = NP-1N-1 (XY) NPN-1


Por fin Rejewski tenía un conjunto de ecuaciones en donde la única incógnita era la permutación N; es decir, las conexiones del rotor derecho. Lo “único” que tenía que hacer era, a partir de mensajes interceptados el mismo día calcular las permutaciones VW, UV y WX. Con VW y UV, se iba a la primera ecuación, y obtenía una serie de posibles soluciones para la permutación N. Hacía lo mismo con WX y VW en la segunda ecuación, y obtenía otro conjunto de soluciones. Aquella solución que fuera común a ambas ecuaciones era la permutación N buscada. Las dos últimas ecuaciones no eran, en realidad, necesarias.
La cosa parecía sencilla; sin embargo Rejewski se encontró con un problema. Para poder resolver sus ecuaciones, las permutaciones UV, VW, WX, etc. tenían que ser similares, puesto que solo se diferenciaban por la permutación que introducía el rotor derecho. Sin embargo ese no era el caso, Rejewski repitió sus cálculos para descartar posibles errores, pero todo parecía estar bien. Después sospechó que tal vez el rotor medio se hubiese movido durante el cifrado de la clave (recordemos que una de las hipótesis de Rejewski era que el único rotor que se movía era el derecho). Entonces repitió los cálculos con mensajes correspondientes a diferentes días, pero tampoco tuvo éxito.

Finalmente, volvió sobre otra de las suposiciones que hizo al principio; la de que la conexión del panel de clavijas al disco de entrada era la misma que en la de la Enigma comercial. En la Enigma comercial dicha permutación seguía el orden de las letras en el teclado; es decir:
Q W E R T Z U I O A S D F G H J K P Y X C V B N M L teclado
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z disco de entrada
Con esta suposición sus ecuaciones no funcionaban, entonces Rejewski tuvo una idea feliz. Pensó que, tal vez, los militares alemanes con su mentalidad superordenada, simplemente hubiesen dispuesto el disco de entrada en orden alfabético; es decir
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z teclado
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z disco de entrada
Rehízo sus cálculos con esta nueva hipótesis y, de repente, todo encajó. Inmediatamente fue capaz de obtener la permutación N; es decir, la conexión interna del rotor derecho.
Para ilustrar el proceso seguido por Rejewski, sin complicar mucho las cosas, vamos a suponer una “Enigma” de 8 letras. Tras interceptar una serie de mensajes de un mismo día hemos construido las permutaciones UV, VW y WX.
Supongamos que dichas permutaciones son:
UV: (ADC) (BEG) (FH) VW: (ADH) (EGF) (BC) WX: (ADB) (CGF) (EH)
Estas permutaciones tienen, lógicamente, la misma estructura de ciclos ya que son conjugadas.
Tenemos así las siguientes posibilidades:
UV: (ADC) (BEG) (FH)
VW: (ADH) (EGF) (BC)
.............(DHA) (GFE) (CB)
.............(HAD) (FEG)
.............(EGF) (ADH)
.............(GFE) (DHA)
.............(FEG) (HAD)

VW: (ADH) (EGF) (BC)
WX: (ADB) (CGF) (EH)
.............(DBA) (GFC) (HE)
.............(BAD) (FCG)
.............(CGF) (ADB)
.............(GFC) (DBA)
.............(FCG) (BAD)

Si miramos la relación entre UV y VW, vemos que la letra F se puede cambiar por B o por C; y lo mismo la H. Por tanto, en la relación entre VW y WX podemos eliminar todas las posibilidades en que esto no sucede. Miramos las letras F y H en VW y bajando en vertical, eliminamos todas las posibilidades donde no haya una B o una C (las eliminadas se representan subrayadas). Estas eliminaciones nos permiten ver que ahora A solo se puede cambiar por A o por G; y E solo se puede cambiar por G o A. Eso nos permite mirar esas letras en UV y eliminar las combinaciones que no se corresponden (las que están subrayadas).
Nos quedan entonces las siguientes posibles soluciones:
.......UV – VW...........................................................VW - WX
(A) (D) (CH) (BEGF)...............................................(A) (D) (CHBEGF)
(A) (D) (CHBEGF)..................................................(A) (D) (BH) (CEGF)
(AGDFBHCE).......................................................(AGDFBE) (CH)
(AGDFCE) (BH)....................................................(AGDFBHCE)
Las dos posibles soluciones que son comunes a ambos conjuntos son:
(A) (D) (CHBEGF)
(AGDFBHCE)
Es decir que (AGDFBHCE) = NPN-1 ; o bien (A) (D) (CHBEGF) = NPN-1.
Pero esta última solución no es posible ya que la solución correcta debe ser conjugada de P, y esta permutación solo tiene un ciclo. Entonces será:
NPN-1 = (AGDFBHCE)
Y de aquí se puede extraer N que es el cableado del rotor derecho de nuestra “Enigma”; sin más que probar las 8 posibilidades de P (en una Enigma real habría 26).

La información que había proporcionado Schmidt correspondía a los meses de Septiembre y Octubre de 1932. Puesto que en aquella época el orden de los rotores se cambiaba con periodicidad trimestral, repitiendo el análisis con mensajes interceptados en Octubre, pudo calcular el cableado de otro de los rotores. Después no había más que esperar a Enero de 1933 para poder calcular las conexiones internas del tercer rotor, y el reflector.
Así, prácticamente coincidiendo con la llegada de Hitler al poder, la máquina Enigma había sido rota por los polacos. Una vez que se conocían las conexiones de todos los rotores, la sección técnica del Biuro Szyfrów, fabricó una versión militar de la Enigma, a partir de la versión comercial de la que disponían.

En mi opinión lo realizado por Rejewski fue realmente espectacular, una verdadera hazaña. Reconstruyó completamente una Enigma militar, sin haber visto jamás alguna, ni mucho menos disponer de planos o información detallada de la misma.

Sin embargo, eso no era más que el primer paso. Los problemas de los polacos no habían terminado. Habían averiguado el cableado completo de Enigma, aprovechando el error cometido por los alemanes en la transmisión de la clave del mensaje; y utilizando información proporcionada por un espía. Pero, para que todo aquello sirviese de algo, debían ser capaces de leer diariamente los mensajes alemanes por sus propios medios; sin depender de informaciones externas que, lógicamente, no siempre estarían disponibles. Es decir, era necesario encontrar una forma de averiguar la clave del día a partir, exclusivamente, de los mensajes interceptados.

(continuará)
Nunca se hace el mal tan plena y alegremente como cuando se hace por motivos de conciencia (B. Pascal)

Avatar de Usuario
fermat
Miembro
Miembro
Mensajes: 287
Registrado: Dom Oct 19, 2008 9:26 pm

Re: Las Claves de Enigma

Mensaje por fermat » Jue Oct 22, 2020 7:31 pm

LA BÚSQUEDA DE LA CLAVE DEL DÍA.
El problema de obtener la clave del día era el inverso al problema que Rejewski había resuelto anteriormente. En el primer caso había obtenido las conexiones internas de Enigma a partir de mensajes interceptados y de la clave del día suministrada por Hans-Thilo Schmidt. Ahora se trataba de obtener la clave del día a partir de los mensajes interceptados y las conexiones internas de la máquina que ya eran conocidas.
Hemos visto que la clave del día venía definida por:
- El orden de los rotores.
- El Ringstellung (la posición del anillo de letras/números) con respecto al núcleo del rotor).
- El Grundstellung (la posición inicial del rotor).
- Las conexiones del panel de clavijas.
Cada uno de estos elementos daba lugar a distintas configuraciones que debían ser averiguadas:
- Hasta 1935 Enigma solo disponía de 3 rotores distintos; por tanto, había 6 posibles órdenes.
- El Ringstellung determinaba como cada rotor transmitía el movimiento al rotor situado a su izquierda. Eso suponía 26 x 26 = 676 posibles configuraciones.
- El Grundstellung podía tomar 26 x 26 x 26 = 17576 posiciones iniciales.
- Por último las conexiones del panel de clavijas, que hasta 1935 eran solo seis pares podían tomar un total de 100.391.791.500 configuraciones distintas.

En definitiva el número del claves del día posibles se obtiene de multiplicar las cifras anteriores, y el resultado es: 7.156.755.732.750.624.000. Es decir que aunque el conocimiento del conexionado completo de rotores y reflector había reducido muchísimo el espacio de claves, todavía tenía un tamaño suficiente como para hacer muy complejo el criptoanálisis.
De las cifras anteriores podemos deducir que la mayor contribución a la seguridad de la clave del día la daba el panel de conexiones; puesto que sus posibles configuraciones eran millones de veces mayores que las que daban los rotores. Sin embargo; ya hemos visto que, gracias al brillante trabajo de Rejewski, la configuración de rotores se podía deducir sin tener en cuenta el panel de conexiones; además, también se podía ignorar el Ringstellung ya que se suponía que durante el cifrado de la clave del mensaje, el único rotor que giraba era el derecho (hipótesis que como hemos visto es válida la mayoría de las veces).
Por lo tanto Rejewski “solo” tenía que considerar 6 x 17576 = 105.456 posibles configuraciones de rotores.

Los años de 1933 a 1935 fueron calificados por Rejewski “de relativa paz”. Se refería a que en dicho periodo los alemanes prácticamente no introdujeron cambios en sus procedimientos de cifrado. En ese periodo, para recuperar la clave del día se empleaban métodos un tanto rudimentarios. Por ejemplo, a partir de los mensajes descifrados en Septiembre y Octubre de 1932 usando la información del espía Schmidt, los polacos se habían dado cuenta de que muchos mensajes empezaban con las letras ANX. AN en alemán significa A (en el sentido de dirigido a…) y la X se usaba en Enigma para indicar un espacio en blanco. A partir de esto los polacos desarrollaron un método que llamaron ANX. Básicamente consistía en encontrar algún mensaje que empezase de esa manera, y determinar la combinación de rotores que podía dar lugar al mensaje cifrado. Supongamos que tenemos un mensaje que empieza por las letras TUV, y que pensamos que corresponden a ANX. Entonces nos vamos a nuestra máquina Enigma, configuramos los rotores en una determinada posición y tecleamos T, si no obtenemos A, pasamos a la siguiente posición. Si obtenemos A, tecleamos U y vemos si obtenemos N. Si en algún caso al teclear TUV obtenemos ANX, tenemos una posible configuración de rotores. El proceso era efectivo, pero se necesitaba mucho tiempo para cada mensaje, porque en el peor de los casos había que chequear todas las combinaciones posibles; aunque poco después se mejoró y se podían descartar por cálculo (sin necesidad de teclear en Enigma) muchas posiciones iniciales del rotor derecho; quedando únicamente una o dos a comprobar.

También en esa época Jerzy Różycki desarrolló un método que permitía determinar cuál de los rotores estaba situado en la posición derecha. Różycki lo llamó método del reloj, y consistía en lo siguiente.
En cada idioma la frecuencia con la que aparecen las distintas letras es característica de dicho idioma. Así, si escribimos dos frases cualesquiera, una encima de otra y contamos el número de letras iguales que aparecen en la misma posición, obtenemos un número que estará relacionado con dicha frecuencia. Veamos un ejemplo:
ESTOESUNMENSAJEDEPRUEBAPARAEXPLICARCONMASDETALLEELMETODODELRELOJ
SESUPONEQUEENCADAIDIOMALAFRECUENCIADELASDIFERENTESLETRASESDISTINTA

En estas dos frases, que no tienen nada que ver entre sí, coinciden en la misma posición 8 letras (las que he subrayado). Si en lugar de dos frases en castellano hubiésemos escrito dos textos aleatorios, la estadística nos dice que habría una coincidencia una vez cada 26 letras. Puesto que cada una de las frases tiene unas 64 letras, eso nos daría entre 2 y 3 coincidencias de forma puramente aleatoria. Sin embargo, el hecho de tener 8 nos dice que las frases corresponden a un texto en el idioma que sea, en este caso castellano. Ahora bien, si esas dos frases se hubiesen cifrado con la misma clave de mensaje, se mantendría la frecuencia de coincidencia, mientras que si se hubiesen cifrado con distinta clave, entonces la frecuencia de coincidencia sería la de un texto aleatorio.

Partiendo de esto, los criptoanalistas polacos seleccionaban dos textos cifrados cuya clave de mensaje se diferenciase solo en la última letra. Recuérdese que la clave de mensaje se conoce en todos los casos a partir de las permutaciones individuales A, B, C, D, E, F. Entonces, una vez seleccionados esos dos mensajes, cuanto más largos mejor (más de 200 letras es lo ideal), se escriben uno debajo de otro como hemos visto antes. Puesto que se han elegido mensajes largos, se producirán movimientos del rotor medio, ya que cada 26 caracteres el rotor derecho le trasmite el movimiento. Los dos mensajes se alinean de forma que en cada letra coincida el alfabeto de sustitución aplicado. Esto se puede conseguir de dos maneras distintas. En una de ellas el número de coincidencia de letras en la misma posición indicará que el alineamiento es el correcto y; por tanto, se descartará que se haya transmitido movimiento al rotor medio en un determinado intervalo de letras. Eso descartará alguno de los rotores como candidato a ocupar la posición derecha. Repitiendo el proceso para otro conjunto de mensajes se podrá descartar otro de los rotores, con lo que se averiguará cual es el rotor que ocupa la posición derecha.

Este método al principio no tuvo mucha importancia ya que el orden de los rotores se cambiaba cada tres meses, pero a partir de Noviembre de 1936 se cambiaba diariamente; y, entonces, era importante tener un método rápido de determinar cuál era el rotor derecho. Eso facilitaba mucho el proceso de descifrado.
Esto es otro ejemplo de las debilidades de Enigma. En principio puede parecer que hacer que los rotores transmitan el movimiento en distintas posiciones hace que la máquina sea más aleatoria; y, por tanto, más segura. Sin embargo, esa circunstancia hacía que se pudiese identificar una parte de la clave del día. De hecho, más adelante los alemanes corrigieron ese error.

Para deducir cual era la configuración de rotores empleada por los alemanes, a partir de los mensajes interceptados; los polacos calculaban las permutaciones AD, BE y CF; obteniendo su estructura de ciclos; la llamada característica del día. Puesto que sabía que dichas permutaciones siempre estaban formadas por pares de ciclos de una longitud determinada; cada una de las tres permutaciones podía tener 101 estructuras de ciclos. Es decir, las tres permutaciones podían dar lugar a 101^3 = 1.030.301 estructuras de ciclos, diferentes.
Obviamente la estructura de ciclos vendría dada por el orden de los rotores y sus posiciones iniciales (105.476 posibilidades); por tanto, era probable que cada característica del día correspondiese a una sola configuración de rotores o, al menos, a un número pequeño de configuraciones posibles. Ese número reducido de configuraciones posibles podía analizarse uno por uno en un tiempo razonable.

Era necesario, por tanto, determinar las características del día de cada una de las 105.476 configuraciones de rotores posibles. Si intentamos hacer esto utilizando métodos manuales, un criptoanalista trabajando 12 horas al día podría tardar unos 24 años. Claramente Polonia no disponía de tanto tiempo; así que se diseñó un dispositivo llamado ciclómetro que permitió automatizar el proceso de obtención de características del día.

El ciclómetro consistía en dos conjuntos de rotores y reflector de Enigma, en los que la salida del primero (las 26 letras) estaba conectada al segundo; y la salida del segundo estaba conectada al primero. El conjunto se configuraba de forma que la posición de los rotores del segundo conjunto estaba desplazada tres posiciones con respecto al primero. De ese modo, mientras el primer conjunto efectuaba la permutación A, el segundo efectuaba la permutación D. El ciclómetro disponía de un conjunto de interruptores y bombillas, cada uno de los cuales correspondía a una letra del alfabeto. El sistema se alimentaba por medio de una batería. Al accionar el interruptor de una letra, la corriente pasaba por el primer conjunto de rotores, donde se ejecutaba la permutación A, a continuación pasaba por el segundo conjunto donde se ejecutaba la permutación D; la salida de éste volvía al primer conjunto estableciéndose un ciclo. El resultado final es que se encendían todas las bombillas correspondientes al ciclo de la permutación AD que incluye a la letra introducida.
Veamos esto con un ejemplo. Supongamos que queremos estudiar la estructura de ciclos de la permutación AD, correspondiente a la configuración de rotores I, III, II en la posición KDP. Lo primero que hacemos es disponer el primer conjunto de rotores en el orden I, III, II y en la posición KDP, y el segundo en el mismo orden y posición KDS (tres posiciones adelantado respecto al primero). Vamos a suponer que la permutación que estamos buscando, fuese:
AD: (AKMW) (GELP) (TNOQJSDRC) (XZHYUVBFI)

Cuando activamos el interruptor de la letra A, la corriente entra en el primer conjunto de rotores, se ejecuta la permutación A y dará como resultado, una de las letras del ciclo correspondiente; supongamos que sea la L. La L entra en el segundo sistema de rotores y su salida deberá ser la letra K. La K entrará en el primer sistema y saldrá como, por ejemplo, G. G entrará en el segundo y saldrá como M. Ahora M entrará en el primero y saldrá como P. P entra en el segundo y saldrá como W. Por fin W entra en el primero y saldrá como E; y E al entrar en el segundo deberá necesariamente salir como A. Se ha cerrado el ciclo, y en el ciclómetro se encienden las bombillas A, K, M, W, G, E, L y P. El criptoanalista cuenta el número de bombillas encendidas, en este caso ocho, y sabe que eso representa dos ciclos de longitud 4. Además ve que bombillas no se han encendido, y selecciona una de ellas, por ejemplo la T. Entonces activa el interruptor de la letra T y se encenderán las 18 bombillas que faltan; lo que representa dos ciclos de longitud 9. Puesto que ya se han encendido todas las bombillas del alfabeto, la estructura de ciclos está completa. Así sabemos que en la configuración de rotores I, III, II y posición KDP, la estructura cíclica es 9-9-4-4.

Véase a continuación un esquema del ciclómetro, donde solo se han representado las letras del primer ciclo de la permutación que he puesto como ejemplo. En el ciclómetro real había, lógicamente 26 interruptores y 26 bombillas.

Imagen

Después se adelantaba una posición el rotor derecho en ambos conjuntos; es decir se pasa a KDQ y KDT respectivamente, y se obtiene así la permutación BE. Después se pasa a KDR y KDU para obtener la permutación CF.
Esta operación se repetía para todos los órdenes de rotores posibles y para todas las posiciones iniciales y se completaba el catálogo. En operación lo que se hacía era calcular las permutaciones AD, BE y CF, determinar su estructura cíclica y utilizar el catálogo para ver a qué orden de rotores y posición inicial correspondía. Una vez encontrada se tenía una de las partes de la clave del día. Lo ideal hubiera sido que cada estructura cíclica encontrada correspondiese a una y sola una configuración de rotores. Sin embargo, al hacer el catálogo se vio que había algunas estructuras cíclicas que correspondían a varias configuraciones posibles, lo que obligaba a probar todas ellas.

En total el catálogo contenía 21230 estructuras cíclicas para las permutaciones AD, BE y CF. De ellas la gran mayoría, 19604, correspondían a menos de 10 posibles configuraciones de rotores. En concreto 11466 correspondían a una sola configuración. Así, en algo más del 50% de los casos la estructura cíclica de las permutaciones daba directamente la configuración de los rotores. En los otros casos, era necesario hacer unas pocas pruebas antes de dar con la configuración correcta. Sin embargo, había algunas estructuras que se daban con mucha frecuencia; algunas correspondían hasta a 1771 configuraciones. No está claro lo que se hacía en esos casos; o bien se usaban otras informaciones, o simplemente esos mensajes se quedaban sin descifrar. En todo caso el método garantizaba el éxito en al menos el 50% de los casos.

El catálogo tardó en completarse alrededor de un año, pero una vez completado se podía averiguar la clave del día en un periodo de entre 10 y 15 minutos. La posición y orden de los rotores se extraía del catálogo de características del día, seleccionando la que coincidía con las permutaciones AD, BE y CF calculadas previamente a partir de los mensajes interceptados. Para obtener la permutación S que, supuestamente, era la que proporcionaba más seguridad a la Enigma bastaba, simplemente, con comparar las letras de la característica del día, con las de las permutaciones AD, BE y CF obtenidas de los mensajes interceptados. Otra manera de obtener las conexiones del panel era la siguiente. Puesto que hasta 1938 solo se conectaban seis cables en el panel, eso quería decir que se intercambiaban 12 letras (seis pares); o lo que es lo mismo, 14 letras no se veían modificadas por el panel de clavijas. Así, una vez obtenida la configuración de rotores, Rejewski se iba a su Enigma, configuraba los rotores de acuerdo a lo obtenido y quitaba todos los cables del panel de clavijas. De este modo se aseguraba que 14 de las letras del panel estaban bien configuradas. Entonces empezaba a descifrar mensajes.
Puesto que la máquina no estaba completamente configurada, obtenía algunas cosas sin sentido, pero también obtenía frases del tipo: AVROTES ETEMRGOS. Entonces era lógico suponer que la frase correcta era AVIONES ENEMIGOS y por tanto el panel de clavijas debía conectar I-R y N-T. De este modo iba obteniendo poco a poco las conexiones del panel de clavijas.

Es sorprendente que el principal elemento que los alemanes había añadido a la Enigma comercial para aumentar su seguridad, y hacerla utilizable por los militares fuese, finalmente, tan fácil de romper.
Cuando los polacos habían completado su catálogo, los alemanes introdujeron un cambio en la Enigma. En Noviembre de 1937 cambiaron el reflector de la máquina introduciendo uno nuevo llamado modelo B. Así que a los polacos les tocó averiguar el nuevo cableado del reflector, y rehacer por completo el catálogo; aunque en este caso gracias a la experiencia acumulada, les llevó mucho menos tiempo.
La situación cambió completamente en 1938 cuando los alemanes introdujeron dos cambios importantes. En primer lugar cambiaron la forma en que se cifraba la clave del mensaje. En segundo lugar aumentaron el número de rotores disponibles de 3 a 5.

Es de suponer que los criptógrafos alemanes se diesen cuenta del gran error que suponía que todas las máquinas Enigma de la red cifrasen con la misma clave grupos de tres letras; y, además, repitieran dicho grupo (este error era el que había permitido a Rejewski deducir el cableado completo de la máquina). Así pues, eliminaron de la clave del día la parte que correspondía a la posición inicial de los rotores. Ahora el operador de Enigma debía elegir un grupo de tres letras de forma aleatoria; con ese grupo cifraba la clave de mensaje que también elegía él; y mandaba, en claro, en la cabecera las tres letras que había seleccionado para cifrar la clave del mensaje, y a continuación la clave del mensaje cifrada repetida una vez. Por ejemplo: el operador elige las letras GRK para cifrar la clave del mensaje. Sitúa los rotores de la Enigma en la posición GRK y elige una clave para el mensaje. Supongamos que elige PWN. Entonces teclea PWN dos veces y obtiene, por ejemplo SCUATB. Después pone los rotores en la posición PWN y cifra el mensaje. Al enviarlo pone en la cabecera GRK SCUATB. El receptor lee el primer grupo de letras, pone los rotores de su Enigma en la posición GRK y teclea SCUATB, con lo que obtiene PWNPWN. A continuación pone los rotores en la posición PWN y descifra el mensaje.

Con este cambio, el método que usaban los polacos para averiguar la clave del día quedaba invalidado. Ya no existía nada parecido a la característica del día; el catálogo creado por los polacos no servía de nada, no se podía determinar el orden de los rotores ni su posición; y, por tanto, el tráfico de mensajes alemanes se volvió ilegible. Era necesario encontrar un nuevo sistema para atacar Enigma.

(continuará)
Nunca se hace el mal tan plena y alegremente como cuando se hace por motivos de conciencia (B. Pascal)

Avatar de Usuario
fermat
Miembro
Miembro
Mensajes: 287
Registrado: Dom Oct 19, 2008 9:26 pm

Re: Las Claves de Enigma

Mensaje por fermat » Sab Oct 24, 2020 12:23 pm

Afortunadamente para los polacos, los alemanes seguían cometiendo el error de repetir la clave del mensaje de forma consecutiva. Analizando el tráfico de Enigma, se dieron cuenta de que había mensajes en que la primera letra de la clave cifrada, era igual a la cuarta (o la segunda a la quinta, o la tercera a la sexta). Es decir se trataba de claves de la forma: AFGANT, WHYCHQ, LPZSRZ, estas repeticiones se conocían entre los criptoanalistas como “females” 1-4, 2-5 y 3-6 respectivamente. Si recordamos la forma de las permutaciones AD, BE, CF resultará que para los ejemplos anteriores tendríamos AD(A)=A, BE(H)=H, CF(Z)=Z. Es decir que estas permutaciones van a tener ciclos de longitud 1. Puesto que la configuración del panel de clavijas no afecta a la estructura cíclica de las permutaciones, podemos analizar que configuración de rotores (orden y posición) producen ciclos de longitud 1, y así poder deducir esa parte de la clave del día.

Ahora se tiene la ventaja de que se conoce la clave con la que se ha cifrado la clave del mensaje; sin embargo, no se conoce la posición del anillo del rotor (el Ringstellung). Así solo se conocen las posiciones relativas entre las distintas “females”, lo cual plantea un problema a la hora de determinar la clave del día.

Henryk Zygalski desarrolló un ingenioso método que permitía hacer el análisis correspondiente. El método se basaba en una serie de hojas de papel perforadas, en total 26. Cada hoja se etiquetaba de la A a la Z y representaba la posición del rotor izquierdo. En cada una de ellas se dibujaba una cuadrícula de 51 por 51 casillas. Horizontalmente las casillas se designaban con letras de la A a la Z y de la A a la Y; y lo mismo verticalmente. Se creaba así una especie de ejes de coordenadas en donde la coordenada horizontal representaba la posición del rotor medio, y la coordenada vertical la posición del rotor derecho. En cada casilla donde era posible que se diera una “female” se hacía una perforación. Para cada posible orden de rotores había que hacer uno de estos conjuntos.

Por cada “female” había que hacer cuatro perforaciones, y se necesitaba un conjunto de 26 hojas, para cada posible orden de rotores; es decir, seis conjuntos de hojas. Ni que decir tiene que se requería bastante esfuerzo para elaborar todas esas hojas.
Vease a continuación el aspecto de una de esas hojas.

Imagen
Fuente: https://upload.wikimedia.org/wikipedia/ ... Enigma.jpg

Para obtener el orden de rotores y su posición, se iban colocando las hojas sobre una mesa iluminada, una encima de otra de acuerdo a la posición relativa de los rotores que correspondía con la de los mensajes interceptados en los que había una “female”. De este modo se iban tapando perforaciones sucesivamente; y al final, con un poco de suerte quedaba un solo orificio por donde pasaba la luz. La posición del orificio proporcionaba el orden de los rotores y el Ringstellung. La permutación S, o sea la configuración del panel de clavijas, se obtenía comparando las letras cifradas de la clave del mensaje, con las que se obtenían de la Enigma.
Este método era efectivo pero complejo; y relativamente lento, así que los polacos desarrollaron otro sistema para obtener las permutaciones que tenían ciclos de longitud 1. El método se basaba en un artefacto electromecánico que llamaron Bomba Criptológica. Se han escrito muchas historias sobre el origen del nombre Bomba, pero el propio Rejewski escribió que “le pusimos Bomba a falta de un nombre mejor”. En cualquier caso la Bomba consistía en un grupo de tres pares de rotores y reflector de Enigma. Para tener en cuenta todos los posibles órdenes de rotores, se fabricaron seis unidades; en cada una de las cuales se probaba uno de los seis órdenes posibles. El procedimiento era el siguiente.
Supongamos que hemos encontrado tres “females” tales como:
KLM STYSOP
TWA RSEFSD
OUJ MDSJTS
El primer par de rotores se configuraba, de acuerdo con la “female” 1-4, en la posición KLM el primero y en la posición KLP el segundo (desplazado tres posiciones). El segundo se configuraba de acuerdo a la “female” 2-5; es decir TWB el primero y TWE el segundo. Por último el tercer par se configuraba de acuerdo a la “female” 3-6; es decir, OUL el primero y OUO el segundo. Después se aplicaba corriente a la “female” seleccionada, en este caso la letra S, y se hacían girar por medio de un motor los tres pares de rotores, de manera que se verificaban todas las combinaciones posibles. Cuando los tres pares de rotores daban como salida letras repetidas, la máquina paraba y el criptoanalista podía anotar la posición de los rotores. Por término medio se tardaban unas dos horas en chequear todas las configuraciones posibles; y además era posible obtener más de una solución, en cuyo caso había que chequearlas manualmente. También había que tener en cuenta que el método solo funcionaba si la letra de la “female” seleccionada no estaba conectada en el panel de clavijas; y si el único rotor que giraba durante el cifrado de la clave era el derecho.

A pesar de todas estas dificultades los polacos fueron capaces de seguir leyendo los mensajes alemanes hasta diciembre de 1938. En esa fecha se introdujeron los dos nuevos rotores para la Enigma.
Esto planteó dos dificultades. La primera consistía en averiguar el cableado de esos nuevos rotores. Las conexiones de los primeros tres rotores se pudieron determinar gracias a la información del espía Schmidt. Ahora esa información no estaba disponible; sin embargo, una vez más los errores de los alemanes vinieron en auxilio de los polacos. El Biuro Szyfrów había detectado una nueva red de Enigma utilizada por el SD (Sicherheitdienst). Esta red recibió los dos nuevos rotores, pero siguió utilizando la antigua forma de cifrar mensajes. Es decir seguían usando un Grunstellung común para todas las máquinas. Gracias a ese error, y puesto que los rotores se cambiaban cada día, rápidamente se pudo averiguar la conexión de los dos rotores adicionales.

La segunda dificultad fue más seria. Con cinco rotores el número de órdenes posible pasaba de seis a sesenta. Eso significaba multiplicar por diez los recursos necesarios para la tarea de descifrado. Por ejemplo, habría sido necesario fabricar 54 bombas más, o 1404 hojas de Zygalski adicionales.
Los polacos no tenían recursos suficientes para esa tarea, y entonces decidieron compartir sus conocimientos con los franceses y británicos, ante la inminencia de la agresión nazi. El 25 y 26 de Julio de 1939 se reunieron en Varsovia representantes de los Servicios de Inteligencia polacos franceses y británicos. Allí los polacos revelaron todo lo que sabían y todo lo que habían conseguido. Incluso entregaron dos réplicas de la Enigma militar. Ni que decir tiene que tanto franceses como británicos quedaron impresionados con los logros de Rejewski y los suyos. No era para menos.

Tras la invasión alemana; Rejewski, Różycki y Zygalski pudieron huir a Francia tras destruir todo lo que hubiese podido caer en manos de los alemanes. En las cercanías de París siguieron trabajando en el descifrado de Enigma. Ahora, con la entrada de Francia y, sobre todo, el Reino Unido en la guerra sus recursos aumentaron. Por ejemplo, Rejewski relató cómo los británicos les facilitaron rápidamente las 1560 hojas de Zygalski (sesenta conjuntos de 26 hojas).
En este punto los británicos empezaron a asignar cada vez más recursos a la tarea de descifrado. Ya desde el principio de la guerra unos sesenta criptoanalistas trabajaban en Bletchley Park, y ese número aumento mucho posteriormente. Tanto es así que, según el propio Rejewski, de 100 claves de Enigma rotas 87 procedían de los británicos y solo 17 de los polacos.

Tras la caída de Francia, los tres criptoanalisatas polacos consiguieron llegar a la zona no ocupada y siguieron trabajando en descifrar Enigma. Sin embargo, en otoño de 1940, el procedimiento de transmisión de la clave del mensaje volvió a cambiar, y con ello las hojas de Zygalski se convirtieron en objetos inútiles. Para poder seguir rompiendo el código Enigma se necesitaba interceptar y analizar un gran volumen de tráfico, y disponer de máquinas electromecánicas sofisticadas. Todo ello requería de unos recursos de los que no se disponía en Francia en aquella época.

De este modo el esfuerzo de descifrado del código Enigma se desplazó al Reino Unido, en concreto a Bletchley Park.

(continuará)
Nunca se hace el mal tan plena y alegremente como cuando se hace por motivos de conciencia (B. Pascal)

Avatar de Usuario
fermat
Miembro
Miembro
Mensajes: 287
Registrado: Dom Oct 19, 2008 9:26 pm

Re: Las Claves de Enigma

Mensaje por fermat » Mar Oct 27, 2020 6:26 pm

BLETCHLEY PARK
Los británicos también llevaban tiempo trabajando en el descifrado de Enigma, aunque no habían avanzado tanto como los polacos. A pesar de ello habían tenido éxito en el descifrado de mensajes Enigma de submarinos italianos y de la Legión Cóndor durante la Guerra Civil Española. En 1939 el principal criptoanalista en Bletchley Park era Dillwyn (Dilly) Knox. Knox era un lingüista, experto en griego antiguo. Había desarrollado un método para descifrar Enigma llamado rodding. Se trataba de un método manual que, claramente, no resultaba adecuado para el reto que, dada la situación de guerra, se debía de afrontar.
Los británicos, y en concreto Knox, se habían cuenta que para romper los nuevos métodos de cifrado se necesitaba personal con formación matemática; personal del que en ese momento carecían. Para suplir dicha carencia se organizó, a finales de 1938, un curso en criptología en el que participaron licenciados en matemáticas de Oxford y Cambridge. Como consecuencia se reclutó, entre otros, a los que, probablemente, fueron los matemáticos más importantes que trabajaron en Bletchley Park durante la guerra: Gordon Welchman y Alan Turing.
En Bletchley Park el trabajo de criptoanálisis se especializó mucho. Se crearon distintas Huts (cabañas) que se encargaban de partes muy concretas de la actividad. Así:
- Hut 3 se encargaba de la evaluación de mensajes del Heer y la Luftwaffe. Preparaba los mensajes para su tratamiento, y una vez descifrados se encargaba de la traducción y distribución.
- Hut 4 hacía lo mismo con los mensajes de la Kriegsmarine.
- Hut 6 se encargaba de la decodificación de mensajes del Heer y la Luftwaffe.
- Hut 8 hacía lo mismo con los mensajes de la Kriegsmarine.
- Hut 7 se encargaba de las comunicaciones navales japonesas.
- En otros Huts (por ejemplo Hut 1 y Hut 11) se instalaron las bombas desarrolladas por los británicos.

Al principio los británicos siguieron la estela de los polacos y usaban sus mismos métodos de descifrado, principalmente las hojas de Zygalski. Sin embargo, el 1 de Mayo de 1940 los alemanes dejaron de repetir la clave del mensaje al principio del mismo, con lo que los métodos de obtención de la clave del día que se venían utilizando dejaron de ser válidos. Los británicos se dieron cuenta de que era un error basar sus métodos de descifrado en la transmisión de la clave del mensaje. Los cambios en los procedimientos operacionales de Enigma, habían hecho inútiles, primero, el ciclómetro; y después las hojas de Zygalski y la Bomba Criptológica. No podían seguir desarrollando técnicas de descifrado que requerían un importante esfuerzo, y muchos recursos; para que después hubiera que tirarlas a la basura a causa de un simple cambio de procedimientos. Así pues, Turing y Knox decidieron que en el futuro los métodos de descifrado se basarían en el contenido del propio mensaje a descifrar.
Mientras se desarrollaban tales métodos, los criptoanalistas de Bletchley Park trataron de aprovechar los errores de los operadores alemanes para descifrar sus mensajes. Veamos alguno de esos errores.
Como ya habían visto los polacos, muchas veces los operadores de Enigma elegían claves de mensaje sencillas. Se dice, por ejemplo, que había un operador que utilizaba con cierta frecuencia el nombre de su novia Cillie. Así, seleccionaba como posición inicial de los rotores CIL, y como clave de mensaje LIE. Entonces enviaba CIL y después el resultado de cifrar LIE dos veces. Con esto los criptoanalistas británicos podían deducir a configuración de Enigma para ese día. Este tipo de claves de mensaje eran conocidas en Bletchley Park como cillies. Otras cillies habituales eran: BER LIN o HIT LER.

Otro método empleado por los británicos es lo que se conocía como Herivel Tip. Este método se debe al criptoanalista John Herivel. Herivel repasó las acciones que debía llevar a cabo un operador de Enigma para configurar su máquina. Lo primero que debía hacer era seleccionar los rotores, colocarlos en su orden correcto e instalarlos en la máquina, y luego establecer el Ringstellung de cada uno. Después conectaría el panel de clavijas y ya podría empezar a cifrar. Herivel se imaginó un operador cansado, tal vez asustado, bajo mucha presión y supuso que en el primer mensaje del día, a la hora de seleccionar la clave con la que cifrar la clave de mensaje, era muy posible que el operador no moviese los rotores de la posición de instalación, o los moviese muy poco; ya que al tratarse del primer mensaje del día aquella posición era tan buena como cualquier otra. Entonces lo que se hacía era analizar todos los primeros mensajes del día de las máquinas de la red; y, puesto que la clave se mandaba en claro, se marcaban en una cuadrícula las posiciones de los rotores en esos primeros mensajes. Solía pasar que, en efecto, las posiciones se concentraban en un zona, lo cual permitía que las 26^3 = 17576 posibilidades a comprobar se redujesen a 10 o 20 como máximo. Esta técnica dio muy buenos resultados, sobre todo, a partir de la invasión de Francia ya que los operadores de Enigma, bajo la presión de la situación militar, descuidaban bastante los procedimientos.

A veces los alemanes enviaban el mismo mensaje cifrado con Enigma, y cifrado con otro sistema más sencillo que los británicos eran capaces de descifrar. Usando el mensaje descifrado, y el mensaje cifrado correspondiente se podía averiguar la configuración de Enigma para ese día.
Otras veces los operadores cometían errores groseros. Por ejemplo, un día una criptoanalista de Bletchley Park, llamada Mavis Lever, estaba analizando un mensaje italiano cifrado con Enigma. Se dio cuenta, y le llamó mucho la atención, que en ese mensaje no había ninguna letra L. Estimó la probabilidad de que en un mensaje de esa longitud eso pudiese suceder por simple azar, y llegó a la conclusión de que esa probabilidad era prácticamente nula. Así pues, considerando el Principio de Exclusividad de Enigma, hizo la hipótesis de que el mensaje fuera una simple sucesión de letras L una detrás de otra. Esto puede parecer extraño, pero a veces se mandan mensajes sin sentido simplemente para simular tráfico de comunicaciones en determinadas posiciones, donde en realidad no lo hay. La suposición de Mavis resultó ser cierta, y eso permitió obtener la configuración de Enigma para ese día.
Por último también se aprovechaban unos procedimientos de operación absolutamente erróneos. Así por ejemplo en el manual del operador de Enigma; se dice lo siguiente (pongo su traducción al inglés realizada por Bletchley Park):

60. If a wrong key was pressed down by mistake, then the right cipher wheel (Schluesselwalze) is to be turned back several steps snd the ciphering of as many letters -- including the wrongly pressed one --- is to be repeated as the number of steps the wheel was turned back.

61. If it is not possible, by comparison with the correctly ciphered group to restore the correct setting, then go back to the beginning setting (Message Cipher) and repeat the entire ciphering. The time of this operation can, however be shortened for the distance up to the last unmistakably correctly ciphered group by counting the number of letters up to this point and by then pressing any key that number of times. After reaching this point, the ciphering is then continued.

O sea, que el propio manual del operador parece animar a éste a repetir el error detectado por Mavis Lever. Parece mentira que los alemanes pudiesen escribir una cosa así. Evidentemente, un error que suponga alterar el sentido del mensaje, debe ser corregido. Pero, cosas como omitir una letra, o repetir una letra dos veces, es mejor dejarlos tal cual.
Todos estos métodos estaban muy bien, pero para poder descifrar todo el tráfico que se necesitaba hacían falta otros medios más sistemáticos y contundentes. Turing tenía claro que para romper el código generado por una máquina era necesaria otra máquina. Así surgió la idea de la Bomba; como homenaje a la bomba de los polacos en la que se inspiró.

(continuará)
Nunca se hace el mal tan plena y alegremente como cuando se hace por motivos de conciencia (B. Pascal)

Avatar de Usuario
fermat
Miembro
Miembro
Mensajes: 287
Registrado: Dom Oct 19, 2008 9:26 pm

Re: Las Claves de Enigma

Mensaje por fermat » Jue Oct 29, 2020 7:44 pm

LA BOMBA DE TURING.
La bomba de Turing era un dispositivo electromecánico que pesaba cerca de una tonelada y medía alrededor de dos metros de alto por dos metros de ancho y sesenta centímetros de profundidad. Consistía en tres conjuntos de rotores. Cada uno de dichos conjuntos constaba de doce tríos de rotores conectados entre sí. En resumen, cada trío de rotores era una máquina Enigma; así pues una Bomba permitía emular el funcionamiento de 36 máquinas Enigma simultáneamente. La Bomba no tenía reflector; sino que las salidas de cada trío de rotores se conectaban en la parte trasera de la máquina, de acuerdo con un procedimiento específico.
Las Bombas fueron construidas por la empresa BTM (British Tabulating Machines) bajo la dirección del ingeniero Harold “Doc” Keen. Como curiosidad, esta empresa es actualmente propiedad de un consorcio germano-japonés.
De acuerdo con las ideas de Turing, la Bomba funcionaba según el principio del known plaintext (texto claro conocido). Es decir, se partía de la base de que en el mensaje que se estaba analizando aparecía una determinada frase o fragmento de texto; y se trataba de averiguar cuál era la configuración de Enigma que daba lugar al texto cifrado correspondiente al texto claro. En realidad, la filosofía de funcionamiento de la bomba era más bien la opuesta; lo que hacía era descartar configuraciones que eran imposibles. Entonces, aquellas no descartadas resultaban ser las configuraciones posibles que se analizaban una a una.

Los fragmentos de texto que se suponían conocidos recibían el nombre de “cribbs”; y existían muchos procedimientos distintos para obtenerlos. En general las cribbs se obtenían a partir de frases típicas usadas por los operadores alemanes, y que podían depender del tipo de mensaje, de la estación de procedencia del mensaje, etc. Así, algunas cribbs habituales eran:
- FORTYWEEPYWEEPY. Esta cribb era muy típica de mensajes que eran continuación de otro anterior. Esto pasaba, por ejemplo, en mensajes enviados cerca de las 12 de la noche; en ese caso un mensaje se mandaba con una clave, y la continuación con la clave del día siguiente. Esto se indicaba con un preámbulo que incluia la palabra FORT (abreviatura de la palabra alemana Fortsetzung que significa continuación), y después se añadía la hora, repetida, en la que se mandó el mensaje anterior. Para indicar que se trataba de números se escribían, entre letras Y, las letras del teclado de la Enigma que representaban números de forma correlativa. Así YWEEPY representaba 2330, las once y media de la noche. De ahí lo de FORTYWEEPYWEEPY.
- Para mensajes que contuviesen partes meteorológicos la cribb más habitual era WETTERBERICHT, informe meteorológico.
- Se encontró que la palabra más habitual en los mensajes Enigma era EINS (uno, en alemán). En consecuencia se hizo un catálogo de “unos”, con todas sus posibles codificaciones de acuerdo con la configuración de la máquina.
Se identificaron determinadas estaciones de Enigma en donde los operadores repetían casi a diario las mismas frases. Por ejemplo:
- Noche tranquila, usada por un operador en el norte de África.
- Avión de la RAF sobrevolando el aeropuerto, usada por un operador en Francia.
- Buenos días, usada por un operador en Noruega.
- Nada que reportar, usada por un operador en el Africa Korps.
- El tiempo en el Golfo de Vizcaya será…, este mensaje lo enviaba todos los días a las 7:00 h una estación meteorológica en el Golfo de Vizcaya. Interceptar, todos los días, este mensaje se convirtió en una prioridad.

A veces, cuando no se encontraban cribbs adecuadas se utilizaba lo que se llamaba “gardening”. Consistía en pedir a la RAF que llevase a cabo una determinada acción; por ejemplo, lanzar minas en un determinado puerto. A continuación se monitorizaba el tráfico de radio de la zona, y se suponía que los mensajes contendrían frases tales como: aviones de la RAF, lanzamiento de minas, etc.
Sea como fuese que se obtuviese la cribb, el siguiente paso era introducir esa información en la Bomba. Eso se hacía mediante lo que se llamaba Menú. Un Menú era una sucesión lógica de permutaciones de letras correspondientes a las distintas posiciones de los rotores en cada letra de la cribb. Dicha sucesión debía dar lugar a, al menos, dos bucles. Si se disponía de ellos, se conectaban los rotores de la bomba de acuerdo con el Menú, y la máquina chequeaba todas las posiciones y órdenes posibles de los rotores. Cuando se llegaba a una configuración posible, se detenía la Bomba. Los operadores, por lo general mujeres conocidas como Wrens (Women’s Reserve Naval Service), tomaban nota del resultado y lo pasaban a los criptoanalistas. Luego, rearmaban la Bomba para que siguiese comprobando posibles configuraciones. Veamos esto con un ejemplo.

Supongamos que tenemos una buena cribb. Para ello, lo suyo es que tuviese entre 10 y 14 letras, de lo contrario sería muy posible que el rotor medio hubiese girado y entonces el método era mucho más complejo. Utilizando el castellano (para no hacerlo más lioso) tenemos como cribb: ATACARDENOCHE. Tiene 13 letras, así que parece una buena cribb. Suponemos que el mensaje cifrado que hemos interceptado es: XHKEAHDRTPKSAEDUWODUEMGLCZW…
Lo primero que hay que ver es donde encajar nuestra cribb en ese mensaje. Para ello se escriben uno encima de otro:
ATACARDENOCHE
XHKEAHDRTPKSAEDUWODUEMGLCZW
La posición anterior no es posible, ya que la letra D (séptima posición) se cifraría como D; y eso sabemos que es imposible en la Enigma. Probamos otra, desplazando la cribb hacia la derecha una posición:
..ATACARDENOCHE
XHKEAHDRTPKSAEDUWODUEMGLCZW
Tampoco es posible porque la letra E (decimotercera posición) se cifraría como E. Probamos la siguiente:
....ATACARDENOCHE
XHKEAHDRTPKSAEDUWODUEMGLCZW
Nuevamente es imposible. La letra R (sexta posición) se cifraría como R. Probamos otra:
......ATACARDENOCHE
XHKEAHDRTPKSAEDUWODUEMGLCZW
Aquí ninguna letra se cifraría como ella misma. Por tanto es una posición posible. A partir de ella construimos el Menú.
Recordemos que, debido a la reciprocidad de la Enigma, en cada posición de la cribb las letras cifrada y clara se corresponden una con otra. Por tanto la relación que encontramos se presenta en la figura siguiente.

Imagen

La representación muestra las letras de la cribb y como se relacionan con otras en distintas posiciones. Así por ejemplo veamos el primer bucle: A se cifra como E en la posición 1, que a su vez se cifra como C en la posición 11, que a su vez se cifra como D en la posición 4, que a su vez se cifra como H en la posición 12, que a su vez se cifra como A en la posición 3.
En este menú tenemos dos bucles, lo cual es de gran ayuda para encontrar una solución de forma más o menos rápida. Ahora hay que meter ese menú en la Bomba. Puesto que tenemos 12 vínculos entre letras, vamos a necesitar 12 tríos de rotores (12 réplicas de Enigma). En el primer trío ponemos la entrada en la letra A, y conectamos la salida con la entrada C del trío 11 (cuyo rotor rápido habremos desplazado 10 posiciones respecto al primero). A continuación la salida del trío 11 se conecta con la entrada D del trío 4 (cuyo rotor rápido habremos desplazado tres posiciones respecto al primero). Procediendo de la misma forma se van generando las distintas conexiones en la máquina. Una vez concluido se pone a funcionar la Bomba y se aplica corriente a la entrada. Hay que tener en cuenta que las letras que entrarían en los rotores de la Enigma real no son las de la cribb, ni las que salen de los rotores son las del texto cifrado; ya que tenemos el panel de clavijas. Por ese motivo, cada bucle se debe probar para todas las letras de entrada. Por ejemplo en el primer bucle descrito empezaríamos probando con la A. Los rotores empiezan a girar y van probando todas las combinaciones de rotores posibles. Puesto que estamos materializando los bucles del menú, lo que se debe encontrar es una posición de rotores en la que la salida del último trío del bucle, coincida con la entrada que hemos introducido. En nuestro ejemplo la salida del trío de rotores 3 tiene que ser A, y la salida del trío de rotores 2 tiene que ser también A. Si no se encuentra ninguna posición en la que se materializa el bucle, puede ser porque la letra A esté conectada en panel de clavijas con otra letra distintas. Entonces se probaría introduciendo B, en lugar de A; y luego C, D, etc. Hasta chequear todas las posibilidades. Cuando se encuentra una posición en la que se materializan los bucles del menú, la máquina se para. La posición correspondiente de los rotores representa una configuración posible de Enigma.

La Bomba tardaba unos 20 minutos en chequear las 17576 posiciones de los rotores, las posiciones de las paradas de la Bomba se pasaban a los criptoanalistas y se chequeaba una nueva posición de la cribb. Una vez que el mensaje se había descifrado, se pasaba a otro.
En el ejemplo anterior hemos visto que se necesitan 12 tríos de rotores para comprobar un solo orden de rotores. En cada Bomba había tres bancos de 12 tríos, así que se podían chequear 3 órdenes simultáneamente. Si tenemos una Enigma con cinco rotores, entre los cuales elegir tres; tenemos 60 órdenes posibles; es decir que se necesitan 20 Bombas para comprobar todos los órdenes. En caso contrario, con una sola Bomba, necesitamos 400 minutos casi 7 horas para una sola cribb en un solo mensaje.

Está claro que estos tiempos son excesivos cuando se tiene un tráfico de mensajes muy alto; y se necesita descifrarlos cuanto antes. Este problema se solventó de distintas formas.
En primer lugar, Gordon Welchman uno de los colaboradores de Turing, introdujo la Diagonal Board. La Diagonal Board era una forma de conectar los rotores de la Bomba entre sí, de forma que de una pasada se podían chequear a la vez que las posiciones de los rotores y las conexiones del panel de clavijas; descartando aquellas no posibles. Este dispositivo permitió reducir mucho el tiempo de Bomba necesario para comprobar cada cribb. Además, se podían utilizar cribbs más cortas, y no era necesario que los menús tuviesen bucles. Fue, sin duda, el añadido más importante que se hizo a la Bomba de Turing.
Otra técnica, llamada Bamburismus, desarrollada por Turing para atacar la Enigma de la Kriegsmarine, era parecida a la técnica del reloj que utilizaron los polacos en su ataque a Enigma. Turing, perfeccionó esa técnica; y le servía para determinar cuál era el rotor rápido de la Enigma, y para encontrar cribbs que no dieran lugar a falsas paradas de la máquina. Con todo ello se reducían mucho el tiempo de Bomba necesario para chequear los mensajes.
Por último, los problemas de escasez de tiempo de Bomba se terminaron cuando los Estados Unidos entraron en la guerra; y, en particular, cuando la US Navy decidió participar en la tarea de descifrar el tráfico de mensajes de la Kriegsmarine, desarrollando sus propias Bombas. En ese momento, muchas veces no merecía la pena utilizar Bamburismus y se iba directamente a un ataque de fuerza bruta.

LA ENIGMA NAVAL
El mayor desafío que hubo de afrontar Turing, y sus compañeros del Hut 8, fue el descifrado de la Enigma Naval. El almirante Doenitz no confiaba del todo en la seguridad de la Enigma y por tal motivo insistió en aumentarla todo lo posible, especialmente la usada en el arma de submarinos. En 1939 la Kriegsmarine introdujo la Enigma M3 que se distinguía de las del Heer y la Luftwaffe (modelo Enigma I) porque disponía de ocho rotores entre los que seleccionar los tres que se montaban en la máquina. Los rotores del I al V eran idénticos a los de la Enigma I, mientras que los rotores del VI al VIII eran exclusivos de la Kriegsmarine. Esto suponía una complicación importante ya que, en teoría, aumentaba los órdenes posibles de rotores de 60 a 336. Además, los tres nuevos rotores tenían dos posiciones en las que transmitían el movimiento al rotor situado a su izquierda; y eran las mismas posiciones para los tres rotores. Esto hacía mucho más difícil la identificación del rotor derecho cuando uno de ellos se colocaba en esa posición. No contentos con ello, en 1942 se añadió un cuarto rotor que podía montarse en la máquina surgiendo así la Enigma M4. Sin embargo, esto no resultó ser tan fácil, ya que la máquina debía ser capaz de relacionarse con las Enigma M3 de la Kriegsmarine; y además había que tener en cuenta las restricciones impuestas por el tamaño y diseño originales de la máquina Enigma modelo M3, que no se podía modificar radicalmente. Lo que se hizo fue diseñar el cuarto rotor de manera que fuese más delgado; y, junto con un nuevo reflector también más delgado, se podía instalar en la máquina original sin alterar su tamaño. El cuarto rotor se podía instalar en cualquiera de las 26 posiciones posibles, pero no era intercambiable con los otros tres; es decir solo se podía instalar en la posición izquierda. Además, para no complicar el diseño de la máquina se decidió que ese cuarto rotor no girase. Esto también venía dado por el hecho de que para asegurar la compatibilidad con el modelo M3, el cuarto rotor tenía una posición neutra (la que correspondía a la letra A) en la que la máquina M4 funcionaba exactamente igual que el modelo M3. Si el cuarto rotor hubiese girado, una Enigma M4 no se hubiese podido comunicar con una Enigma M3. Así que este nuevo rotor solo añadía un factor 26 al espacio de claves. En cierto modo era como tener un reflector que se pudiera poner en distintas posiciones.

En cualquier caso la introducción de la Enigma M4, junto con el complicado código “Shark”, planteó un serio desafío a los criptoanalistas de Bletchley Park, que de repente dejaron de poder leer el tráfico de mensajes de los U-Boat. La situación se prolongó durante unos nueve meses en los que los submarinos alemanes se cobraron numerosas víctimas entre el tráfico de convoyes (lo que se conoció en la Kriegsmarine como “Tiempos Felices”).
La cosa mejoró con la captura, por parte de la Royal Navy, de importante material criptográfico en especial los libros de códigos (Kurzsignal) que se empleaban para cifrar la clave del mensaje, antes de cifrarla nuevamente con la Enigma, libros de claves diarias, etc. Con todo ello Turing fue capaz de reconstruir el procedimiento usado por la Kriegsmarine en el código Shark. Una vez más, Bletchley Park fue capaz de leer el tráfico de mensajes de la marina alemana.

Esta breve descripción de la Enigma Naval ilustra un poco la diferencia que existe, en criptografía, entre seguridad y complejidad. El objetivo de la Kriegsmarine al desarrollar la Enigma M4 era aumentar la seguridad de sus comunicaciones, sin embargo no lo consiguieron, tan solo aumentaron la complejidad. Las debilidades de Enigma que comprometían su seguridad, se mantuvieron en la M4; en particular los Principios de Exclusividad y Reciprocidad. Por ese motivo las técnicas para descifrar los mensajes de la M3 eran igualmente válidas para la M4. Las bombas, las cribbs, bamburismus, etc., se pudieron seguir usando con éxito.
Lo único que implicó la M4 es que se necesitaban más recursos; más bombas, bombas de cuatro rotores, etc.; y por supuesto se necesitaban libros de códigos, libros de claves… Todo eso se consiguió gracias a las capturas de naves alemanes en las que se pudo rescatar material criptográfico intacto; y cuando la US Navy se implicó en la tarea hubo bombas de cuatro rotores en número suficiente.
Y con esto doy por concluido este tema que espero que os haya resultado de algún interés. Si tenéis cualquier comentario; será, por supuesto, bienvenido.

Fuentes
Las fuentes sobre Enigma y los métodos de descifrado que se utilizaron son muy abundantes. A continuación proporciono algunas de las que, en mi opinión, son más interesantes; y por tanto he usado principalmente para desarrollar este tema.
Copeland, J. Editor. The Essential Turing: Seminal Writings in Computing, Logic, Philosophy, Artificial Intelligence, and Artificial Life: Plus The Secrets of Enigma. Oxford University Press, 2004.
Durand-Richard, Marie-José & Guillot, Philippe. From Poznan to Bletchley Park: The history of cracking the ENIGMA machine.
Gaj Kris & Orklowski Arkadiusz. Facts and myths of Enigma: breaking stereotypes, Eurocrypt 2003 Proceedings, Lecture Notes on Computer Science 2656.
Miller, A. R. The Cryptographic Mathematics of Enigma, Center for Cryptologic History, National Security Agency, 1996.
Rejewski Marian. An application of the Theory of Permutations in Breaking the Enigma Cipher, Applicationes Mathematicae, 16, n°4, Varsovia, 1980.
Rejewski Marian. How Polish Mathematicians Deciphered the Enigma. IEEE Annals of the History of Computing, Vol. 3, No. 3, July 1981.
Rejewski Marian. Mathematical solution of the Enigma cipher. Cryptologia, January 1982.
Sale, Tony, The Bletchley Park translated Enigma Instruction Manual. 2001.
Stengers, Jean. Enigma, the French, the Poles and the British 1931 -1940. In: Revue belge de philologie et d'histoire, tome 82.
Turing, Alan. Treatise on Enigma. National Archives and Records Administration (NARA), Record Group 457, NSA Historical Collection, Box 201, Nr. 964.
Wilcox, Jennifer, Solving the Enigma: History of the Cryptanalytic Bombe, Ft. George G. Meade: Center for Cryptologic History, National Security Agency, 2006.
Nunca se hace el mal tan plena y alegremente como cuando se hace por motivos de conciencia (B. Pascal)

Avatar de Usuario
Prometeo
Miembro
Miembro
Mensajes: 69
Registrado: Lun Sep 29, 2014 8:18 pm

Re: Las Claves de Enigma

Mensaje por Prometeo » Mar Nov 10, 2020 10:02 pm

Hola:

Objetivo conseguido. Resulta de mucho interés. Impresionante trabajo.

Veo que la cantidad de recursos que dedicaron los aliados a la desencriptación fue enorme.

Contrasta con el minimalismo organizativo de por ejemplo el arma submarina. Entiendo que en su cabeza no entrase la posibilidad de que fuese descifrado el enigma.

Muchas gracias Fermat
“La guerra es un lugar donde jóvenes que no se conocen y no se odian se matan entre sí, por la decisión de viejos que se conocen y se odian, pero no se matan”.

Erich Hartman

Responder

Volver a “Espionaje”

TEST