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: 264
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: 264
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
Usuario
Usuario
Mensajes: 26
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: 264
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: 264
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)

Responder

Volver a “Espionaje”

TEST