Enigma 05

Enviado por Roman en

Por Román Ceano

ScherbiusUna de las personas que en 1923 decidió montar un negocio fue un ingeniero llamado Arthur Scherbius. Se asoció con otro ingeniero, Richard Ritter, para poner en producción un invento nuevo que le parecía que estaba llamado a revolucionar el viejo y secreto arte de la criptografía. Otros tres inventores habían desarrollado el mismo concepto con meses de diferencia: Hebern en EEUU, Alexander Koch en Holanda y Arvid Damm en Suecia. Scherbius y Ritter compraron la patente de Koch y la aportaron como capital para constituir una sociedad dentro de un grupo llamado Securitas, en cuyo directorio obtuvieron un par de asientos con la operación. La empresa se llamaría Chiffriermaschinen Aktien Gesellschaft y comercializaría, bajo la marca Enigma, una máquina de cifrar literalmente invencible.

El aparato tenía el aspecto exterior de una máquina de escribir muy voluminosa, con la particularidad de que los tipos móviles eran activados mediante un electroimán, como en las máquinas de escribir eléctricas. Sobre el teclado había cuatro ventanitas con una letra. Podía funcionar en dos modos, que se regulaban con un pequeño mando. Con el modo de operación normal, cuando se apretaba la tecla A se imprimía una A, tal como es de esperar en cualquier máquina de escribir. Pero con el modo "Cifrado" se hacía pasar la corriente a través de un curioso mecanismo, de forma que la letra que se imprimía era el producto de una sofisticada codificación. Se trataba de una serie de ruedas colocadas tocándose por sus caras, formando un cilindro. La ruedas podían moverse sobre un eje común, sin dejar de tocarse.

Cuando se activaba una tecla, la corriente llegaba a la primera rueda. Las ruedas tenían contactos eléctricos delante y detrás, y en su interior estaban conectados los de delante con los de detrás según un patrón arbitrario pero fijo. Había 28 contactos en cada cara, uno por cada tecla (25 letras y tres acentuadas), por los cuales entraba y salía la corriente. En el interior de la primera rueda, la letra original era transformada en otra siguiendo el patrón fijado por el cableado al activar el contacto correspondiente en la salida trasera. La A se convertía por ejemplo en K, etc... A continuación, el contacto correspondiente a la K en la parte delantera de la rueda central activaba el contacto correspondiente a otra letra en la parte trasera, digamos la L. Finalmente, la tercera rueda trasformaba la L en una G, que se imprimía con el mecanismo de la máquina de escribir eléctrica. Así pues la máquina realizaba un cifrado mediante sustitución, pero de un tipo novedoso, si no como concepto sí como aplicación práctica.

Desde antiguo se sabía que para cifrar se pueden seguir dos caminos: podemos desordenar las letras del mensaje hasta que no sea posible leerlo o podemos sustituir cada letra por otra. Una regla de sustitución se llama un alfabeto, y normalmente se nombran poniendo las letras cifradas que se hacen corresponder a cada letra en claro al cifrar ordenadas como estas últimas. Es decir que si un alfabeto es HTFRD.. significa que la A se sustituirá por la H, la B por la T, etc...

Si utilizamos el mismo alfabeto para todo el mensaje, obtenemos una sustitución monoalfabética. Se trata de un cifrado trivial, que puede ser descifrado en pocos minutos mediante análisis de frecuencia. En cada idioma, las letras aparecen con una frecuencia determinada y si se ha cifrado un texto mediante una regla fija de cambiar cada letra por otra, basta con aplicar la frecuencia del idioma a la frecuencia del texto para saber, de forma muy exacta, qué letra corresponde a cada carácter. Si además sabemos que algunas parejas y tríos de letras son más probables que otros (análisis de contacto), podemos descifrar el texto incluso cuando la frecuencia no es determinante porque el mensaje es muy corto.

Existen varias formas de soslayar este problema. Una de ellas es trabajar con muchos alfabetos y utilizar uno diferente para cifrar cada carácter del texto en claro. Durante dos siglos y hasta mediados del XIX, era muy popular el sistema de Vigenère, definido en el S XVI sobre ideas anteriores, que permitía, mediante una clave, crear un juego de alfabetos que se usaban sobre cada letra del texto de forma consecutiva. El motivo por el que se había dejado de utilizar era porque cada clave sólo generaba dos o tres docenas de alfabetos (dependiendo de su longitud) y por ello en textos largos era posible descubrir el periodo con el que se aplicaban los alfabetos y separar los caracteres que habían sido cifrados con el mismo para aplicar después el análisis de frecuencia. Además, al estar generados por la clave, los alfabetos no eran aleatorios, sino que seguían un patrón discernible con mucha paciencia, sobre todo con claves cortas. Aunque ejecutado a mano era un sistema muy laborioso y muy proclive al error, se utilizó profusamente hasta que se descubrió que no era seguro.

El método que se siguió utilizando era otro, que había nacido prácticamente a la vez. Consiste en crear un libro de códigos donde cada letra, cada sílaba y cada palabra tengan una correspondencia con un grupo de números o letras. No hay análisis de frecuencia, porque tenemos miles de caracteres y no sabemos si cada grupo de números representa una palabra, una sílaba o una letra. Para complicarlo más se incluyen a veces varias correspondencias, de forma que las letras o silabas más comunes estén representadas por varios grupos. Resulta muy seguro cuando el criptoanalista hostil tiene pocos ejemplos y carece de contexto (es decir no sabe nada de lo que contienen los mensajes) pero, a base de trabajo y acumulando mensajes, es fácil componer el código de manera casi sistemática. Cuando se tiene completo es como leer un libro abierto. Todos los códigos terminan rotos y por tanto hay que cambiarlos a menudo, con el problema de negociación de claves que esto comporta, máxime cuando la clave es un voluminoso libro.

Lo que Scherbius y el resto de inventores contemporáneos habían imaginado era un sistema de sustitución que utilizase alfabetos a gran escala generados por el movimiento discreto de ruedas contiguas. Si tenemos dos alfabetos podemos combinarlos para obtener un tercero. Si por ejemplo tenemos DCLGBOS... (es decir que la A será D, la B será C, la C será L....), y tenemos IUJSCRF... ( A será I, B será U, C será J, etc...) podemos aplicarlos consecutivamente. Si la A será D por el primer alfabeto y la D será G por el segundo, en el alfabeto compuesto por ambos la A será una G. Análogamente, dos ruedas contiguas que no se muevan entre sí actúan igual que una sola rueda cableada de la forma conveniente.

Como hay 28 maneras de combinar dos alfabetos de 28 letras (o, para el caso, 28 maneras de colocar la segunda rueda si la primera está quieta), podemos crear con ellos 784 alfabetos diferentes. Las ruedas de contactos de Enigma eran la expresión eléctrica de los alfabetos. Al ir girando las cuatro ruedas que tenía el primer modelo se variaba la composición, y por tanto se generaban diferentes alfabetos, hasta un total de 614. 656. Gracias a la mecanización, Enigma permitía ciclos tan largos que en un texto nunca se utilizara dos veces el mismo alfabeto. Cada vez que se pulsa una tecla, una de las ruedas gira cambiando la composición y por tanto el alfabeto. En el primer modelo, el giro de las ruedas estaba gobernado por unos engranajes separados de éstas, que hacían que se movieran con un patrón muy complicado. Las ruedas podían ser intercambiadas para crear nuevos juegos de 614. 656 alfabetos. Así pues, la clave, que se podía transmitir en claro, era el orden de colocación de las ruedas y la posición inicial de éstas, apenas una docena de caracteres.

 

© Román Ceano. Todos los derechos reservados.