| Precedentes de la Máquina Enigma |
Desde el inicio de los tiempos el hombre ha sentido la necesidad de ocultar sus pensamientos, órdenes militares y, en
general, todo tipo de información de ojos curiosos e indiscretos; esa técnica, casi un arte, recibió el nombre de
Criptografía de la raíz griega cryptos (oculto). Ya Julio César, genial militar y estratega romano, utilizó un primitivo
sistema de encriptado que permitía (de un modo efectivo aunque rudimentario, desde nuestra perspectiva) transmitir
mensajes y órdenes a sus legiones sin que los enemigos pudiesen descifrarlo en caso de ser interceptados. |
Con el paso del tiempo las técnicas criptográficas se hicieron algo más complejas de tal manera que resistiesen todos los esfuerzos para que un mensaje cifrado pudiese ser leído y comprendido: es lo que se conoce técnicamente como descerrajamiento del cifrado (cracking), en donde el término hace alusión a abrir una cerradura ya que diversos idiomas tales como el francés, inglés o italiano el cifrado se conoce como “llave” (key, clé y chiave respectivamente) mientras que Durante los siguientes siglos el avance de las técnicas matemáticas fue utilizado para mejorar y, a la vez, atacar la criptografía con la invención de sistemas de cifrado más complejos, técnicas de descerrajamiento y desencriptado, sistemas semi-mecánicos de cifrado (como la famosa Rejilla de Cardano), etc. Famosos son los códigos de cifrado del rey Felipe II (con su amplia red de espías tejida por toda Europa) así como los éxitos de diversos matemáticos para romper su código, algo que demostró su fiabilidad. El famoso Segundo Principio de Kerckhoffs, postulado en 1883 por el lingüista y criptógrafo holandés Auguste de Kerckhoffs (1835–1903) y que reza “Sólo el mantener la clave en secreto proporciona seguridad”, ha sido válido en todos los tiempos y todas las épocas. La máquina Enigma fue uno de esos intentos de mantener en secreto una valiosa clave. Enigma es el nombre con el que se conoció un sistema de encriptado electromecánico analógico basado en el uso de una “máquina de rotores” (rotor machine en inglés, Rotor-Chiffriermaschinen en alemán), invento patentado en 23 de febrero de 1918 por el ingeniero alemán Arthur Scherbius (1873–1929). No se puede decir propiamente que Scherbius inventase la máquina de rotores ya que en 1915 dos oficiales navales holandeses llamados Theo A. van Hengel (1875–1939) y R. P. C. Spengler (1875–1955) llevaron a cabo una máquina similar (De Leeuw, 2003); antes de la publicación del trabajo de De Leeuw se pensaba, erróneamente, que eran cuatro los inventores independientes (Hebern, Damm, Koch y el propios Scherbius) cuando esto no era así. Precisamente en esos años (1915–1919) aparecieron modelos levemente distintos en otros países como Estados Unidos (1917, a cargo de Hugh Hebern), la propia Holanda (1919, Hugo Koch) o Suecia (1919, Arvid Gerhard Damm): |
![]() |
podemos decir que el invento fue mejorado rápidamente por diversos inventores basándoseen la patente original de Hengel y Spengler. Lo que sí es cierto es que Scherbius no sólo patentó exitosamente su aparato sino que su empresa (Chiffriermaschinen Aktiengesellschaft), con sede en Berlín, también adquirió la patente de Koch de 1919 para evitar problemas legales y poseer, en exclusiva, todos los derechos sobre el invento y su posterior explotación comercial. |
La máquina de rotores, que estuvo en uso entre los años 20 y 50 del siglo XX (hasta la entrada
en funcionamiento de los ordenadores y el encriptado digital), está basada en el uso de distintas
piezas metálicas circulares o rotores las cuales, precisamente, tienen la particularidad de poder girar
engarzadas en un eje metálico común: sobre estos rotores (o ruedas) se grababan letras y signos del
alfabeto los cuales servirían para la codificación y decodificación de la información deseada ya que
este sistema utiliza la denominada sustitución polialfabética. Podría decirse que la Máquina de
Diferencias del matemático e inventor inglés Charles Babbage (1791–1871), el primer computador
mecánico (construido entre 1847 y 1849 aunque nunca finalizado), sentó precedente en cuanto a la
técnica básica de la máquina de rotores: al completar una vuelta la primer rueda se produce un
cambio de una posición en la siguiente, y al completarse una vuelta de la segunda rueda se cambia
una posición en la tercera (similar al “me llevo una” de las matemáticas escolares), con lo que de
este modo existe un “acarreo” lógico en el sistema de ruedas. Sin embargo este sistema de acarreo
ya existía, como innovación mecánica, en la máquina de sumar denominada pascalina del
matemático francés Blaise Pascal (1623–1662) construida en 1645 después de tres años de cálculos,
diseños e innovaciones: diseñada para efectuar cómputos contables contenía un sistemas de ruedas
dentadas, engranajes y resortes capaces de realizar sencillos cálculos matemáticos tales como sumar
y restar; pese a que era de difícil fabricación llegó a construir y comercializar unas cincuenta,
deteniendo su producción en 1652 para dedicarse a otro tipo de invenciones y estudios. |
![]() |
Una peculiaridad de la pascalina era que podía efectuar conversiones de monedas utilizando ruedas con un número distinto de dientes: por ejemplo la de 20 dientes convertía “soles” en “libras” o la de 6 dientes convertía “pies” en “toesas”. En este sentido era realmente innovadora. Una mejora de la misma, capaz de efectuar sin problemas las cuatro operaciones matemáticas principales (suma, resta, multiplicación y división) fue diseñada por el matemático alemán Gotffried Leibniz (1646–1716) en el año 1670 perfeccionándola durante los cuarenta años siguientes hasta hacer de ella un aparato mecánico fiable. |
Saltamos ahora hasta el año 1795 cuando el norteamericano Thomas Jefferson (1743–1823), más tarde presidente de los Estados Unidos, ideó un sistema criptográfico conocido como Cilindro de Jefferson (Jefferson's wheel cipher en inglés) que generaba una sustitución polialfabética originada por un ingenioso dispositivo mecánico: estaba formado por un eje metálico que unía una serie de 26 ruedas o discos de madera sobre los cuales se habían escrito las letras del alfabeto en un determinado orden; para codificar los mensajes el emisor no tenía más que colocar los cilindros en orden formando el mensaje, dejar inmóviles los mismos para que no se desplazasen y leer en cualquiera de sus restantes líneas la palabra resultante ya codificada. |
![]() |
El receptor del mensaje encriptado debía disponer de un cilindro similar idéntico tanto en el número de discos rotatorios como en la disposición de las letras sobre ellos, girarlos hasta formar la primera palabra codificada y leer todas las líneas hasta encontrar un mensaje que tuviese sentido. Jefferson utilizó el mecanismo para encriptar y enviar mensajes cuando era secretario de George Washington, pero pronto dejó de utilizarlo ya que su debilidad radicaba en que tanto el emisor como el receptor debían disponer de cilindros idénticos (codificador ↔ decodificador), o de lo contrario sería imposible una decodificación válida. |
El invento, sin embargo, volvería a la vida cuando el francés Etienne Bazeries lo modificó levemente y lo puso en circulación en 1891 con el nombre de Cilindro Bazeries: el dispositivo constaba de entre 20 y 30 discos distintos con sus letras grabadas lo que permitía codificar frases de mayor longitud (hasta 30 letras a la vez). Uno de estos dispositivos (conocido en clave como M-94) sería adoptado por el ejército de los Estados Unidos en 1922: estaba formado por 25 discos de aluminio y estuvo en uso hasta el año 1943 (la Armada de los Estados Unidos hicieron uso también del mismo dispositivo aunque bajo una denominación distinta: CSP488). |
Todavía más antiguo es el disco de Alberti, ideado en 1466 por el humanista y polímata italiano León Battista Alberti (1404–1472) y formado por dos discos, uno interior y otro exterior: en el disco externo hay escritos números (del 1 al 4) y letras (20 letras latinas) mientras que en el interior aparecen todos los caracteres del latín además del signo & y las letras H, K e Y. Al ser 24 los caracteres representados en cada disco es posible crear hasta 24 sustituciones diferentes, por tanto dependiendo de la posición del disco interior la cantidad máxima de alfabetos de cifrado diferentes es igual a 24. Para cifrar un mensaje, una vez establecida la correspondencia entre caracteres de ambos discos (el alfabeto de cifrado) se repasa letra a letra el texto del disco exterior y se sustituye cada una de ellas por la letra correspondiente del disco interior; por tanto para cifrar el texto (crear una clave, denominada por ello clave Alberti) se gira el disco externo haciendo coincidir la letra M con una una letra preestablecida (por ejemplo la t) con lo cual se obtiene una clave; si se hiciese coincidir la M con la d se obtendría otra distinta, etc.. Evidentemente para cifrar y descrifrar mensajes es preciso que tanto el emisor como el receptor conozcan la disposición exacta de las letras que han de coincidir, ya que de lo contrario no hay una relación “uno a uno” y los mensajes descifrados son un puro galimatías sin ningún sentido. |
![]() |
![]() |
Basado en este sistema de discos concéntricos albertianos y en cilindro de Jefferson apareció, en 1817, el denominado criptógrafo Wheatstone ideado por Decius Wadsworth (1768–1821), coronel del ejército norteamericano, organizador militar e inventor: estaba formado por dos ruedas concéntricas (una exterior y una interior) con unas agujas engranadas que podían moverse sobre ellos como en la esfera de un reloj. En este caso se utilizaba el alfabeto inglés de 26 caracteres además del espacio en blanco para el texto en claro, representado de forma ordenada en el disco exterior, en tanto que el disco interior contenía solamente los 26 caracteres del lenguaje distribuidos aleatoriamente; la innovación era que las agujas estaban engranadas de tal forma que cuando la externa había girado 27 posiciones, la interna lo había hecho sólo 26. El método de cifra consiste en hacer girar la aguja externa en el sentido de las manecillas del reloj hasta hacer coincidir cada letra del texto a cifrar con la letra del disco externo y apuntar el carácter correspondiente que aparece en el círculo interior, incluso para el espacio en blanco; la importancia de este sistema radica en que cada una de las palabras del mensaje influye en la forma en que se cifran las siguientes, una propiedad muy interesante y que utilizan los cifradores modernos. |
Este sistema criptográfico se conoce con el nombre de criptógrafo Wheatstone debido a que el científico e inventor inglés Sir Charles Wheatstone (1802–1875), bien conocido por el famoso puente de Wheatstone, fabricó un dispositivo similar que se llevó toda la fama y la gloria. Las ruedas de la máquina de rotores Enigma estaban diseñadas para que al comenzar a trabajar en la codificación éstas pudiesen moverse a mano, independientemente, iniciándolas en la posición deseada: de este modo si tenemos tres ruedas y éstas estaban originalmente en la primera posición (mostrando cada una la letra “A”) era posible mover una a una las ruedas para que el encriptado no comenzase con la cadena “AAA” sino con otra cualquiera (por ejemplo “ABC, “CBD” o similar). |
En la figura (tomada de Wikipedia) podemos ver el esquema de una de estas máquina de cifrado, concretamente la patente norteamericana en su versión de enero de 1928. Las ruedas se desplazaban como un odómetro moderno: al cifrar un carácter el primer rotor avanza una posición y sólo cuando éste ha realizado una rotación completa (tras un número determinado de pulsaciones, por ejemplo 26), el segundo se desplaza una posición y así sucesivamente con todas las ruedas hasta completar un ciclo completo. |
![]() |
El alma de la misma está formada por los cuatro rotores sobre los cuales, tal como podemos ver, se han grabado las letras del alfabeto (en esta patente aparecen escritas en minúsculas, aunque la mayúsculas son más legibles incluso trabajando con bajos niveles de luz tales como trincheras, el campo de batalla, etc.). Si con un rotor tenemos 27 posiciones (las letras del alfabeto A a Z en español) con dos tendremos 27 x 27 ó 729 aumentando éstas a 19.683 con tres rotores (27 x 27 x 27) y 531.441 con cuatro rotores; naturalmente cuanto mayor sera el número de rotores (cinco o superior) tanto mayor es el número de posiciones distintas obtenidas. (Los rotores europeos comerciales solían tenían 26 posiciones diferentes.) Además de los rotores, la parte más evidente y llamativa de la máquina, el aparato disponía de un teclado similar al de una máquina de escribir (para la introducción de los mensajes) y un sistema de cableados internos y conexiones de contacto en las ruedas los cuales conducen los impulsos eléctricos desde una batería: con este circuitaje se consigue añadir una dificultad más. En los modelos militares se incluyó, además, un tablero de interconexión (denominado stecker) capaz de ser alterado a voluntad y cuya misión era complicar todavía más la codificación en base a la alteración de las claves. |
La primera máquina Enigma construida (Enigma A, 1923) estaba formada por tres rotores con lo cual el grado de complejidad del encriptado no era tan complejo como en los modelos posteriores, aunque en la época en la que se construyó (inicios de los años 20) parecía más que suficiente para los usos a los que se destinaba (principalmente comunicaciones comerciales, órdenes de compra o pago, etc.). Tras este primer modelo, que se vendió con relativo éxito, se añadieron sucesivas mejoras en su diseño original lo que dio pie para la puesta en el mercado de nuevas versiones de la misma algo más seguras; el modelo que sería adquirido por la marina alemana en 1926, denominado Enigma D, sería el que adquiriese fama mundial. En la imagen tenemos uno de estos modelos de tres rotores (visibles en la parte superior) con su teclado alfabético. El funcionamiento de este complejo sistema de cifrado que se conoció como máquina Enigma D era el siguiente: cuando el operador de la máquina pulsaba una tecla en el teclado, por ejemplo la correspondiente a la letra D, la corriente eléctrica procedente de la batería era conducida (a través del contacto de la tecla pulsada) hasta el contacto correspondiente a la letra D del primer rotor, aquí la corriente atravesaba el cableado interno del primer rotor y se situaba, por ejemplo, en el contacto correspondiente a la letra W en el lado contrario; esta era la primera codificación de la letra la cual, evidentemente, era demasiado simple y podría ser descifrada con facilidad: aquí entraba en funcionamiento la existencia de los demás rotores, como ahora veremos, los cuales aumentaban enormemente la dificultad. |
![]() |
Imaginemos que este contacto del primer rotor hubiese sido alineado mecánicamente con el contacto correspondiente a la letra Z del segundo rotor: ahora la corriente llegaba al segundo rotor y seguía su camino a través del segundo y tercer rotor y era entonces cuando regresaba a través de los tres rotores en el camino de vuelta. Al final del trayecto seguido la salida del primer rotor se conectaba eléctricamente a la lámpara correspondiente a una letra, distinta de la D inicialmente pulsada, en el panel de luces: el mensaje que se deseaba cifrar aparecía, de este modo, sustituyendo las letras del texto original por las proporcionadas ya codificadas por la máquina. |
![]() |
Cada vez que se introducía una letra del mensaje original, pulsando la tecla correspondiente en el teclado, la posición de los rotores variaba de posición debido al sistema de palancas y resortes de seguridad. Con esta variación constante si tenemos dos letras idénticas en el mensaje original, por ejemplo la cadena DD, obtenemos de salida dos letras diferentes en el mensaje cifrado, por ejemplo TK. En la mayoría de las versiones de la máquina, el primer rotor avanzaba una posición con cada letra; cuando se habían introducido 26 letras y, por tanto, el primer rotor había completado una vuelta completa se avanzaba en una muesca la posición del segundo rotor y cuando éste terminaba su vuelta completa se producía un salto en la posición del tercer rotor. El número de pasos que provocaba el avance de cada uno de los rotores, era un parámetro configurable por el operario. En esta imagen se aprecia el esquema de conexiones del modelo de cuatro rotores de 1930 (visibles en la parte superior del mismo) así como las conexiones eléctricas y mecánicas de las primera cuatro teclas QWER. Para añadir complejidad al sistema de cifrado se podían utilizar cuatro, cinco, seis o más rotores con lo cual el resultado era prácticamente inviolable; una mejora consistió en añadir un elemento denominado reflector (no existente en las versiones Enigma A y B), en alemán Umkehrwalze (rotor inverso) cuya misión era complicar, aún más, el sistema de cifrado devolviendo (reflejando) las letras introducidas. (El modelo comercial Enigma C tenía dos posiciones distintas para el reflector pero el modelo mejorado D disponía ya de 26 posiciones diferentes). El sistema era bidireccional, lógicamente consistente y único en sentido encriptado ↔ desencriptado siempre y cuando la colocación de todos los elementos de la máquina fuesen idénticos; naturalmente bastaba cometer un leve error en la colocación de uno de los rotores de una de las máquinas (la de cifrado o la de descifrado) para que ya no existiese una relación “uno a uno” de los elementos con lo cual el mensaje enviado o recibido carecía de sentido: el operador encriptador (si el error estaba en la máquina de origen) o el operador desencriptador (si radicaba en la máquina destino) estarían mecanizando letras que el otro operador no podría interpretar, al no existir esa necesaria relación “uno a uno”, siendo el resultado un galimatías... |
![]() |
En la imagen superior se aprecia la posición inicial de una máquina de cuatro rotores: junto a cada uno de ellos (de diseño ergonómico y con rebajes para los dedos) tenemos pequeñas ventanitas en las cuales aparecen las letras del inicio de la codificación para esa sesión de trabajo (en la imagen éstas son R, D, K y P). |
De este modo no sólo bastaba disponer de una máquina idéntica a la utilizada para encriptar los mensajes (máquina que podía robarse de un submarino, una embajada o una valija diplomática), sino que era preciso conocer la posición precisa de todos los distintos elementos integrantes (rotores, contactos, tablero de interconexión, etc.) lo cual resultaba en la práctica totalmente imposible por el elevado número de combinaciones y permutaciones. Si se dispusiese de suficiente tiempo esto podría hacerse, naturalmente, pero dado que la posición de estos elementos se cambiaba con frecuencia en la práctica era imposible y los mensajes interceptados por los radioescuchas de los servicios de inteligencia de cualquier país quedaban sin interpretar: la única solución era realizar el denominado “ataque de fuerza bruta” (brute force attack en inglés, Exhaustionsmethode en alemán) lo cual intentaron los polacos con sus emuladores mecánicos de cifrado o “máquinas enigmas en paralelo” (bomba kryptologiczna, bomba criptológica), método mejorado más tarde por los ingleses en sus instalaciones de Bletchley Park. A la derecha: fotografía de un modelo de Enigma de cuatro rotores: en la parte frontal (bajo el teclado alfabético) puede verse el panel de conexiones eléctricas configurable por el usuario. |
![]() |
![]() |
Ya para terminar no podemos dejar de mencionar la denominada máquina Hagelin, inventada por el criptólogo sueco Boris Hagelin (1892–1983) quien adquirió (en 1927) la fábrica de máquinas de cifrar de otro inventor sueco, Arvid G. Damm (fallecido en 1927), quien no tuvo suerte en el mundo de los negocios al intentar comercializar un producto que no era competitivo. Entre los años 20 y los 30 del siglo pasado Hagelin diseñó y construyó varias máquinas (los modelos B-21, B-211, C-36, C-48, etc.) en las que a través de ruedas dentadas con un sistema de piñones especial (el número de dientes de las diferentes ruedas eran primos entre sí ) se codificada con una cifra similar a la utilizada por el sistema de Beaufort: aquí la relación entre dientes originaba una una periodicidad muy alta ya que para sus seis ruedas los dientes eran iguales a 26, 25, 23, 21, 19 y 17 respectivamente, de forma que el período final era igual a su producto. |
![]() |
![]() |
Referencias y bibliografía:
|
Artículo realizado por Francisco A. Violat Bordonau |
Nota de U-Historia: Desde U-Historia queremos agradecer a Francisco A. Violat Bordonau su colaboración en nuestro proyecto y la realización de este artículo. |