Cómo funcionaba la máquina Enigma

Cómo funcionaba la máquina Enigma

En mi libro sobre Historia de la Criptografía, como es lógico, hay una parte dedicada a la máquina Enigma. Con toda probabilidad, la máquina de cifrado más conocida de la historia. Su funcionamiento y diseño no era demasiado complicado, pero su efectividad era altísima. Les dejo a continuación la explicación sobre cómo funcionaba la máquina Enigma. Al final del artículo les dejo un enlace a una web donde han hecho un trabajo maravilloso y pueden ver cómo funcionaba de manera gráfica.

De manera esquemática, una máquina Enigma tiene tres componentes. El primer lugar, un teclado en el que el operador escribe en texto en claro, es decir, escribe de igual forma a como lo haría en una máquina de escribir tradicional. En segundo lugar, tendríamos el motor de cifrado propiamente dicho, que toma la letra que ha pulsado el operador y la transforma en una totalmente distinta. Este segundo elemento es el corazón de la máquina, es donde ocurre realmente el cifrado y donde están las fortalezas y las debilidades. El tercer y último elemento sería el tablero donde una serie de luces le indican al operador cuál es el resultado del cifrado.

La repetición es uno de los enemigos principales de los métodos criptográficos y la Enigma resolvía el problema con solvencia

Es decir, el operador pulsa, por ejemplo, una A en el teclado, el motor de cifrado se pone en marcha y genera la letra de salida, la letra cifrada, que es indicada al operador mediante una luz en el panel de cifrado. El motor funciona mediante impulsos eléctricos y tiene la gran ventaja de que cada vez que se cifra una letra, el propio motor varía, generando así la pseudo-aleatoriedad continua en el cifrado que hará que un criptoanalista no pueda averiguar el mensaje en claro con facilidad. Cómo funcionaba la máquina Enigma fue el primer objetivo para los criptoanalistas que trataban de romperla. Comprenderla era el primer paso.

La repetición es uno de los enemigos principales de los métodos criptográficos, y por ello es crítico que la máquina de cifrado vaya variando de tal forma que no se generen ciclos o que estos ocurran tras muchos caracteres cifrados.

El motor de cifrado de Enigma se basada en los rotores. Un rotor no es otra cosa que un disco con puntos metálicos, conectores eléctricos, en ambas caras. Estos puntos metálicos, en una máquina con un único rotor, conectarían las entradas desde el teclado, con las salidas en el tablero de luces. Dentro del propio rotor, se conectan las entradas con las salidas de manera no directa, es decir, irregularmente. Cada conector de una cara se conecta mediante un cable interno a un conector de la cara opuesta. Por lo tanto, un rotor en su interior contiene una maraña de cables que unen los conectores de ambas caras.

En el caso más sencillo, al pulsar en el teclado, por ejemplo, la A, un impulso eléctrico llega a un conector de entrada del rotor y el cableado interno haría que ese impulso saliera por uno de los conectores de salida e ilumine una lámpara en el tablero, por ejemplo, la correspondiente a la J. Tras esto, el rotor hace un pequeño giro. Así, si volvemos a pulsar la A en el teclado de la máquina, el impulso eléctrico no llegará al mismo conector de entrada del rotor, ya que este ha girado, y, por lo tanto, al cambiar el conector de entrada cambia también el de salida.

Rotores de una máquina Enigma
Rotores de una máquina Enigma

Los rotores y su movimiento eran en corazón, determinaban cómo funcionaba la máquina Enigma

Un sólo disco, un sólo rotor, tendría una debilidad. Una vez completada una vuelta del disco, las correspondencias se repiten y la A en la entrada, siguiendo con el ejemplo anterior, volvería a iluminar la J en la salida. Como ya hemos dicho, la repetición es enemiga de la seguridad y, por lo tanto, el diseño de Enigma incorporó varios rotores. Cada vez que el primer rotor completaba una vuelta, el segundo giraba una posición. Conceptualmente es similar a las agujas de un reloj. Cuando la aguja larga completa una vuelta, la corta se mueve una posición y permanece estática en ella hasta que hay un nuevo giro completo de la aguja larga.

En el caso de la máquina Enigma, si bien hubo diferentes versiones con pequeños cambios, el funcionamiento era todavía más complejo y se habían incorporado, por parte de los alemanes, algunos aspectos de uso que aumentaban la seguridad exponencialmente al hacer el número de combinaciones posibles de los elementos mucho más elevado.

Para comenzar, la máquina Enigma tenía tres rotores conectados entre sí, en su versión más sencilla. Estos rotores tenían 26 conectores en cada una de sus caras, correspondientes a 26 letras. Los tres rotores no estaban instalados fijos en la máquina, sino que se podían sustituir unos por otros. De igual forma, tampoco estaba establecido el orden de los mismos, por lo que el número de combinaciones se multiplicaba y multiplicaba. Hay que tener en cuenta que cada rotor tiene unas conexiones internas distintas, por lo que el circuito de conexión entre la letra del teclado, que sería el texto en claro, y la luz que indica la letra cifrada, será diferente según el orden de los rotores.

Cómo funcionaba la máquina Enigma se comprende bien si la imaginamos como un circuito eléctrico que va cambiando

Si vemos el funcionamiento interno de la máquina como un circuito eléctrico que conecta una letra del teclado con una letra del tablero de bombillas, podemos imaginar claramente cómo se va construyendo ese circuito a través de los rotores. La corriente eléctrica entre en el primer rotor por un conector y gracias al cableado interno, sale por un conector de la cara opuesta. Este conector de salida del primer rotor está en contacto con un conector de entrada del segundo rotor, que a su vez está cableado hacia un conector de salida. Ocurre algo similar con el tercer rotor, y la salida de este llevaría a una letra del panel de luces, ya que cada conector de la cara de salida del último rotor, activa una luz distinta.

Para mejorar la seguridad, cada máquina iba acompañada de un juego de cinco rotores distintos, de los que se tenían que tomar tres para configurar la máquina. Como el orden es importante, tenemos 60 opciones diferentes de seleccionar tres rotores para la máquina. La posición inicial de los rotores también era un elemento crítico de la configuración de partida de la máquina, ya que el mismo rotor, en distintas posiciones, primera, segunda o tercera, genera un circuito distinto y por lo tanto un cifrado también diferente.

Emisor y receptor debían establecer la misma configuración inicial en la máquina

Enigma a bordo del vehículo de Heinz Guderian
Enigma a bordo del vehículo de Heinz Guderian

Cada rotor tenía 26 número escritos a lo largo de su perímetro, sobre el canto del propio rotor. Al colocar el rotor dentro de la máquina y cerrar la tapa que los protegía, se venía a través de un orificio en dicha tapa el número del canto del rotor que quedaba en la parte superior. La tapa tenía tres ventanas, una para cada rotor, y esos tres números definían la configuración de inicio de la máquina. Para configurar la máquina en su posición de inicio el operador tenía que tomar tres discos de los cinco que acompañaban a la máquina. Debía colocarlos en el orden adecuado dentro de la máquina, y girar los discos para que los números deseados del canto de cada rotor queden en la posición superior.

Con esta configuración inicial establecida en la máquina, el operador de la misma comenzaba a pulsar el mensaje en claro en el teclado. Para tecla pulsada, se ilumina una bombilla en el tablero de luces. El operador debe ir apuntando las letras que van indicando esas luces, ya que así compondrá el mensaje cifrado. La máquina Enigma es una máquina tan sólo de cifrado, no tiene incorporado ningún tipo de envío. Por lo tanto, una vez cifrado el mensaje a emitir, esa secuencia de letras que es el mensaje cifrado, debe ser enviada por radio y en código morse por un operador de comunicaciones.

El receptor de la comunicación recibirá el mensaje cifrado, en código morse y por radio, y lo escribirá en un papel. El operador de la máquina Enigma que debe descifrar el mensaje en destino. Lo primero que tiene que hacer es poner en la máquina la misma configuración que se usó para cifrar y a partir de ese momento comenzar a teclear las letras una a una. La máquina iluminará en el panel las letras correspondientes a cada una de las letras pulsadas y así el receptor tendrá el mensaje en claro. Es decir, dada una configuración de máquina si se pulsa una en el teclado se iluminará la otra en el panel, y viceversa. Este detalle es muy importante ya que es el que permite que la máquina sirva a la vez para cifrar y para descifrar, lo que es una gran comodidad.

El clavijero y el reflector eran elementos que multiplicaban las posibilidades de configuración a la máquina

Clavijero de una máquina Enigma
Clavijero de una máquina Enigma

Lo que acabamos de describir es el funcionamiento básico de una máquina Enigma no militar. Estas las podía comprar cualquier empresa o entidad que no fuera el ejército alemán. Las Enigma militares tenían añadido un tablero de conexiones en la parte frontal que multiplicaba las opciones de configuración de la máquina. De nuevo, multiplicaba también su seguridad. Este tablero o panel de conexiones tenía 26 clavijas. Cada una correspondía a una letra, y había 10 cables que podían unir dos de estas letras como el operador quisiera. Cómo funcionaba la máquina Enigma dependía de toda una secuencia de configuraciones, de los rotores al clavijero.

Era algo similar a las clásicas centralitas telefónicas donde la operadora unía dos puntos del clavijero, dos teléfonos, mediante un cable. Introduciendo la clavija de cada extremo del cable en esos dos puntos del clavijero que deseaba unir, se generaba una conexión.

Esos 10 cables unían dos letras, y lo que hacían era cambiar en el circuito una letra por otra. Esto es, si en el clavijero se unían la A y la J, por ejemplo, al pulsar en el teclado una A, el circuito eléctrico que ya hemos explicado era extendido y antes de comenzar el proceso en los rotores se hacía el cambio de la A por la J. Estos 10 cables, que podían conectar dos letras cualquiera de las 26 de la máquina era un elemento más de la configuración inicial de la máquina. Lo que hacía era aumentar el número posible de esas configuraciones hasta los billones de combinaciones.

Además del clavijero, falta aún otro detalle de la máquina. La parte del circuito que contenía los rotores tenía un añadido a lo que hemos explicado. En realidad del tercer rotor no iba al panel de bombillas, sino que, del tercer rotor, volvía al segundo y al primero. Esto se hacía mediante un disco similar al resto de rotores, pero con contactos tan sólo en uno de sus lados. Este elemento se conocía como reflector. La corriente entraba por un conector y salía por otro conector, ambos de la misma cara, la que estaba en contacto con el último rotor.

El circuito se alargaba así y el viaje de la corriente a través de la maraña de claves que tenían los rotores internamente se multiplicaba. Esto hacía que no pasaran tan sólo por los tres rotores, sino que lo hacían dos veces por cada uno. Era un elemento necesario para que la máquina fuera capaz de cifrar y descifrar de manera sencilla. Para que ese camino de doble dirección funcionara.

El reflector añadía complejidad y seguridad a la máquina. Pero también tenía un efecto que, si bien en principio parecía no tener demasiada importancia, lo cierto es que resultó clave para que la máquina Enigma acabara siendo rota. Una letra en el texto en claro nunca podría cifrarse como ella misma. Es decir, la A nunca podría resultar en la A tras el cifrado.

Si quieren ver gráficamente cómo funcionaba la máquina Enigma, les recomiendo visitar este enlace. Ahí podrán ver lo que acabo explicar de manera gráfica e interactiva.

2 comentarios en “Cómo funcionaba la máquina Enigma”

  1. Felicitaciones, es la mejor explicación en español que he encontrado hasta ahora.
    Me sirve para un proyecto de hobby personal en programación en el BASIC del Commodore C64.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.