Vamos a dar un paso más en lo que al cifrado de mensajes se refiere y que culminará en la máquina de codificación más temible y famosa de la Segunda Guerra Mundial: la máquina Enigma.
Primero, no obstante, he de explicaros el cifrado de Vigenère. Básicamente consiste en un cifrado de sustitución, como el citado anteriormente del artículo de María Estuardo, pero diferente para cada letra en función de una clave. No os asustéis: vayamos por partes. Os muestro a continuación la tabla de Vigenère:
Es una tabla con los alfabetos empezando cada vez por una letra posterior. La mejor forma de ver como funciona es explicando un ejemplo. Seguiré el mismo de la Wikipedia.
mensaje: P A R I S V A U T B I E N U N E M E S S E
clave: L O U P L O U P L O U P L O U P L O U P L
criptograma: A O L X D J U J E P C T Y I H T X S M H P
La clave es LOUP y así se va repitiendo letra tras letra. Vamos a codificar la primera P. Tomamos dicha P (del texto) de la primera fila y la L (de la clave) de la primera columna. Vemos que se cortan en la A y esa es la primera letra cifrada (está destacado en rojo en el gráfico anterior). Ahora vamos a cifrar la A. Análogamente, tomamos la A de la primera fila y la O de la primera columna: tenemos la O. para la R, la tomamos también de la primera fila y la U de la primera columna y vemos que se cruzan en la L (destacado en azul en el gráfico anterior). Y así sucesivamente.
Si alguien intercepta el mensaje y no conoce la clave no podrá descifrarlo a priori sin conocer la clave; aunque sepa que es una codificación de Vigenère. Los métodos estadísticos no sirven, ya que la misma letra puede ser codificada de formas diferentes. A primera vista, parece imposible de descifrar, pero los criptoanalistas son gente muy hábil. Y lo consiguieron. Resulta que si conocemos la longitud de la clave ya podemos atacar el problema. Supongamos, como en este caso, que sabemos que la longitud de la clave es 4 (LOUP). Lo único que hay que hacer es un análisis estadístico para las posiciones 1, 5, 9, …; otro para 2, 6, 10, …; otro para 3, 7, 11, …; y finalmente otro para 4, 8, 12, … ya que el cifrado se repite cada cuatro posiciones y, por tanto, cada cuatro posiciones, tenemos una sustitución simple resoluble con los métodos estadísticos.
Para averiguar la longitud podemos hacerlo a través de la búsqueda de repeticiones en el texto (requiere una explicación, y la encontraréis en el libro que cito en fuentes). Recordad que siempre estamos pensando en un texto suficientemente largo. Ya podéis intuir que el secreto de la cifra Vigenère está en el tamaño de la clave: a clave más larga, mayor dificultad.
Esta codificación es obra, obviamente, de Blaise de Vigenère y estoy hablando de allá por el año 1585.
Vamos ahora al año 1918 en el que el inventor alemán Arthur Scherbius y su íntimo amigo Richard Ritter fundaron la compañía Scherbius y Ritter, una innovadora empresa de ingeniería que englobaba todo, desde turbinas hasta almohadas eléctricas. Uno de los proyectos de Scherbius era sustituir los inadecuados sistemas de criptografía empleados en la Primera Guerra Mundial. En lugar de utilizar lápiz y papel había que sacar partido a la tecnología de la época, y con esa idea desarrolló la máquina Enigma.
Fue una obra maestra de la ingeniería. Es casi imposible explicarla por completo, pero sí se puede tener una idea de su funcionamiento. Básicamente, tenemos un teclado para escribir el texto que queremos cifrar, una unidad modificadora y un tablero expositor para mostrar el resultado de la codificación. La parte más interesante es esa unidad modificadora. En la figura siguiente vemos una de las ruedas que la componían pero con un alfabeto de seis letras para simplificar el dibujo (en minúsculas, el texto sin cifrar; en mayúsculas, el texto cifrado):
Para codificar el texto plano, el operador pulsa una letra y el el grueso disco de goma plagado de cables hace una función que la transforma antes de salir en el tablero. En este caso, el mensaje “café” sería codificado como “DBCE”. Si fuera sólo así, tendríamos una codificación de sustitución y ya sabemos cómo descifrarla.
La idea de Scherbius era que cada vez que se codificara una letra, esa rueda girase un sexto de vuelta (un veintiseisavo de revolución para un alfabeto completo de 26 letras). Al dar ese sexto de vuelta, la codificación de la siguiente letra será diferente y no la que tenía al principio. En nuestro caso, la primera vez que codificáramos la b obtendríamos la A, pero justo después, el modificador gira y si volvemos a codificar la b obtendremos la C; y la siguiente vez obtendremos la E (observad los cables que las unen).
Problema: a la que se hayan puesto 6 letras, el ciclo vuelve a empezar y volvemos a tener la posición inicial. Tenemos un cifrado de Vigenère con una clave de 6 letras (en el caso real de 26 letras): una clave demasiado pequeña.
para resolver este problema, Scherbius puso un segundo disco modificador de modo que, cuando el primer disco daba una vuelta completa, el segundo giraba una posición. Aquí os muestro dos posiciones con dos modificadores en que el segundo modificador está en la misma posición, pero la del primero ha cambiado:
ahora, en lugar de tener 6 posibles cambios de letra, tenemos 6*6=36 cambios. Recuerdo que el 6 era a modo simple y para simplificar; en realidad, hemos pasado a una clave de 26 a 26*26=676 posiciones. No contento con ello, Scherbius añadió un tercer modificador: cuando el segundo disco había dado una vuelta, el tercero avanzaba una posición. Así que tenemos 26*26*26=17.576 disposiciones diferentes de los modificadores, o sea, un cifrado de Vigenère con una clave de longitud 17.576.
Y fijaos en la gracia de la máquina: no sólo tenemos un buen cifrado sino que, además, la clave va en función de la posición inicial de los tres rotores; si variamos la posición inicial de los rotores el cifrado es totalmente diferente. Aunque descubrieramos la posición inicial un día, podían cambiarla al día siguiente y volveríamos a estar en el mismo problema.
Por fin, hay un añadido más que es el Reflector (ahora explico su utilidad) antes de llegar al tablero.
Para codificar un mensaje, necesitábamos un operador con una máquina Enigma que lo introducía y cada vez que pulsaba una letra los discos se movían y daba el mensaje cifrado en el tablero.
Posteriormente, el mensaje cifrado ilegible para el enemigo llegaba al destino donde tenían otra máquina Enigma esperando con los rotores puestos en la misma posición de partida que la máquina que lo generó. Acto seguido, se introducía el mensaje cifrado y, gracias al reflector, reproducía el mensaje original. ¿No os parece un invento fantástico?
Lo potente de esta máquina es que, aunque el enemigo fuera capaz de tener una, no podía hacer nada sin conocer las posiciones iniciales de los modificadores. Si alguien interceptaba un mensaje y tenía una Enigma, tenía que ir probando alguna de las 17.576 posiciones iniciales de los modificadores y ver si salía algún mensaje inteligible; si no, probar una segunda y así sucesivamente. Si el descifrador pudiera probar una combinación por minuto y trabajar día y noche le llevaría dos semanas averiguar el mensaje. ¿Imposible de descifrar en un tiempo aceptable?
Aun así, Scherbius no quedó satisfecho. Podría haber añadido más modificadores, ya que cada uno de ellos aumentaba la dificultad multiplicando por 26, pero esto hubiera agrandado el tamaño de la máquina. Así que añadió dos nuevos rasgos. El primero fue que los modificadores fueran intercambiables, es decir, que podía poner, por ejemplo, el tercer rotor en primer lugar, el segundo en tercer lugar, etc. Hay seis maneras de poner tres modificadores, de manera que el número de claves aumenta. El segundo rasgo fue la introducción de un clavijero que podía intercambiar letras en grupos de 6.
Resumiendo: tenemos 26*26*26=17.576 posibles combinaciones de los tres modificadores y si añadimos las 6 formas de poder poner los modificadores y el clavijero con el que podemos intercambiar 6 pares de letras entre 26 posibles tenemos del orden de billones de claves posibles.
Ya habréis notado que la parte que más contribuye al número de claves es el clavijero. ¿Por qué no poner simplemente un clavijero? Pues porque, por sí mismo, hace de sustitución monoalfabética y mediante un análisis de frecuencia sería cazado rápidamente; pero combinando dicho clavijero con los modificadores, los análisis de frecuencia no nos sirven.
Scherbius obtuvo una patente en 1918. Los alemanes concluyeron que era la mejor solución para sus comunicaciones. A partir de 1925 y durante las dos décadas siguientes, el ejército alemán compró más de 30.000 máquinas Enigma, lo que les proporcionó el sistema de cifrado más seguro del mundo. Al estallar la Segunda Guerra Mundial sus comunicaciones estaban protegidas por un nivel de codificación sin precedentes.
El talón de Aquiles era que acabaran descubriendo la clave, así que los alemanes optaron por cambiarla cada día. Los aliados, por tanto, tenían un día para averiguarla. Al empezar el día siguiente, vuelta a empezar de cero. Por supuesto, las claves de cada día tenían que ser conocidas tanto por emisor como por receptor. Para ello, tenían un libro de códigos que decía las diferentes posiciones iniciales de los modificadores así como los cambios de pares de letras del clavijero.
Y por si todo ello no fuera suficiente, tomaron la precaución de transmitir una nueva clave para cada mensaje. O sea, aprovechando la clave del día se transmitían una nueva clave. Imaginemos, por ejemplo, que la clave del día de los modificadores era QCW. Pues utilizando esa posición se transmitían PGHPGH (lo hacían dos veces para asegurarse que se recibía correctamente la nueva clave) y el receptor recibía, por ejemplo KIVBJE (recuerdo que las letras cambiaban a cada pulsación). En ese momento, ambos cambiaban los modificadores a la nueva posición PGH y empezaba el mensaje cifrado real.
Tal y como los franceses dieron la batalla del desciframiento por perdida, los polacos no. Su Biuro Szyfrów organizó un curso de criptografía e invitó a 20 matemáticos que sabían hablar alemán. Les tomaron juramento y escogieron a tres de ellos por sus aptitudes. El que más destacó fue un joven de 23 años llamado Marian Rejewski. Era tímido, con gafas pero trabajando totalmente solo, con una Enigma en sus manos y con la información que os he dado fue capaz de descifrar los mensajes de los alemanes
Ver funcionamiento pincha aqui
El período de entreguerras ve el principio de la mecanización de la criptografía. Se ponen algunas herramientas mecánicas, como los cilindros de calculo, a disposición de los operadores, y de las máquinas electromecánicas, se ponen en el punto. Estas máquinas funcionan sobre el principio de los rotores y contactos eléctricos, con el fin de realizar formas de sustitución polialfabéticas cuya clave tiene una longitud gigantesca del orden de centenares de millones de letras, en vez de algunas decenas en los métodos artesanales, como la cifra de Vigenère.
Enigma es la máquina de cifrar y descifrar que utilizaron los ejércitos alemanes del principio de los años treinta hasta el final de Segunda Guerra Mundial. Automatiza la codificación por sustitución. Como se puede verse al lado, esta máquina se asemeja a una máquina de escribir. Cuando se presiona sobre una tecla, dos cosas pasan. En primer lugar, una carta se enciende sobre el panel luminoso: es la carta calculada. En segundo lugar, un mecanismo hace volver al rotor de derecha de una muesca; todos los 26 mecanografiados, el segundo rotor vuelve de una muesca, todos los 676 mecanografiados (26 al cuadrado), es el tercer rotor que vuelve de una muesca. Determinado Enigmas tenían 3 rotores, las del Kriegsmarine tenían 4 ó 5 (se pueden percibir estos 4 cilindros grises sobre la parte de la máquina adjunta). Estos rotores giratorios modifican las conexiones eléctricas en la máquina, lo que supone que la tecla "A" encenderá quizá el "B" la primera vez, pero el "X" el segundo, el "E" el tercero, etc. Un "cuadro de conexiones" y un "reflector" complica aún el sistema. El lado brillante de esta máquina es que aunque cae entre las manos enemigas, no se compromete su seguridad. En efecto, es el número asombroso de ajustes de la máquina que hace su fuerza y los ajustes cambiaban cavidad cada día. Se pueden en efecto cambiar el orden de rotores, su orientación inicial y la conexión del cuadro de conexiones. Por ejemplo, se podía especificar la clave del día así:
Posición de los rotores: 2 - 3 - 1
Orientaciones de los rotores: 2 - 23 - 5
Conexiones de las conexiones: A/L - P/R - T/D - B/W - K/F - O/Y
Indicadores: B - W - E
Así pues, conocer el funcionamiento de la máquina no ayuda (casi) no a descifrar los mensajes que produce. Todo el problema consiste en encontrar el buen ajuste. Es con este fin que se produjeron las bombas de Turing.
El principio del Enigma
El principio básico de las máquinas Enigma concebidas por Scherbius se basa en la utilización de rotores que transforman el alfabeto claramente (tenido en CUENTA
en minúsculas) en alfabeto calculado (en mayúsculas). para ilustrarlo mejor, nos limitaremos a un alfabeto de seis cartas. He aquí la representación del una de estos famosos rotores, así como el esquema equivalente que permite seguir mejor la operación "con los dedos".
Esquema 1
Si se afecta la carta b sobre el teclado, una corriente eléctrica se envía en el rotor, sigue el cableado interno, luego resulta a la derecha para encender la carta Asobre el cuadro luminoso. b se calcula pues en A. Ídem para las cinco cartas restantes: a se convierte en B, b se convierte en A, c se convierte en D, d se convierte en F, e se convierte en E y f se convierte en C.
Otro principio básico: cada vez que se mecanografía una carta al teclado, el rotor vuelve de una muesca. Así pues, b se convierte en A la primera vez, pero b se convierte en C la segunda vez (véase esquema 2, a la derecha), luego b se convierte en E, etc.
Esquema 2
En nuestro ejemplo se calcula la palabra recipiente ADD (y no ABD si el rotor hubiera seguido siendo inmóvil). Para aumentar el número de combinaciones posibles - y frustrar las tentativas de los cryptanalystes -, Scherbius asoció varios dispositivos, tal como se indica sobre el esquema 3.
Esquema 3
El cuadro de conexiones permite revolver las pistas en que conecta dos cartas del teclado entre ellas (aquí tiene y b). Así pues, cuando se mecanografía b, la corriente toma en realidad el circuito previsto para tiene. Los tres perturbadores asociados multiplican así el número de combinaciones. El segundo y el tercero avanzan respectivamente de una muesca cuando el primero y el segundo han hecho una vuelta completa. En cuanto al reflector, devuelve la corriente en el dispositivo hasta el panel luminoso donde la carta criptada se indica. Su papel no es aumentar el número de combinaciones posibles, sino facilitar considerablemente la tarea del destinatario. En efecto, si b se convierte en C en nuestro ejemplo (en rojo), se tiene también c se convierte en B. Y es válido para todos los pares de cartas clara/criptada Consecuencia: si la palabra borrador es calculada ACBFEB por la emisora, bastará al operador que recibe el mensaje criptado de mecanografiar acbfebsobre su teclado para ver las cartas E, F, F, A, C, E encenderse. Solamente condición: los dos operadores distantes deben haber regulado su máquina Enigma de la misma forma.
El applet abajo, escrito por Frédéric Bayart (véase referencias), muestra las vísceras de una máquina Enigma simplificada (so'lo posee 2 rotores, y 6 cartas). Para utilizarlo, basta con presionar una de las cartas; el trayecto de la corriente se indica entonces, y una bombilla se enciende. Al presionar "Etapa siguiente", los rotores vuelven y se puede mecanografiar una nueva carta.
Al final, si se corresponde a la máquina Enigma equipadas para 26 cartas, se tiene:
26 x 26 x 26 = 17' 576 combinaciones vinculadas a la orientación del cada uno de los tres perturbadores,
6 combinaciones posibles vinculadas al orden en el cual están dispuestos los perturbadores,
100' 391' 791' 500 conexiones posibles cuando se conectan los seis pares de cartas en el cuadro de conexiones.¡Las máquinas Enigma pueden pues calcular un texto según 17' 576 x 6 x 100' 391' 791' 500 = 10' 000' 000' 000' 000' 000 combinaciones diferentes!
Alan Turing: El descifrado de la máquina Enigma
Muchos han sido los artículos que se han publicado con motivo del centenario del nacimiento de Alan Turing (1912-1954), así como los actos que se han organizado. En este blog también se han abordado distintos aspectos de sus aportaciones y se han destacado sus ingeniosas ideas. Uno de sus logros más extraordinarios ha sido sin duda alguna su labor como criptoanalista. Durante la segunda guerra mundial, su colaboración con el servicio secreto británico condujo a descifrar los códigos producidos por la máquina criptográfica del ejército alemán denominada Enigma. En este artículo nos vamos a centrar pues en los procesos de cifrado y descifrado de esta máquina.
La máquina Enigma
Después de la primera guerra mundial, el inventor alemán Arthur Scherbius y su amigo Richard Ritter fundaron una empresa de ingeniería y crearon la máquina Enigma con la finalidad de venderla no solo al ejército sino también a muchas empresas del país. La máquina iba en una caja de dimensiones 34cm x 28cm x 15cm y pesaba unos 12 kg.
Básicamente, estaba formada por tres componentes conectadas por cables que combinados constituían una compleja máquina para cifrar: Un teclado para escribir cada letra del texto en claro; una unidad modificadora formada por tres rotores, un clavijero y un reflector; y un tablero donde quedaba iluminada la letra cifrada.
Cada rotor era un disco con dos caras y con 26 contactos eléctricos, uno por cada letra del alfabeto. El clavijero estaba colocado entre el teclado y el primer rotor, con el objetivo de intercambiar 6 pares de letras. Mientras que el reflector conseguía que al codificar un mensaje cifrado, usando la mismas posiciones iniciales de los rotores y los mismos pares de letras interconectadas en el clavijero, se obtuviese el mensaje en claro.
Podemos imaginar el efecto de un rotor como el de una permutación en las posiciones de las letras del alfabeto, con la característica que cada vez que se codifica una letra, el rotor se desplaza una posición y, por tanto, la permutación sobre el alfabeto es distinta. Sin embargo, al codificar 26 veces una letra obtendríamos su codificación inicial.
Para evitar precisamente esa repetición, nunca deseada en criptografía, la máquina constaba de tres rotores, de manera que al codificar una letra saltaba una posición el rotor más rápido, el de más a la derecha. Una vez había dado una vuelta entera, empezaba a rotar el de en medio (para cada nuevo movimiento había que esperar los 26 movimientos del rotor rápido) hasta llegar al menos rápido que era el de la izquierda.
En un principio Scherbius no tuvo el éxito que imaginaba vendiendo máquinas Enigma, sino más bien al contrario. Sin embargo, unos años más tarde, el ejército alemán se decidió a comprar la máquina Enigma a raíz de dos informes británicos publicados en 1923, sobre material criptográfico interceptado en la I guerra mundial:The World Crisis de Winston Churchill e Historia oficial de la I guerra mundial publicada por la Marina Real británica.
En 1925 Scherbius se lanzó a fabricar máquinas Enigma en serie. El ejército alemán durante los siguientes años compró más de 30000 máquinas Enigma y empezaron a enviar mensajes cifrados. Cada mes los operadores de Enigma recibían un nuevo libro de códigos con las claves que se debían usar cada día:
Las posiciones del clavijero: A/D C/G M/P R/S T/F L/U
La disposición u orden en que se colocaban los rotores: 2-1-3
Las posiciones iniciales de los rotores: S M E
El número total de claves de esta primera máquina Enigma era
Descifrar Enigma parecía inabordable...
Primeros intentos de descifrar Enigma
En 1926, criptoanalistas británicos y de distintos países empezaron a interceptar mensajes procedentes de la máquina Enigma, pero sin posibilidad alguna de descifrarlos, hasta que en 1931 Hans-Thilo Schmidt, resentido por como lo había tratado el ejército alemán, pasó a los aliados documentación de Enigma, que les permitiría crear una réplica. Ello no significaba aún poder descifrar los mensajes, pero sí el reto de saber cómo encontrar la clave.
En Polonia, nación que se sentía amenazada por si estallaba una segunda guerra, decidieron reforzar su oficina de criptoanálisis, el Biuro Szyfrów, fichando un grupo de matemáticos, entre los que se encontraba Marian Rejewsky (1905-1980).
Como precaución los alemanes decidieron usar la clave del día sólo para transmitir la clave de mensaje (las posiciones iniciales de los rotores). No obstante, el uso repetido de una sola clave del día debilita el sistema. Rejewsky, intentó aprovechar las repeticiones de las codificaciones de las claves de mensaje. Como la clave del mensaje, p.e. C G H, se tecleaba dos veces para evitar errores, se deducía que la 1ª y la 4ª letra de la codificación correspondían a la misma letra del mensaje original. Al igual que con la 2ª y la 5ª y con la 3ª y la 6ª.
C G H C G H —————> D V Y B Z X
Rejewsky, si durante el día conseguía suficientes mensajes, podía completar la tabla de relaciones:
1ª letra A B C D E F G H I . . . . . W X Y Z
4ª letra H F W B G L R C P . . . . .A T S I
Pero, ¿qué patrones se podían deducir de estas tablas? Rejewsky se fijó en las cadenas de letras conectadas, en el sentido que provenían de la misma letra original:
A—>H—>C—>W—>A
La longitud de estas cadenas no depende de los pares de letras intercambiadas por el clavijero, sólo de la posición de los rotores, de manera que el número de claves posibles se reduce de 1016 a 6 x 263=105456. Rejewsky había simplificado el problema, encontrando primero la clave del día y luego las posiciones del clavijero. Aún así, tardaron un año en completar el catálogo de claves. Más adelante, el equipo de Rejewsky construyó una máquina, a la que denominaron bomba, capaz de comprobar siguiendo su sistema de catalogación la clave correcta. Puesto que los rotores se podían disponer en seis posiciones distintas, usaban seis bombas trabajando en paralelo para conseguir una mayor eficiencia.
En diciembre de 1938, los criptógrafos alemanes aumentaron la seguridad de Enigma, con dos nuevos rotores que podían intercambiar con los tres que tenían. Polonia se temía lo peor. Los mensajes que interceptaban se habían vuelto de nuevo indescifrables. Para no perder los logros conseguidos invitaron a Varsovia a un equipo de criptoanalistas franceses y británicos para mostrarles las réplicas de Enigma que habían construido. El 1 de septiembre de 1939, Adolfo Hitler invadía Polonia y la guerra comenzaba..
Alan Turing en Bletchley Park
En Bletchley Park, sede de la Escuela Gubernamental de Códigos y Cifras, situada en el condado de Buckinghamshire, conocían en otoño de 1939 las características de Enigma y dominaban las técnicas de Polonia que les permitían descubrir en horas la clave del día. Creían, sin embargo, que se acabaría la repetición de las claves y necesitaban encontrar nuevas alternativas a la idea de Rejewsky.En septiembre de 1939 llegaba Alan Turing a Bletchley Park para incorporarse al equipo de criptoanalistas. Turing enseguida intuyó, que de entre toda la información que tenían acumulada, se podían beneficiar de los puntales, fragmentos de texto que se pensaba estaban en el mensaje (con mucha probabilidad), como wetter (tiempo en alemán). Y dentro de los puntales se fijó en los rizos, cadenas de pares de letras (en claro - cifrada) que formaban ciclos. Así, en el siguiente ejemplo se tiene el rizo: W-T, T-E, E-W.Posición Enigma S S+1 S+2 S+3 S+4 S+5Texto en claro W E T T E R
Texto cifrado T W P E B Y
Según el funcionamiemto de Enigma, cada letra corresponde a una posición distinta de los rotores, de manera que si para la primera letra suponemos que los rotores se encuentran en una posición S, para la siguiente habría que desplazar una posición el rotor más rápido y así sucesivamente. Entonces Turing tuvo una de las ideas más geniales. Imaginó una nueva máquina formada por tres máquinas Enigma con las posiciones de los rotores desplazadas según el rizo interconectadas de manera que se anulara el efecto del clavijero.
Bletchley Park consiguió presupuesto para convertir la idea de Turing en una máquina que llamaron bomba como las primeras réplicas de Enigma de Rejewski. El 14 de marzo de 1940 llegaba la primera bomba prototipo a la que llamaron Victory. Y el 8 de agosto la nueva bomba llamada Agnes. Si bien las bombas representaron un gran avance, no siempre conseguían descifrar los mensajes. Había que probar con distintos puntales y una vez hallado el correcto había que encontrar la posición adecuada en el mensaje donde ubicarlo, para entonces iniciar la desencriptación con una bomba.Otro factor que dotaba a Enigma de una gran complejidad era que las componentes de la máquina que el ejército alemán usaba no siempre eran las mismas en todas las zonas o áreas. Así, las máquinas de la marina, las más sofisticadas, tenían 8 rotores distintos y el reflector podía colocarse según 26 orientaciones distintas. Estas dificultades añadidas hacían que el equipo de Bletchley Park aún no pudiera descifrar los mensajes que se transmitían por radio los submarinos alemanes y que contaban con una clara ventaja en la batalla del Atlántico. Junto a esta situación, Turing tuvo que trasladarse a Estados Unidos desde noviembre de 1942 a marzo de 1943 para diseñar un sistema de cifrado para las comunicaciones entre Roosevelt y Churchill.En circunstancias extremas, los servicios británicos secretos sabían que había que recurrir a otras estrategias. Una de ellas que resultó decisiva consistió en infiltrarse en un barco alemán para conseguir un libro de códigos. Esas acciones en Bletchley Park eran denominadas pellizcos. Con ello, el equipo de criptógrafos pudo lograr el descifrado de los mensajes navales y conocer así la ubicación de sus submarinos.
Los trabajos de los criptoanalistas de Bletchley Park, conocidos también como Inteligencia Ultra, fueron determinantes pues para acortar la guerra. La mansión y los barracones de Bletchley llegaron a contar con casi 10000 personas que trabajaban en distintos turnos y a disponer de más de 200 bombas. No obstante, después de la guerra, por razones de prudencia y de táctica militar, las bombas se desmantelaron y todos sus logros se mantuvieron en secreto. A finales de los setenta, el Servicio de Inteligencia británico permitió al capitán W.F. Winterbotham escribir el libro The Ultra Secret publicado en 1974.
Desafortunadamente, para algunos, como Alan Turing, la publicación del libro llegó demasiado tarde...
La lucha entre criptográfos y criptoanalistas existe desde tiempos muy remotos y continúa despertando un gran interés un siglo después del nacimiento de Turing. Gracias a ello, el avance de la criptografía, en particular, en estas últimas décadas ha sido espectacular. Parece, pues, impredecible aventurar que nos deparará en un futuro próximo.