• No se han encontrado resultados

Las máquinas de cifra Los discos de cifra

La primera máquina criptográfica es el disco de cifras, inventado en el siglo xv por el arquitecto italiano Lean Alberti, uno de los padres de la cifra polialfabética. Tomó dos discos de cobre, uno ligeramente mayor que el otro, e inscribió el alfabeto al borde de ambos. Colocando el disco pequeño sobre el grande y fijándolos con una aguja que sirviera de eje construyó algo similar al disco de cifras que se muestra en la [Imagen 03-10]

Imagen 03- 10 - Un disco de cifras de la Confederación estadounidense utilizado en la guerra civil norteamericana.

Los dos discos pueden hacerse girar independientemente, de modo que los dos alfabetos pueden tener diferentes posiciones relativas y, por tanto, se puede utilizar para codificar un mensaje con un simple cambio del César. Por ejemplo, para codificar un mensaje con un cambio del César de una posición, se coloca la A externa junto a la B interna; el disco externo es el alfabeto llano, y el disco interno representa el alfabeto cifrado. Se busca cada letra del mensaje de texto llano en el disco externo, y la correspondiente letra del disco interno se escribe como parte del texto cifrado. Para enviar un mensaje con un cambio del César de cinco posiciones simplemente hay que girar los discos de modo que la A externa esté junto a la F interna, y luego usar el disco de cifras en esta nueva posición.

A pesar de que el disco de cifras es un aparato muy básico no hay duda de que facilita la codificación y ha perdurado durante cinco siglos. La versión mostrada en la [Imagen 03-10] fue utilizada en la guerra civil norteamericana. La [Imagen 03-11] muestra un codeógrafo, un disco de cifras usado por el epónimo héroe de Capitán Medianoche, uno de los primeros programas dramáticos de la radio estadounidense.

Imagen 03- 11 - Codeógrafo del Capitán Medianoche.

Codeógrafo del Capitán Medianoche, que codifica cada letra de texto llano (disco externo) como un número (disco interno) en vez de como una letra.

Los oyentes podían obtener su propio codeógrafo escribiendo a la compañía patrocinadora del programa, Ovaltine (* Ovaltine: popular sucedáneo del café a base, principalmente, de malta. N. del T. *), y adjuntando una etiqueta de uno de sus envases. De vez en cuando, el programa finalizaba con un mensaje secreto del Capitán Medianoche, que los oyentes leales podían descifrar utilizando el codeógrafo.

El disco de cifras puede ser considerado un «modificador», que toma cada letra de texto llano y la transforma en otra cosa. El modo de operación descrito hasta ahora es sencillo, y la cifra resultante es muy fácil de descifrar, pero el disco de cifras puede ser utilizado de manera más compleja. Su inventor, Alberti, sugirió cambiar la posición del disco durante el mensaje, lo que de hecho genera una cifra polialfabética en vez de monoalfabética. Por ejemplo, Alberti podría haber usado su disco para cifrar la palabra "goodbye" (adiós), empleando la clave LEON. Comenzaría situando su disco según la primera letra de la clave, poniendo la A externa junto a la L interna. Luego codificaría la primera letra del mensaje, g, buscándola en el disco externo y anotando la letra correspondiente del disco interno, que es la R. Para codificar la segunda letra del mensaje resituaría su disco según la segunda letra de la clave, poniendo la A externa junto a la E interna. Luego codificaría la o

buscándola en el disco externo y anotando la letra correspondiente del disco interno, que es la S. El proceso de codificación continúa colocando el disco de cifras según la letra a de la clave, luego la N, luego de vuelta a la L, y así sucesivamente. Alberti ha codificado eficazmente un mensaje usando la cifra Vigenère , con su nombre de pila actuando como clave. El disco de cifras acelera la codificación y reduce los errores comparado con realizar

La característica principal de utilizar el disco de cifras de esta manera es el hecho de que el disco cambia su modo de cifrar durante la codificación. Aunque este nivel extra de

complicación hace que la cifra sea más difícil de descifrar, no la hace indescifrable, porque estamos simplemente ante una versión mecanizada de la cifra Vigenère , la cual fue

desentrañada por Babbage y Kasiski. Sin embargo, quinientos años después de Alberti, una reencarnación más compleja de su disco de cifras conduciría a una nueva generación de cifras, una índole de magnitud más difícil de descifrar que nada de lo usado previamente.

La maquina Enigma

En 1918 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 lo cubría todo, desde turbinas a almohadas eléctricas. Scherbius estaba a cargo de la investigación y el, desarrollo, y buscaba continuamente nuevas oportunidades. Uno de sus proyectos preferidos era sustituir los inadecuados sistemas de criptografía empleados en la primera guerra mundial cambiando las cifras de «lápiz y papel» por una forma de codificación que sacara partido a la tecnología del siglo XX. Había estudiado ingeniería eléctrica en

Hannover y en Múnich, y desarrolló una pieza de maquinaria criptográfica que era

esencialmente una versión eléctrica del disco de cifras de Alberti. El invento de Scherbius, denominado Enigma, se convertiría en el más temible sistema de codificación de la

Historia.

La máquina Enigma de Scherbius constaba de una serie de ingeniosos componentes, que combinó para formar una formidable y compleja máquina de cifras. Sin embargo, si descomponemos la máquina en sus partes constituyentes y la reconstruimos en fases quedarán claros sus principios fundamentales. La forma básica del invento de Scherbius consiste en tres elementos conectados por cables: un teclado para escribir cada letra de texto llano, una unidad modificadora que codifica cada letra de texto llano en una

correspondiente letra de texto cifrado y un tablero expositor consistente de varias lámparas para indicar la letra de texto cifrado. La [Imagen 03-12] muestra un esquema estilizado de la máquina, limitado a un alfabeto de seis letras para mayor simplicidad. Para codificar una letra de texto llano, el operador pulsa la letra apropiada de texto llano en el teclado, lo que envía una pulsación eléctrica a través de la unidad modificadora central, y llega al otro lado, donde ilumina la correspondiente letra de texto cifrado en el tablero.

Una versión simplificada de la máquina Enigma con un alfabeto de sólo seis letras. El elemento más importante de la máquina es el modificador. Al pulsar la b en el teclado, una corriente pasa al modificador, sigue el sendero del cableado interno y finalmente sale iluminando la lámpara A en el tablero. Resumiendo, la b es codificada como A. El recuadro de la derecha indica cómo se codifica cada una de las seis letras.

El modificador, un grueso disco de goma plagado de cables, es la parte más importante de la máquina. Desde el teclado, los cables entran en el modificador por seis puntos y luego hacen una serie de giros y rodeos dentro del modificador antes de salir por seis puntos al otro lado. El cableado interno del modificador determina cómo serán codificadas las letras del texto llano. Por ejemplo, en la [Imagen 03-12] el cableado dicta que:

teclear la a iluminará la letra B, lo que significa que la a es codificada como B,

teclear la b iluminará la letra A, lo que significa que la b es codificada como A,

teclear la e iluminará la letra D, lo que significa que la e es codificada como D,

teclear la d iluminará la letra F, lo que significa que la d es codificada como F,

teclear la e iluminará la letra E, lo que significa que la e es codificada como E,

teclear la f iluminará la letra C, lo que significa que la f es codificada como C.

El mensaje café sería codificado como DBCE. Con esta disposición básica, el modificador define esencialmente un alfabeto cifrado y la máquina puede ser utilizada para llevar a cabo una cifra de sustitución monoalfabética simple.

Sin embargo, la idea de Scherbius era que el modificador girase automáticamente un sexto de revolución cada vez que se codificara una letra (o, más bien, un veintiseisavo de

revolución para un alfabeto completo de 26 letras). La [Imagen 03-13 (a) ] muestra la misma disposición que la [Imagen 03-12], de nuevo, teclear la b iluminará la letra A. Sin embargo, esta vez, inmediatamente después de teclear una letra y de que se ilumine el tablero, el modificador gira un sexto de revolución y alcanza la posición que se muestra en la [Imagen 03-13 (b) ]. Teclear de nuevo la letra b iluminará ahora una letra diferente, concretamente la C. Inmediatamente después, el modificador gira una vez más, hasta llegar a la posición mostrada en la [Imagen 03-13 (c) ]. Esta vez, teclear la letra b iluminará la E. Teclear la letra b seis veces seguidas generaría el texto cifrado ACEBDc. En otras palabras, el alfabeto cifrado cambia tras cada codificación y-la codificación de la letra b está

cambiando continuamente. Con esta disposición giratoria, el modificador define

esencialmente seis alfabetos cifrados, y la máquina se puede utilizar para llevar a cabo una cifra polialfabética.

Imagen 03- 13 -

Cada vez que se pulsa una letra en el teclado y se codifica, el modificador gira una posición, cambiando así cómo se codifica potencialmente cada letra. En (a) el modificador codifica la b como A, pero en (b) la nueva orientación del modificador codifica la b como C. En (c), tras girar una posición más, el modificador codifica la b como E. Después de codificar cuatro letras más y girar cuatro posiciones más, el modificador vuelve a su orientación original.

La rotación del modificador es la característica más importante del diseño de Scherbius. Sin embargo, la máquina, tal como se presenta, tiene una debilidad obvia. Teclear la b seis veces hará que el modificador vuelva a su posición original y teclear la b una y otra vez repetirá el mismo patrón de codificación. En general, los criptógrafos se han mostrado deseosos de evitar la repetición, porque conduce a la regularidad y la estructura en el texto cifrado, que son los síntomas de una cifra débil. Este problema se puede mitigar

introduciendo un segundo disco modificador.

La [Imagen 03-14] es un esquema de una máquina de cifras con dos modificadores. A causa de la dificultad de dibujar un modificador tridimensional Con cableados internos tridimensionales, [Imagen 03-14] muestra sólo una representación en dos dimensiones. Cada vez que se codifica una letra, el primer modificador gira un espacio, o desde el punto de vista del diagrama en dos dimensiones, cada cableado desciende una posición. El

segundo disco modificador, por el contrario, permanece inmóvil la mayor parte del tiempo. Sólo se mueve después de que el primer modificador ha realizado una revolución completa. El primer modificador cuenta con un diente y sólo cuando este diente llega a un cierto punto hace que el segundo modificador se mueva una posición.

Imagen 03- 14a -

Imagen 03- 14c -

Al añadir un segundo modificador, el patrón de codificación no se repite hasta que se han codificado 36 letras, y ambos modificadores han vuelto a sus posiciones originales. Para simplificar el diagrama, los modificadores están representados en dos dimensiones; en vez de girar una posición, los cableados descienden una posición. Si un cable parece dejar la parte superior o inferior de un modificador, su sendero se puede seguir continuando desde el cable correspondiente de la parte inferior o superior del mismo modificador. En (a), b se codifica como D. Después de la codificación, el primer modificador gira una posición, haciendo que también el segundo modificador se mueva una posición ---esto sucede sólo una vez durante cada revolución completa de la primera rueda-. Esta nueva disposición se muestra en (b), en la que b se codifica como F. Después de la codificación, el primer modificador gira una' posición, pero esta vez el segundo modificador permanece fijo. Esta nueva disposición se muestra en (c), en la que b se codifica como B.

En la [Imagen 03-14 (a)], el primer modificador se encuentra en una posición en la que está a punto de hacer que avance el segundo modificador. Teclear y codificar una letra mueve el mecanismo a la configuración mostrada en la [Imagen 03-14 (b)], en la que el primer modificador se ha movido una posición y el segundo modificador también ha sido movido una posición. Teclear y codificar otra letra mueve de nuevo el primer modificador una posición, como se ve en la [Imagen 03-14 (c)], pero esta vez el segundo modificador ha permanecido inmóvil. El segundo modificador no volverá a moverse hasta que el primer modificador complete una revolución, lo que le llevará otras cinco codificaciones. Este sistema es similar al cuentakilómetros de un coche: el rotor que representa los kilómetros individuales gira bastante rápido, y cuando completa una revolución llegando a «9», hace que el rotor que representa la decena de kilómetros avance una posición.

La ventaja de añadir un segundo modificador es que el patrón de codificación no se repite hasta que el segundo modificador vuelve a estar como al principio, lo que requiere seis revoluciones completas del primer modificador, o la codificación de 6 x 6, es decir, de 36 letras en total. En otras palabras, hay 36 disposiciones de los modificadores distintas, lo que

equivale a cambiar entre 36 alfabetos cifrados. Con un alfabeto completo de 26 letras, la máquina de cifras cambiaría entre 26 x 26, es decir, 676 alfabetos cifrados. De modo que combinando los modificadores (a veces llamados rotores), es posible construir una máquina de codificación que cambia continuamente entre diferentes alfabetos cifrados. El operador teclea una letra particular y, dependiendo de la disposición del modificador, puede ser codificada según cualquiera de los cientos de alfabetos cifrados. Luego, la disposición del modificador cambia, de modo que cuando se teclea la siguiente letra es codificada según un alfabeto cifrado diferente. Además, todo esto se lleva a cabo con gran eficiencia y

exactitud, gracias al movimiento automático de los modificadores y a la velocidad de la electricidad.

Antes de explicar con detalle cómo quería Scherbius que se utilizara su máquina de codificación, es necesario describir otros dos elementos de la Enigma, que se muestran en la [Imagen 03-15]. Primero, la máquina de codificación de Scherbius estándar usaba un tercer modificador para obtener aún más complejidad: para un alfabeto completo, estos tres modificadores proveerían 26 x 26 x 26, es decir, 17.576 disposiciones diferentes de los modificadores. Segundo, Scherbius añadió un reflector. El reflector se parece un poco a un modificador, en cuanto es un disco de goma con cableados internos, pero es diferente porque no gira, y los cables entran por un lado y vuelven a salir por el mismo lado. Con el reflector colocado, el operador teclea una letra, lo que envía una señal eléctrica a través de los tres modificadores. Cuando el reflector recibe la señal entrante la devuelve a través de los tres mismos modificadores, pero por una ruta diferente. Por ejemplo, con la disposición de la [Imagen 03-15], teclear la letra b enviaría una señal a través de los tres modificadores y en el reflector, tras lo cual la señal volvería a través de los cableados para llegar a la letra D. La señal no surge realmente a través del teclado, como podría parecer en la [Imagen 03- 15], sino que es desviada al tablero. A primera vista, el reflector parece ser un añadido inútil en la máquina, porque al ser estático no aumenta el número de alfabetos cifrados. Sin embargo, su beneficio resulta obvio cuando se ve cómo la máquina codificaba y

descodificaba realmente un mensaje.

Imagen 03- 15 -

El diseño de la Enigma de Scherbius incluía un tercer modificador y un reflector que devuelve la corriente a través de los modificadores. En esta posición particular, teclear la b iluminará la D en el tablero, que aquí se

Un operador desea enviar un mensaje secreto. Antes de comenzar la codificación, el operador debe hacer girar los modificadores para situados en una posición particular. Hay 17.576 disposiciones posibles, y, por tanto, 17.576 posiciones de partida posibles. La disposición inicial de los modificadores determinará cómo se codifica el mensaje. Podemos considerar la máquina Enigma desde el punto de vista de un sistema general de cifras, y las posiciones iniciales son lo que determina los detalles exactos de la codificación. En otras palabras, las posiciones iniciales proporcionan la clave. Generalmente, las posiciones iniciales vienen dictadas por un libro de códigos, que enumera la clave para cada día y que está disponible para todos los que forman parte de la red de comunicaciones. Distribuir el libro de códigos requiere tiempo y esfuerzo, pero como sólo se necesita una clave para cada día, se podría acordar enviar un libro de códigos que contenga 28 claves una vez cada cuatro semanas. En cambio, si un ejército decidiera usar una cifra de cuaderno de uso único requeriría una cifra nueva para cada mensaje y la distribución de la clave constituiría una tarea mucho más ardua. Una vez que los modificadores se han colocado de acuerdo a lo estipulado en el libro de códigos para ese día, el emisor puede comenzar a codificar. Teclea la primera letra del mensaje, ve qué letra se ilumina en el tablero y la anota como primera letra del texto cifrado. Luego, como el primer modificador ha avanzado una posición automáticamente, el emisor teclea la segunda letra del mensaje, y así sucesivamente. Una vez que ha generado el texto cifrado completo se lo pasa a un operador de radio que lo transmite al receptor a quien va dirigido.

Para descifrar el mensaje, el receptor necesita tener otra máquina Enigma y una copia del libro de códigos que contenga la posición inicial de los modificadores para ese día. Dispone la máquina de acuerdo al libro, teclea el texto cifrado letra a letra y el tablero muestra el texto llano. En otras palabras, el emisor tecleó el texto llano para generar el texto cifrado y ahora el receptor teclea el texto cifrado para generar el texto llano, la codificación y la descodificación son procesos que se reflejan mutuamente. La facilidad de la

descodificación es una consecuencia del reflector. Con la [Imagen 03-15] podemos ver que si tecleamos b y seguimos la trayectoria eléctrica volvemos a D. De manera similar, si tecleamos d y seguimos la trayectoria volvemos a B. La máquina codifica una letra de texto llano en una letra de texto cifrado, y, mientras la máquina esté en la misma posición,

descodificará la misma letra de texto cifrado en la misma letra original de texto llano. Es obvio que nunca se debe permitir que la clave y el libro de códigos que la contiene caigan en manos del enemigo. Es bastante posible que el enemigo pueda hacerse con una máquina Enigma, pero sin conocer las posiciones iniciales utilizadas para la codificación no puede descifrar fácilmente un mensaje interceptado. Sin el libro de códigos, el

criptoanalista enemigo debe recurrir a probar todas las claves posibles, lo que significa que tiene que probar las 17.576 posiciones iniciales posibles de los modificadores. El

desesperado criptoanalista colocaría los modificadores de la máquina Enigma capturada en una disposición particular, teclearía un breve fragmento del texto cifrado y vería si las letras resultantes tenían algún sentido. Si no, cambiaría a una disposición diferente de los

modificadores y lo intentaría de nuevo. Si pudiera probar una disposición de los

modificadores por minuto y trabajar día y noche, le llevaría casi dos semanas examinar todas las disposiciones posibles. Esto es un nivel de seguridad moderado, pero si el

enemigo pone una docena de personas a realizar la tarea, entonces se podrían probar todas las disposiciones en un día. Debido a ello, Scherbius decidió mejorar la seguridad de su