libro criptografia

230
Una introducción a la CRIPTOGRAFIA EUGENIO GARCÍA MIGUEL ÁNGEL LÓPEZ JESÚS J. ORTEGA

Upload: g-hoyos-a

Post on 28-Nov-2014

3.481 views

Category:

Documents


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Libro criptografia

Una introducción a la

CRIPTOGRAFIA

EUGENIO GARCÍA

MIGUEL ÁNGEL LÓPEZ

JESÚS J. ORTEGA

Page 2: Libro criptografia

Miguel Ángel López Departamento de Matemáticas E. U. Politécnica de Cuenca Universidad de Castilla-La Mancha

Eugenio García Departamento de Matemáticas E. S. de Informática Universidad de Castilla-La Mancha

Jesús J. Ortega Departamento de Matemáticas E. S. de Informática Universidad de Castilla-La Mancha

© 2005 Los autores Todos los derechos reservados. Este libro puede ser copiado y distribuido en todo o en parte, siempre que se respete su integridad. Queda prohibida su venta sin permiso de los autores.

Page 3: Libro criptografia

iii

Contenidos

Prólogo v

Introducción 1

1 Los primeros pasos. Cifrado por sustitución 7

2 El nomenclátor 23

3 Cifrados polialfabéticos 35

4 Cifrados poligráficos 55

5 Cifrados por transposición 77

6 La Criptografía en la Primera Guerra Mundial 95

7 Álgebra y Criptografía 113

8 Máquinas de rotores 125

9 Criptoanálisis de Enigma 147

10 Criptografía Moderna 183

11 Criptografía en clave pública 199

Bibliografía 215

Origen de las fotografías 217

Índice alfabético 219

Page 4: Libro criptografia
Page 5: Libro criptografia

v

Prólogo

Básicamente, el objeto de la Criptografía es permitir la transmisión de información privada por un canal inseguro, de forma que cualquier intruso que intercepte la comunicación no entienda su significado. Este problema de la seguridad en la transmisión de la información es tan antiguo como la propia escritura; aunque, naturalmente, se ha ido adaptando a los diferentes canales de comunicación que la técnica ha proporcionado a lo largo de la Historia: el papel, el telégrafo, el teléfono, la radio o las modernas redes de ordenadores. Hasta hace unos treinta años, la Criptografía era casi exclusiva de gobiernos y mandos militares, los únicos que necesitaban proteger sus comunicaciones. El obligado secreto que acompaña a estos estamentos oficiales ocasionó que la Criptografía fuera materia conocida sólo por unos pocos, entre los que raramente estaba alguien relacionado con el mundo universitario. Esta situación ha cambiado radicalmente con la llegada del ordenador, que en poco tiempo nos ha adentrado en la era de la información. En la actualidad, millones de ordenadores intercambian constantemente información por Internet, una red en continuo crecimiento y pública, al alcance de cualquiera y desde cualquier lugar del mundo. Precisamente, el carácter abierto de Internet supone un problema para la comunicación privada y compromete la información que almacenan los ordenadores, la cual es vital para muchas organizaciones como, por ejemplo, los bancos. La demanda generalizada de protección de la información ha despertado el interés de empresas y universidades por la Criptografía. Las primeras atraídas por el negocio que supone la seguridad informática, las segundas por el conocimiento científico y técnico que requiere la Criptografía actual. En la Universidad, la Criptografía figura ya como asignatura en algunas carreras; en concreto, en las relacionadas con la informática y las telecomunicaciones.

El problema de la comunicación segura tendría fácil solución si no fuese por el empeño que ponen algunos en acceder a la información secreta. De hecho, el desarrollo de la Criptografía ha sido siempre consecuencia de la lucha que han mantenido los diseñadores de códigos y los criptoanalistas. Aquellos, proponiendo métodos para ocultar la información que se transmite; estos otros, ideando estrategias para inutilizar tales métodos. Una panorámica de esta disputa a lo largo de la línea del tiempo puede ser perfectamente una introducción a la Criptografía. Con esta idea hemos concebido el presente libro. En él, se va recorriendo la historia de la Criptografía desde la Antigüedad hasta nuestros días, presentando los diferentes métodos de cifrado que se emplearon en cada época y mostrando cómo fueron derrotados por el genio de los criptoanalistas, lo que

Page 6: Libro criptografia

PRÓLOGO

vi

obligó a considerar otros más complicados. El siguiente párrafo es una rápida sinopsis de su contenido.

El texto arranca con una breve Introducción donde, apoyándonos en un sencillo ejemplo, presentamos la terminología propia de la Criptografía. Es necesaria para la lectura de los once capítulos que siguen a continuación. En el primero describimos algunas formas de Criptografía presentes en la Antigüedad, casi todas ellas respondiendo al modelo de sustitución monoalfabética. Estos cifrados por sustitución fueron derrotados por el llamado análisis de frecuencias, inventado por los árabes durante la Edad Media. El Capítulo 1 también incluye esta técnica de criptoanálisis. El Capítulo 2 está dedicado al nomenclátor, método de cifrado ideado en la Italia renacentista con el que se pretendió burlar al anterior análisis de frecuencias. Estuvo en vigor hasta la aparición del telégrafo, a mediados del siglo XIX. El uso del telégrafo dio paso a los libros de códigos y a las cifras de campo. Los libros de códigos, sucesores del nomenclátor, son descritos brevemente al comienzo del Capítulo 4. Las cifras de campo, así llamadas porque fueron empleadas por los ejércitos en el frente, se dividen en tres categorías: cifrados polialfabéticos, cifrados poligráficos y transposiciones. Son tratados en los Capítulos 3, 4 y 5, respectivamente; en los que también se incluyen métodos de criptoanálisis contra estos cifrados. El Capítulo 6 contiene algunos episodios criptográficos de la Primera Guerra Mundial. Comienza con el telegrama Zimmermann, contando cómo fue descifrado por los británicos y cómo este hecho fue de enorme importancia para el curso de la guerra. Termina con el cifrado ADFGX, mostrando cómo fue vencido por Georges Painvin, el mejor criptoanalista de aquel conflicto. En el Capítulo 7 se presenta el cifrado concebido por el matemático Lester S. Hill en 1929, un método que se formula en términos de ecuaciones algebraicas. Desde entonces, el Álgebra y la Criptografía son dos disciplinas altamente interrelacionadas. El Capítulo 8 va dedicado a las máquinas de rotores, ingenios electromecánicos que fueron empleados durante la Segunda Guerra Mundial. Tras mostrar los fundamentos del rotor, se describen algunas máquinas de cifrar basadas en este mecanismo; entre ellas, la famosa Enigma del ejército alemán. Este aparato criptográfico fue criptoanalizado por matemáticos polacos antes de la Segunda Guerra Mundial; después, ya en tiempo de guerra, otros matemáticos británicos continuarían su trabajo. Gracias a ello, los aliados gozaron de una gran ventaja durante la guerra. El Capítulo 9 describe cómo se llevó a cabo este criptoanálisis, quizás sea el episodio más interesante de toda la historia de la Criptografía. Los dos últimos capítulos van dedicados a la Criptografía Moderna, que así se dice de la destinada a ser implementada en el ordenador. En el Capítulo 10 presentamos brevemente los fundamentos de los nuevos métodos de cifrado; seguidamente, hablamos del controvertido DES, el estándar de cifrado americano que estuvo en vigor hasta 1998; y por último, describimos el modernísimo AES, el actual estándar que sustituyó al DES. El Capítulo 11 está dedicado a la Criptografía en clave pública. Tras introducir los novedosos conceptos de esta Criptografía, detallamos algunos criptosistemas asimétricos; entre ellos, el famoso RSA. El capítulo concluye comentando algunas aplicaciones de la Criptografía en clave pública que son de interés en el mundo actual, como la firma digital o las llamadas tarjetas inteligentes.

Page 7: Libro criptografia

PROLOGO

vii

Las Matemáticas son la herramienta principal de la Criptografía. No obstante, sólo se necesitan unos pocos conocimientos matemáticos para abordar este libro. Toda la Criptografía hecha hasta la Primera Guerra Mundial emplea unas Matemáticas muy elementales: las primeras nociones sobre Combinatoria y Probabilidad, todo lo más. Dichos conceptos los hemos incluido en el texto en el momento que se necesitan. Si lo hemos hecho con mediana claridad, la lectura de los primeros seis capítulos no debe presentar problema alguno para nadie. El Capítulo 7 requiere estar familiarizado con las cuestiones básicas del cálculo matricial, las que se enseñan en el Bachillerato son suficientes. En este mismo Capítulo 7 se introduce la que en Álgebra se llama aritmética modular, la cual se necesita también en los dos capítulos de Criptografía Moderna. Reconocemos que su comprensión puede presentar cierta dificultad para quien no la haya estudiado nunca y esperamos que nuestra exposición no resulte del todo incomprensible para estos lectores. Créannos si decimos que nos hemos esforzado en ello. El criptoanálisis de Enigma precisa algunas cuestiones sobre teoría de permutaciones, también muy elementales. De nuevo, las hemos introducido en el momento que han sido necesarias, acompañándolas de unas explicaciones que esperamos sean suficientes. Por último, las Matemáticas que maneja la Criptografía Moderna han sido reducidas a “su mínima expresión”. Aunque esta nueva Criptografía se soporta en unas Matemáticas que en ocasiones sólo están al alcance de unos pocos, por fortuna es posible dar una rápida introducción a un nivel muy elemental. Es lo que hemos pretendido en los dos últimos capítulos.

Otro aspecto que hemos de comentar es el lenguaje empleado. Cada capítulo del texto es una secuencia de párrafos donde se describen modos de cifrar, se exponen métodos de criptoanálisis, se introducen algunos conceptos matemáticos o se incluyen algunas curiosidades históricas. Obviamente, el lenguaje que se precisa es muy diferente en cada caso. Las Matemáticas se escriben con un lenguaje cargado de símbolos que suelen provocar una sensación de rechazo en quien no está familiarizado con ellos. Con objeto de evitar este efecto, nosotros hemos empleado muy pocos signos matemáticos, sólo los que representan a las operaciones básicas. Sin embargo, este no es el problema. La dificultad está en manejar correctamente expresiones genéricas, en distinguir lo genérico de lo específico; y, sobre todo, en efectuar razonamientos con esta clase de enunciados. Para ello, las Matemáticas recurren al lenguaje de la lógica y los conjuntos, que es precisamente de donde proceden los signos matemáticos. Aquí, en este libro, tales signos han sido reemplazados por expresiones del lenguaje habitual como “para cada clave… ”, “fijado un entero…”, “consideremos un alfabeto de 27 letras…”, etc. El criptoanálisis es pura deducción; y como tal, es una secuencia de razonamientos donde se establece la veracidad de ciertas proposiciones. Hemos intentado clarificar al máximo nuestras argumentaciones, pero lleva su tiempo entenderlas. Un texto donde se establece una demostración requiere mucha más atención que otro donde se cuenta una historia o se describe algo.

Por último, damos las gracias a todos los que nos han ayudado de un modo u otro en la elaboración de este libro. No hace falta que los citemos, ellos saben quienes son.

Page 8: Libro criptografia
Page 9: Libro criptografia

1

INTRODUCCIÓN

Imaginemos que las actividades de dos personas, Alicia y Bernardo, van a requerir que mantengan comunicación durante varios meses y desde lugares distantes, sin que sea posible el contacto personal. Forzosamente, la comunicación debe tener lugar a través de algún medio como el teléfono o el correo. Imaginemos también que una tercera persona, Carlos, está interesada en los actos de Alicia y Bernardo. Carlos es muy poderoso, controla todos los canales de comunicación. Sin duda alguna, interceptará cualquier comunicación entre Alicia y Bernardo. Estos lo saben y no desean que Carlos se entere de sus actividades. Toda información que intercambien deberá permanecer secreta para Carlos. Para convenir como hacerlo, tienen una reunión previa.

Enseguida se dan cuenta que no podrán conversar por teléfono, ya que estará intervenido. Tendrá que ser mediante mensajes escritos. El correo electrónico es el medio más adecuado. Pero claro, los mensajes viajan por una red de ordenadores acompañados de unos números que identifican al ordenador de origen y al de destino. Conociendo estos números, resulta fácil para el que controla la red interceptar aquellos correos que le interesan. Con toda seguridad, Carlos leerá el contenido de los mensajes que intercambien Alicia y Bernardo. Ahora bien, si su significado se ha ocultado de algún modo, si son incompresibles para Carlos pero no para Alicia y Bernardo, éstos habrán resuelto su problema. No parece que sea difícil hacerlo, basta con manipular las letras de un mensaje para que éste esconda el significado de las palabras que contiene. Después, cuando el mensaje llegue a su destino, se recompone de nuevo y las palabras recuperan el sentido. Naturalmente, para que este proceso logre su cometido, el modo en que se han alterado las letras no debe ser observable en los mensajes que se transmiten. Y hay muchas formas de hacerlo. Alicia y Bernardo consideran varias: escribir al revés, cambiar unas letras por otras... O mejor aún, combinar dos de estas maneras. Por ejemplo, primero se escriben las palabras al revés y después se cambia cada una de las letras por la que sigue en el orden alfabético. Consideran que es perfecta. ¿Quién va a adivinar que tras ‘PUFSDFT’ se esconde la palabra SECRETO?

Tarde o temprano todo el mundo. Estos modos de ocultar el significado de los mensajes son los primeros que piensa cualquier persona. También lo hará Carlos. Ciertamente, observando aislado el fragmento ‘PUFSDFT’ es difícil averiguar su procedencia; pero contemplando al mismo tiempo varios textos manipulados todos ellos de ese modo ya no es tan difícil. Los artículos y otras palabras de uso frecuente pero con

Page 10: Libro criptografia

INTRODUCCIÓN

2

pocas letras ayudarán a descubrir el engaño. Lo que en un principio parecía una buena idea resulta ser, tras una breve reflexión, una ingenuidad. A esta misma conclusión llegan Alicia y Bernardo. Una manipulación de los mensajes no va ser suficiente para burlar a Carlos, por muy complicada que sea. Primero porque no hay tantas maneras de hacerlo, y segundo porque los mensajes que intercepte Carlos dan pistas sobre ella. En consecuencia, la solución a su problema requiere algo más.

Sí, claro, pero ¿qué? Más tiempo de reflexión trae nuevas ideas: que en el proceso de manipulación de los mensajes intervenga cierto dato, como una palabra o un número, y de modo que el resultado dependa de él. Más aún, si el dato puede variar fácilmente y si puede ser escogido entre una gran cantidad posible, no cabe duda que a quien lo desconozca le será muy difícil recuperar el significado de los mensajes. Quizás hasta sea imposible. Esta es la clave de la solución al problema de Alicia y Bernardo; y así deciden llamar al citado dato: la clave. La idea es interesante, pero ¿cómo llevarla a la práctica?

En primer lugar, hay que contemplar un mensaje como una simple secuencia de signos que van uno a continuación de otro. Estos signos son las letras, las hay mayúsculas y minúsculas, los números, los signos de puntuación, etcétera. Todos ellos constituyen el alfabeto. Generalmente, no es necesario emplearlos todos para transmitir información; puede bastar con redactar los mensajes empleando sólo letras mayúsculas y sin signos de puntuación. En consecuencia, antes que nada hay que convenir un alfabeto con el que se escribirán los mensajes con significado. Este alfabeto se denomina alfabeto en claro o llano, y a los textos con él redactados textos en claro o textos llanos. Como es de esperar, el alfabeto que se fije depende del tipo de información que se vaya a transmitir. Alicia y Bernardo consideran el alfabeto formado por las veintisiete letras mayúsculas y el punto ‘·’ que hará de separador de palabras. Un ejemplo de texto en claro puede ser el siguiente:

Texto llano: SE·APLAZA·LA·REUNION·DEL·LUNES

Los textos en claro van a ser transformados para ocultar su significado. Como consecuencia de ello, se obtendrá otra secuencia de caracteres que se llama texto cifrado o criptograma. Con frecuencia, sus signos pertenecen también al alfabeto en claro, pero no tiene porque ser así. Por tanto, hay que considerar también el alfabeto que forman los signos de los textos cifrados, que recibe el nombre de alfabeto de cifrado. Alicia y Bernardo deciden que el suyo sea el constituido por los dígitos del 0 al 9 junto con el espacio en blanco. Tienen pensado que los criptogramas sean series de números separadas por dicho espacio en blanco.

El siguiente paso es considerar las claves. Deben ser elegidas entre una gran cantidad posible. Las que van a emplear los protagonistas de nuestro imaginario ejemplo son palabras de ocho letras, no necesariamente con sentido gramatical. Empleando las 27 letras del alfabeto, el número de tales palabras es 278, cifra que supera los mil millones; suficiente para Alicia y Bernardo. Las claves deben intervenir en la transformación de los textos en claro en criptogramas; y viceversa, en la recuperación de aquellos a partir de éstos. Tales transformaciones se denominan algoritmos de cifrado y descifrado, respectivamente. Describirlos con exactitud es la próxima tarea que ocupa a Alicia y Bernardo.

Page 11: Libro criptografia

INTRODUCCION

3

Fijada una clave, por ejemplo la palabra IMAGINAR, colocan los 28 caracteres del alfabeto en claro en un rectángulo dividido en 30 casillas dispuestas en tres filas y diez columnas. Primero escriben las letras de la clave a partir de la tercera casilla, sin repetir ninguna letra. A continuación el punto ‘·’ y después el resto de las letras en su orden habitual. El siguiente esquema lo explica perfectamente:

1 2 3 4 5 6 7 8 9 0 I M A G N R · B 1 C D E F H J K L Ñ O 2 P Q S T U V W X Y Z

Los números que rodean al rectángulo sirven para asociar de manera unívoca un entero de uno o dos dígitos a cada letra del alfabeto en claro. A las de la primera fila se asocia el número que está encima de ellas; y a las de la segunda y tercera filas, este mismo número precedido por un 1 ó un 2, respectivamente. Así, a la letra A se asocia el 5 y a la S el 23. El propósito de Alicia y Bernardo es sustituir cada uno de los signos de los textos en claro por el número correspondiente, dando lugar a una secuencia de dígitos. Mostrémoslo con el texto en claro de antes:

S E · A P L A Z A · L A · R E U N I O N · D E L · L U N E S 23 13 9 5 21 18 5 20 5 9 18 5 9 8 1325 7 3 10 7 9 121318 9 18 25 7 13 23

Recorriendo de izquierda a derecha la secuencia de dígitos puede recuperarse de nuevo el texto en claro. Ello es posible porque ni el 1 ni el 2 van asociados a signo alguno. Así, cuando en este recorrido se encuentre un 1 o un 2, habrá que considerar también el siguiente dígito para descubrir la próxima letra. Es fundamental que el receptor del mensaje pueda obtener sin ambigüedad el texto en claro durante el proceso de descifrado.

Pero la secuencia de dígitos antes obtenida no es todavía el texto cifrado. Aún debe someterse a la siguiente modificación. Considerando de nuevo la clave y asociando a cada una de sus letras un dígito entre 1 y 8 según el orden alfabético, se obtiene un número de ocho cifras:

I M A G I N A R4 6 1 3 5 7 2 8

Si se repite sucesivas veces este número, se puede conseguir una cadena de dígitos tan larga como la secuencia anterior. Se escriben ambas series de números una debajo de la otra. Una vez hecho, se suman los dígitos sin tener en cuenta la unidad que hay que llevarse cuando se pase de diez. Ello proporciona una tercera serie de dígitos:

Page 12: Libro criptografia

INTRODUCCIÓN

4

2313952118520591859813257310791213189182571323 4613572846135728461357284613572846135728461357 —————————————————————————————————————————————— 6926424954655219210160431923263059214800932670

Y ya, por fin, el texto cifrado es esta última secuencia de dígitos, agrupándolos en bloques de cinco y separándolos por un espacio en blanco:

69264 24954 65521 92101 60431 92326 30592 14800 93267 0

Para recuperar el mensaje en claro, el receptor de este criptograma debe deshacer los pasos anteriores. Primero, ha de colocar debajo de estos números las series repetidas del entero de ocho cifras asociado a la clave; y a continuación, efectuar la resta sin llevarse unidades. Después, usando el anterior rectángulo de 30 casillas, recuperará el texto en claro del modo explicado antes.

Observemos el papel de la clave en todo este proceso. Distintas claves dan lugar a diferentes disposiciones de las letras en el rectángulo y a distintos números de ocho cifras. Por consiguiente, variar la clave ocasiona que un mismo texto en claro dé lugar a diferentes criptogramas. La clave debe cambiarse periódicamente. Este periodo estará en función del tráfico de mensajes. Muchos mensajes cifrados con una misma clave pueden comprometer la información que esconden todos ellos. Lo ideal es emplear una clave distinta en cada mensaje, pero ello puede requerir manejar una cantidad tan elevada de claves que lo hará inviable en la práctica. En el ejemplo que describimos, Alicia y Bernardo prevén un flujo de mensajes del orden de media docena al día. Consideran que con emplear una clave distinta cada semana será suficiente. Con este supuesto, confeccionan por duplicado una lista con un número de claves que cubre el tiempo que durará su actividad. La guardarán con el mayor de los secretos. Por último, observan que es conveniente ir borrando de la lista las claves que hayan caducado. Protegerán así la información transmitida en el caso que Carlos se apodere de dicha lista de claves.

El problema al que se enfrentan Alicia y Bernardo es precisamente el objeto de la Criptografía: establecer comunicación segura por un canal inseguro. Durante siglos, esta disciplina ha sido casi exclusiva de diplomáticos y militares. La han empleado los gobiernos para enviar instrucciones a sus embajadores en el extranjero, también los mandos de un ejército para transmitir órdenes a sus unidades en el frente. En la actualidad, en la que muchos llaman la era de la información, el uso de la Criptografía ha trascendido a otros espacios como la industria o el comercio. Más aún, en estos ámbitos han surgido versiones del problema anterior que hacen protagonistas a personas que nada tienen que ver con la Criptografía. Por ejemplo, cuando alguien efectúa una operación bancaria a través del teléfono o por Internet, representa el papel de Alicia y Bernardo; cuando se intenta acceder a la emisión de un canal codificado de televisión sin estar abonado, se actúa como Carlos.

La Criptografía intenta resolver el problema anterior diseñando criptosistemas. Precisamente es lo que han hecho Alicia y Bernardo para intentar burlar a Carlos. Gracias al ejemplo que nos han proporcionado y a las explicaciones que hemos ido insertando,

Page 13: Libro criptografia

INTRODUCCION

5

podemos definir de forma esquemática este concepto fundamental: un criptosistema consta de los siguientes elementos:

1.- Un alfabeto en claro y otro de cifrado, con los que se escriben los textos llanos y los criptogramas, respectivamente.

2.- Una colección de datos llamados claves, en los que se deposita la seguridad del criptosistema.

3.- Un algoritmo de cifrado, que transforma los textos llanos en criptogramas; y otro de descifrado, que deshace el proceso anterior.

Una vez que Alicia y Bernardo comiencen a transmitir mensajes cifrados entrará en acción Carlos, quien intentará acceder a la información que esconden dichos mensajes. A los intrusos como él la Criptografía les llama criptoanalistas, y a su trabajo criptoanálisis. Su objetivo es entonces obtener los textos en claro. Generalmente, ello pasa por descubrir primero el criptosistema empleado y después las claves concretas con las que se descifran los criptogramas. Dado que el canal por donde circulan los mensajes no es seguro, hay que suponer siempre que el criptoanalista dispondrá de la mayor parte de los criptogramas transmitidos. En ocasiones esto puede ser suficiente para que el criptoanalista logre su cometido. En tal caso, al método que emplee se le denomina criptoanálisis con texto cifrado. Con frecuencia sucede que las personas que manejan información cifrada cometen errores o descuidos que permiten al criptoanalista conseguir los textos llanos de los que proceden algunos criptogramas. Si con ellos obtiene el resto de los mensajes en claro, se dice entonces que el criptosistema sucumbe ante un criptoanálisis con texto claro y cifrado. Si el criptoanalista pertenece a un servicio de inteligencia con suficientes medios, muy probablemente su organización le consiga el criptosistema y una buena cantidad de textos en claro y sus correspondientes cifrados. Si el resto de los mensajes en claro resisten este criptoanálisis total, es entonces cuando el criptosistema se considera seguro.

Introducida esta terminología, es obligado responder a lo siguiente: ¿es seguro el criptosistema ideado por Alicia y Bernardo?, ¿logrará Carlos acceder a la información cifrada? Evidentemente, depende de los conocimientos y medios que posea. Quien controla los medios de comunicación suele tener en nómina a personas con avanzados conocimientos en criptoanálisis y les facilita los medios que necesiten. Para estos criptoanalistas, el criptosistema de Alicia y Bernardo es muy simple; seguro que lo derrotan con texto cifrado únicamente y en poco tiempo.

No obstante, a pesar de su sencillez, el criptosistema de Alicia y Bernardo es muy interesante. Es una versión simplificada de otros que usaron espías soviéticos durante y después de la Segunda Guerra Mundial, y con los que burlaron a los servicios de contraespionaje de los países donde actuaron. Entre todos estos criptosistemas, el más seguro (y también el más complejo) fue el empleado por Reino Hayhanen, espía ruso en los Estados Unidos entre 1953 y 1957. El F.B.I. sólo pudo acceder a la información transmitida por Hayhanen cuando éste, tras desertar, proporcionó las claves. Si Alicia y Bernardo hubiesen incorporado en su criptosistema algunas de las ideas presentes en el de Hayhanen, habrían puesto en muchas dificultades a su oponente Carlos.

Page 14: Libro criptografia

INTRODUCCIÓN

6

Pero no era el objetivo de esta introducción mostrar un criptosistema seguro, resistente a los mejores criptoanalistas; sino presentar la noción de criptosistema e ilustrarla con un ejemplo sencillo. Será necesaria para abordar los capítulos que siguen a continuación. En ellos el lector advertirá poco a poco lo difícil que es concebir un criptosistema seguro.

Page 15: Libro criptografia

7 7

1

LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

Los historiadores dicen que la Criptografía es casi tan antigua como la propia escritura. Afirman que está presente en todas las civilizaciones de la Antigüedad y dan ejemplos documentados que lo demuestran. Sin embargo, estos ejemplos son puntuales. Ninguna de estas civilizaciones hizo uso común de la Criptografía. Ningún imperio de aquella época la utilizó de forma habitual para enviar mensajes confidenciales a sus provincias o a su ejército, sólo en contadas ocasiones. El uso regular de la Criptografía comienza en la Edad Media, con los árabes; y en Europa ello no sucede hasta el Renacimiento. Hasta entonces, aunque la Criptografía surge en muchos lugares, únicamente aparece de forma esporádica. En la Antigüedad sólo hay unas pocas muestras de Criptografía, y son muy simples. Pero hay que comenzar por dichas muestras. No sólo por curiosidad histórica, sino porque en ellas hay parte de la base de la Criptografía que vendrá después. Las líneas que siguen a continuación contienen algunos de dichos ejemplos, creemos que los más significativos.

El primer texto relacionado con la Criptografía del que se tiene conocimiento data aproximadamente del año 1900 a.C. Es del antiguo Egipto; es un grabado en una piedra de la cámara principal de la tumba de un noble de la ciudad de Menet Khufu, a las orillas del Nilo. En él se cuentan los actos más relevantes de la vida de ese noble. En realidad no es un texto criptografiado con la intención de ocultar su contenido, sino que es simplemente un texto en el que ciertos símbolos jeroglíficos se cambian por otros similares pero no usuales. Se cree que con la intención de dotar al texto de cierto tono de dignidad. Esta práctica perduró durante cierto tiempo, con escritos cada vez más complicados; pero después se abandonó. Constituye la única muestra criptográfica de la civilización egipcia.

Los escribas de la antigua Mesopotamia también cambiaron en ocasiones los signos cuneiformes de su escritura por otros, coincidiendo así con sus colegas egipcios en esta forma de alterar la escritura. Pero a diferencia de los egipcios, los escribas mesopotámicos sí tuvieron intención de ocultar el significado de la escritura. De esta cultura es el texto

Page 16: Libro criptografia

1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

8

cifrado más antiguo que se conserva, data aproximadamente del año 1.500 a.C. Es una tablilla de arcilla en la que se escribió secretamente una fórmula para el barniz que se empleaba en alfarería. Seguramente era un valioso tesoro en aquella remota época.

Saltando ya al siglo VI a.C., en algunos antiguos textos hebreos, entre los que están los bíblicos, figuran nombres de personas y ciudades que han sido transformados mediante ciertas sustituciones de unas letras por otras. La más frecuente es la denominada “atbash”. En el “atbash” la primera letra del alfabeto hebreo se cambia por la última y viceversa, la segunda por la antepenúltima y así sucesivamente, según el esquema que se muestra en la Figura 1.1. Otra sustitución similar es el “albam”. En ella la primera letra se intercambia con la duodécima, la segunda con la decimotercera y así sucesivamente. Sin embargo, no se observa razón alguna para tal encriptación. ¿Quizás para dar un aire de misterio a los escritos?

Figura 1.1. El “atbash” hebreo.

Una curiosa forma de enviar secretamente mensajes se produjo en la antigua China. Generalmente, la diplomacia china y su ejército transmitían la información de forma oral, memorizando los mensajes. Pero en ocasiones se escribía el texto de forma minuciosa en fina seda que después se enrollaba y se sellaba con cera. El mensajero lo ocultaba en su propio cuerpo, tragándoselo. Este modo de enviar secretamente información ocultando el propio mensaje recibe el nombre de esteganografía.

Otro ejemplo histórico de esteganografía es la manera en que los griegos del siglo V a. C. se enteraron a tiempo del plan de invasión de Persia. Cuenta el historiador Herodoto en su obra “Las Historias” que Demarato, un exiliado griego en Persia, grabó los planes

Page 17: Libro criptografia

1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

9

persas en un par de tablillas de madera y después las cubrió con cera, ocultando así el mensaje. Las tablillas partieron desde la ciudad persa de Susa hasta Esparta sin ser interceptadas por el camino. Ya en su destino, Gorgo, esposa del rey Leónidas, adivinó que debajo de la cera debería esconderse algo escrito. Después que el mensaje fue leído, Esparta comunicó las intenciones persas al resto de las ciudades griegas. Gracias a ello, los griegos pudieron armarse a tiempo y derrotar a los persas en las batallas de las Termópilas, Salamina y Platea.

Fueron precisamente los espartanos de ese mismo siglo V a.C. quienes diseñaron el primer criptosistema para uso militar: el escítalo. Plutarco en su obra “Vida de Lisandro” lo describe como un bastón redondo en el que se enrollaba una cinta de pergamino larga y estrecha como una correa, sobre la que se escribía un mensaje en forma longitudinal. Al desenrollar la cinta las letras aparecían en otro orden, formando una secuencia sin sentido. El receptor del mensaje disponía de otro bastón exactamente igual que el del emisor, y recuperaba el mensaje enrollando de nuevo la cinta. (Véase la Figura 1.2).

Figura 1.2. El escítalo espartano.

Continuando en la Grecia clásica, el escritor Polibios describe en el siglo II a. C. un curioso sistema de señales que puede ser adoptado también como método criptográfico. Polibios dispone las letras en un cuadrado, como el que sigue a continuación:

1 2 3 4 5 1 α β γ δ ε 2 ζ η θ ι κ 3 λ µ ν ξ ο 4 π ρ ς σ τ 5 υ φ χ ψ ω

Tabla 1.1. Cifrado de Polibios

Page 18: Libro criptografia

1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

10

Cada letra puede ser representada por dos números. Por ejemplo: α con 11, ρ con 42. Polibios sugería transmitir estos números por medio de señales luminosas procedentes de antorchas y así poder enviar mensajes desde largas distancias.

Hay que dudar de la efectividad del método de Polibios en la transmisión de información, pero es incuestionable que su idea de representar letras por números es muy interesante. Estará presente a lo largo de toda la historia de la Criptografía.

Ya en la época romana, Julio Cesar en su “Guerra de las Galias” señala que envió un mensaje a su general Cicerón cambiando las letras latinas por las griegas. Posteriormente, Julio Cesar ideó un modo de cifrado que figura como ejemplo en todos los textos de Criptografía. Es simple, consiste en sustituir cada letra por la que se encuentra tres posiciones más avanzada en el orden del alfabeto. Así, con nuestro actual alfabeto, la ‘a’ se cambiaría por la ‘D’, la ‘b’ por la ‘E’,...., y la ‘z’ por la ‘C’; como se indica a continuación:

a b c d e f g h i j k l m n o p q r s t u v w x y z

↓ D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

Sustitución de Julio César.

Con este esquema, la famosa frase de Cesar ‘veni, vidi, vinci’ se cifraría ‘YHPL, YLGL, YLPFL’.

Sorprende encontrar una muestra de Criptografía en el texto erótico “El Kamasutra”, escrito en el siglo IV. En él se listan 64 artes que las mujeres deben conocer y practicar, entre las que están el canto, la cocina y el ajedrez. La número 45 recibe el nombre “mlecchita-vikalpa” y es el arte de la escritura secreta. En el Kamasutra se describen incluso dos métodos de cifrado. Uno de ellos recibe el nombre de “kautiliyam” y consiste en cambiar unas letras por otras relacionadas fonéticamente. El otro se llama “mūladeviya” y consiste en emparejar aleatoriamente las letras del alfabeto y reemplazar cada letra de un texto por su pareja.

Y un último ejemplo. En nuestros archivos históricos se conservan varios documentos cifrados de la época visigótica. En ellos se sustituyen las vocales por diferentes signos; en ocasiones por puntos y líneas, otras veces por números romanos.

En esta breve reseña histórica encontramos tres formas diferentes de enviar mensajes secretos. A una de ellas la llamamos esteganografía y dijimos que consiste en ocultar el propio mensaje. En los ejemplos mostrados hay dos de esteganografía. Otro ejemplo típico es la escritura con tinta invisible. Seguramente ésta es la técnica esteganográfica más empleada en todos los tiempos. Es antiquísima. Ya en el siglo I, Plinio el Viejo mostró como hacer tinta invisible con el jugo de cierta planta. Estas tintas, también llamadas “simpáticas”, se hacen visibles al entrar en contacto con otra sustancia

Page 19: Libro criptografia

1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

11

o con calor. Sin embargo, la esteganografía no es propiamente una forma de Criptografía; o al menos no responde al modelo de criptosistema que dimos en la introducción.

El modo de cifrar mensajes del escítalo espartano se conoce como cifrado por transposición. En general, un cifrado por transposición es aquel en que las letras del texto se reordenan de otra manera, siguiendo un patrón convenido entre el emisor y el receptor del mensaje. Un ejemplo sencillo de cifrado por transposición consiste en escribir al revés las palabras de un texto. En la Criptografía moderna se sigue haciendo uso de la transposición.

Pero en los demás ejemplos históricos que hemos presentado, la manera de cifrar consiste simplemente en cambiar unas letras del alfabeto por otras, o por símbolos o números (cifrado de Polibios), haciendo el texto resultante ininteligible. Sin duda, ésta es la forma de comunicación secreta más empleada en la Antigüedad. Recibe el nombre de cifrado por sustitución y lo estudiaremos detenidamente a continuación. Este estudio nos ayudará a entender otros métodos de cifrado más complicados que aparecerán en posteriores capítulos.

La definición que acabamos de dar del método de sustitución es clara y sencilla, lo explica perfectamente; pero no nos permite extraer conclusión alguna de la seguridad que proporciona. Para ello, es necesario que lo describamos como un método de codificación que responde al modelo presentado en la introducción. Esto es, como un criptosistema. Recordemos que en un criptosistema se parte de dos alfabetos o colecciones de caracteres. Los textos a cifrar se contemplan como una secuencia de caracteres elegidos en el primer alfabeto, que se llama alfabeto en claro o llano. Los textos cifrados son así mismo sucesiones de caracteres del segundo alfabeto, llamado alfabeto de cifrado. La obtención del texto cifrado a partir del texto en claro se realiza mediante un proceso llamado algoritmo que depende de un dato fundamental: la clave. La clave también es necesaria al receptor del mensaje para su descifrado.

En el cifrado por sustitución el alfabeto llano y el de cifrado tienen el mismo número de caracteres. Frecuentemente los dos alfabetos son el mismo, pero en general no tiene porque ser así. Ahora, cada signo del alfabeto llano se empareja con un único carácter del alfabeto cifrado. Habitualmente, esto se hace colocando en orden los caracteres del alfabeto llano y debajo de cada uno de ellos el signo del alfabeto cifrado con el que se empareja. En el cifrado de Julio Cesar hemos dado un ejemplo de cómo hacerlo. Otro ejemplo se muestra a continuación.

Claro: a b c d e f g h i j k l m n ñ o p q r s t u v w x y z

Cifrado: C R Y P T O G A F I B D E H J K L M N Ñ Q S U V W X Z

Ejemplo de sustitución.

Notemos que ambos alfabetos, el claro y el de cifrado, son el mismo: nuestro alfabeto español. La clave en el método de sustitución es precisamente el modo en que

Page 20: Libro criptografia

1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

12

emparejamos los caracteres de un alfabeto con los del otro. Tanto emisor como receptor deben conocer la clave. Para cifrar, el emisor reemplaza cada carácter del texto en claro por el carácter que tiene asociado en el alfabeto cifrado, según indica la clave. Para descifrar, el receptor del mensaje tiene que cambiar cada signo del texto cifrado por aquel del alfabeto llano que le corresponde. Así, usando la clave que proporciona este mismo ejemplo dado antes, el texto en claro cifradoporsustitución se cifraría así:

Texto llano: cifradoporsustitución Texto cifrado: YFONCPKLKNÑSÑQFQSYFKH

Observemos en este ejemplo que el alfabeto de cifrado se ha formado a partir de la palabra “CRYPTOGRAFIA”: se ha colocado esta palabra sin repetir la ‘R’ y la ‘A’, y a continuación el resto de las letras en su orden habitual. Es una forma práctica de formar claves a partir de palabras, ya que facilita la memorización de la clave; pero no hay que confundir la clave con la palabra. La clave es, repetimos, el modo en que se emparejan las letras de los alfabetos llano y de cifrado.

¿Y cuántas claves posibles hay en el cifrado por sustitución? Calculémoslas. Para ello, supongamos que el alfabeto en claro es el nuestro, el español, y que el de cifrado está formado por 27 signos cualesquiera. La primera letra del alfabeto llano es la ‘a’. Tenemos 27 signos del alfabeto cifrado para relacionar con la ‘a’, y cada uno de ellos dará lugar a una clave distinta. Una vez resuelto que signo emparejamos con la ‘a’, nos quedarán 26 posibles para asociar con la ‘b’, que es la segunda letra del alfabeto llano. Y como antes, cada una de estas 26 posibilidades determinará una clave distinta. A continuación, decidimos que signo del alfabeto de cifrado agrupamos con la ’c’. Restarán 25 de ellos. Etcétera. Ya concluimos: el número de claves posibles es el producto de todas las formas diferentes de elegir signos para cada una de las letras. En total:

27×26×25× ....×2×1 = 10888869450418352160768000000.

Este es un número muy grande. Llevaría una eternidad descifrar un mensaje por sustitución probando todas las claves una a una, aún incluso con un ordenador. Un ordenador que fuese capaz de comprobar un trillón de claves por segundo (y sería mucho más rápido que los actuales) tardaría más de trescientos años en comprobarlas todas.

Este hecho puede inducirnos a pensar en una gran seguridad del cifrado por sustitución si tanto el emisor como el receptor guardan secretamente la clave. Pues no, no es así. Un intruso recupera fácilmente la clave si es capaz de hacerse con unas pocas líneas de texto pleno y su correspondiente cifrado. (Recordemos que esto en Criptografía se llama ataque con texto pleno). Sólo tiene que ir leyendo una a una las letras del texto claro y cotejándolas con sus correspondientes del texto cifrado, de este modo se recupera la clave. Y obtenida la clave, es sencillo descifrar cualquier otro mensaje que se cifre con ella.

Pero la clave puede recuperarse también sin conocer texto pleno alguno. ¿Cómo? Pues haciendo uso de la gran debilidad del cifrado por sustitución: cada letra del texto en claro se cifra siempre con el mismo signo del alfabeto de cifrado. Ello permite recuperar

Page 21: Libro criptografia

1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

13

la clave a partir de unas cuantas líneas de texto cifrado mediante el llamado análisis de frecuencias, que es la técnica de criptoanálisis más antigua en la historia de la Criptografía. Es de origen árabe y aparece ya en textos que se remontan al siglo IX.

Los califas árabes que sucedieron a Mahoma hicieron uso habitual de la Criptografía para administrar su imperio, la aprendieron de la conquistada Persia. Al igual que los reyes persas, los califas se comunicaban secretamente con los emires de sus provincias mediante mensajes cifrados. Pero la Criptografía fue utilizada también en instancias inferiores del estado. Los libros árabes de la época citan, por ejemplo, que los funcionarios encargados de la recaudación de los impuestos protegían la información de sus archivos cifrando los documentos. En dichos textos pueden encontrarse varios modos de cifrado, la mayoría respondiendo al modelo de sustitución. Y también puede leerse como criptoanalizarlos mediante el citado análisis de frecuencias.

Uno de estos libros es una enorme enciclopedia de 14 volúmenes que recoge todo el saber de la época, lleva el título “Subh al-a ´sha” y se terminó de escribir en 1412. Su autor: Shilāb al-Dīn abu ´l-Abbas Ahmad ben ´Ali ben Ahmad ´Abd Allāh al-Qalqashandi. Contiene una sección dedicada a la Criptografía con el título “Sobre la ocultación de mensajes secretos en las cartas”. En ella se explica claramente como desencriptar un cifrado por sustitución: lo primero es averiguar en qué idioma se ha escrito el texto en claro y después...

“... cuenta cuantas veces se repite cada símbolo y anótalo. Si la persona que ha diseñado el código ha sido meticulosa y ha ocultado la separación de las palabras en el cuerpo del mensaje, entonces lo primero es descubrir que símbolo divide las palabras... Seguidamente, mira que letras aparecen más frecuentemente en el mensaje y compara con el patrón de frecuencias de letras previamente mencionado. Cuando veas que una letra aparece en el mensaje más veces que el resto, asume que es ‘alif’; luego asume que la siguiente más frecuente es ‘lām’. La exactitud de tu conjetura será confirmada por el hecho que en la mayoría de los contextos, ‘lām’ sigue a ‘alif’...”

Se entenderá mejor la idea que expone Al-Qalqashandi si es llevada a la práctica. Esto es, si la usamos para criptoanalizar un texto cifrado por sustitución. Con este fin consideramos el siguiente criptograma:

Page 22: Libro criptografia

1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

14

HS2BHF7JÑ7207HS2B9C722SJ47JÑ72MP7BN77JMP7H92BS2926

929J6SNMP72FMP7JS17N7B7H967J96SJ7NN7170FS9J9097J7H

070SK9NS29ÑS0S2CP19J3HS2192170FÑ9J92SH922S8N7H926S

8N729198H727JÑN9K98H72BS292MP7H72HH7J9JSH72Q9BF9JH

9QF097JÑ7N9D93MPF7J6SJ79H2FH7JBFSPJ90719J2SK90SN07

F16N7BF29N7BSN09BFSJ3D93Ñ918F7JMPF7JD9B7171SNF9BSJ

H9B9N9982SNÑ937JH9B9N96FJÑ90S7H472ÑS07H9872ÑF9NPFJ

07H991SNS292P6HFB9JÑ7872ÑF9B9J2909H919JS2P57Ñ9J0SH

9CN7JÑ737H1FN9NHH7JS07919N4PN9BS1SPJ19N7JB9H190S

Criptograma

Siguiendo al mencionado autor árabe, lo primero es averiguar en qué idioma se ha escrito el mensaje en claro. Normalmente, esto lo revela el contexto. Sin duda, el conocer quién ha escrito el texto o a quién va dirigido nos daría una pista fundamental. Pero en el ejemplo que hemos propuesto no vamos a revelar de antemano el idioma en que se ha escrito el texto en claro; sólo diremos que es una de las lenguas occidentales más habladas y dejaremos que el análisis de frecuencias que sigue a continuación descubra el idioma que es.

Comencemos entonces el mencionado análisis del criptograma. Contemos cuántas veces se repite cada signo; esto es, su frecuencia. La Tabla 1.2 lo recoge.

Signo Frecuencia Signo Frecuencia

0 19 D 3 1 18 F 21 2 37 H 30 3 6 J 37 4 3 K 3 5 1 M 7 6 9 N 26 7 60 Ñ 15 8 8 P 14 9 70 Q 2 B 19 S 37 C 3

Tabla 1.2. Frecuencias del criptograma.

Page 23: Libro criptografia

1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

15

Si el texto del criptograma hubiese sido formado eligiendo los caracteres de modo aleatorio, cada uno de ellos aparecería aproximadamente el mismo número de veces. Éstas serían el cociente entre el número total de signos que figuran en el texto, 448, y el número de signos diferentes que hay, 23. Este cociente es 19. Pero observamos que mientras que caracteres como ‘9’ o ‘7’ tienen una frecuencia mucho mayor que 19, otros como ‘5’ o ‘Q’ apenas aparecen una y dos veces, respectivamente. Hay signos mucho más frecuentes que otros.

Lo mismo sucede con las letras de un idioma. Las palabras se forman uniendo sílabas que, por regla general, contienen una vocal y una o dos consonantes. Puesto que en el alfabeto latino las vocales son 5 y las consonantes 21 (22 si incluimos la ‘ñ’), ello explica que las vocales aparezcan más a menudo que muchas de las consonantes. Y ocurre también que no todas las vocales o consonantes presentan la misma frecuencia. Por ejemplo, en español la ‘a’ y la ‘e’ se utilizan mucho más que la ‘u’; y mientras que las consonantes ‘s’, ‘n’ o ‘r’ están presentes en numerosas palabras, hay muy pocas conteniendo ‘k’ o ‘x’. Situaciones similares ocurren en todos los idiomas.

Cuando se cifra un texto sustituyendo cada letra por otra o por un signo, se oculta su significado; pero no las frecuencias de las letras empleadas. La frecuencia de cada letra del mensaje en claro es la misma que la del carácter que lo sustituye. Por tanto, los signos que más abundan en el texto cifrado se han de corresponder con las letras de más frecuencia en el texto en clave. Esta es la idea esencial del análisis de frecuencias.

Luego, el primer paso para resolver un criptograma por sustitución es conocer las frecuencias de las letras de la lengua con la que se ha escrito el texto en claro. Esto puede determinarse empíricamente, considerando en un idioma dado una cantidad ingente de texto de diferentes publicaciones como periódicos, novelas, libros de texto, etc. Es una tarea muy pesada, pero hace mucho que se ha hecho. Y no sólo para los idiomas más hablados, sino para la práctica totalidad de las lenguas que se hablan en el mundo. No en vano la técnica del análisis de frecuencias tiene ya más de mil años. Seguramente, casi todos los servicios secretos del mundo disponen de los datos de las frecuencias de las letras de muchos de los idiomas que se hablan en el mundo, en especial de las lenguas habladas en sus países vecinos. Pero no es necesario recurrir a ningún servicio secreto, los libros de Criptografía incluyen las frecuencias de las lenguas más populares. Y probablemente, para cada idioma haya alguna dirección de Internet con las frecuencias de sus letras.

Así, con datos del libro de F. Pratt que referenciamos en la bibliografía, hemos confeccionado la Tabla 1.3 que recoge las frecuencias en tanto por ciento de cada letra para el inglés, español, francés y alemán. Hemos ordenado las letras colocando primero las de mayor frecuencia.

Page 24: Libro criptografia

1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

16

Inglés Español Francés Alemán

E 13.105 E 13.676 E 17.564 E 16.693 T 10.468 A 12.529 A 8.147 N 9.905 A 8.151 O 8.684 S 8.013 I 7.812 O 7.995 S 7.980 I 7.559 S 6.765 N 7.098 R 6.873 T 7.353 T 6.742 R 6.832 N 6.712 N 7.322 R 6.539 I 6.345 I 6.249 R 6.291 A 6.506 S 6.101 D 5.856 U 5.991 D 5.414 H 5.259 L 4.971 L 5.783 H 4.064 D 3.788 C 4.679 O 5.289 U 3.703 L 3.389 T 4.629 D 4.125 G 3.647 F 2.924 U 3.934 C 3.063 M 3.005 C 2.758 M 3.150 M 2.990 C 2.837 M 2.536 P 2.505 P 2.980 L 2.825 U 2.459 B 1.420 V 1.557 B 2.566 G 1.994 G 1.006 Q 1.361 O 2.285 Y 1.982 Y 0.895 G 1.051 F 2.044 P 1.982 V 0.895 F 0.959 K 1.879 W 1.539 Q 0.875 B 0.876 W 1.396 B 1.440 H 0.704 H 0.721 V 1.096 V 0.919 F 0.694 J 0.598 Z 1.002 K 0.420 Z 0.523 X 0.350 P 0.944 X 0.166 J 0.443 Y 0.116 J 0.191 J 0.132 X 0.221 Z 0.072 Q 0.055 Q 0.121 W 0.023 K 0.041 Y 0.032 Z 0.077 K 0.004 W 0.020 X 0.022

Tabla 1.3. Frecuencias de las letras.

Notemos que en la columna correspondiente al español no figura la ‘ñ’. No suelen incluir su frecuencia los textos extranjeros por no estar en sus alfabetos. No obstante, la ‘ñ’ aparece pocas veces; nosotros hemos calculado una frecuencia de 0.234 para ella.

Los datos anteriores son sólo indicadores de cuales pueden ser las frecuencias de las letras. Si el texto consta de muchas letras, es muy posible que sus frecuencias se asemejen a las presentadas aquí; pero si el texto es corto, puede haber distorsiones importantes. Aunque ésta tampoco es una regla que sea siempre válida; ya que, como recoge S. Singh

Page 25: Libro criptografia

1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

17

en su libro “Los Códigos Secretos”, el francés Georges Perec fue capaz de escribir en 1967 la novela “La Disparition”, de 200 páginas, sin emplear una sola vez la letra ‘e’, que es con diferencia la más frecuente en francés. Y más aún, Gilbert Adair la tradujo al inglés con el título “A void”, también sin utilizar la ‘e’.

Pero volvamos con nuestro objetivo de descifrar el criptograma. ¿Será el cifrado por sustitución de un texto escrito en alguno de los cuatro idiomas que hemos dado estadísticas? Supongamos que lo sea y tratemos de descifrarlo.

La primera conclusión que establecemos es obvia: el texto en clave no contiene todas las letras de su alfabeto. En el criptograma sólo hay 23 signos distintos, pero son 26 las letras del alfabeto (27 en el alfabeto español, por la ñ). No es de extrañar, en los cuatro idiomas: inglés, español, francés y alemán, hay letras muy poco frecuentes.

Recíprocamente, ¿alguno de los signos del texto cifrado sustituirá a algún otro carácter del texto en claro que no sea una letra, como por ejemplo números, signos de puntuación o el espacio en blanco? Los números son muy poco frecuentes salvo en textos especializados. Los signos de puntuación como la coma, el punto o el punto y coma presentan una frecuencia intermedia, en torno al 2%; pero elevan el número de caracteres del alfabeto a 29 (30 en el caso del español). El número de 23 signos del criptograma hace sospechar que fueron eliminados del texto en claro antes de codificarlo.

Atención especial merece el espacio en blanco que usamos para separar las palabras. Es con diferencia el signo más frecuente. ¿Por qué? Porque como las palabras tienen una media de cuatro o cinco letras, cada cuatro o cinco letras hay un espacio en blanco. Por tanto, el espacio en blanco tiene una frecuencia próxima al 20% en los textos en claro. En el criptograma que nos ocupa no hay un signo con tal frecuencia. Pero esto no son buenas noticias ya que, como observó Al-Qalqashandi, el espacio en blanco facilita la labor del criptoanalista. Una vez identificado el signo que lo sustituye, pueden separarse las palabras. Por esta razón, se suelen suprimir los espacios en blanco antes de cifrar.

Definitivamente: si el criptograma es el cifrado por sustitución de otro texto escrito en inglés, español, francés o alemán, en él se han suprimido espacios en blanco y signos en puntuación.

Descubramos el idioma. Para ello, compararemos las frecuencias del texto cifrado con las de los cuatro idiomas. Será conveniente que reescribamos la Tabla 1.2 dando las frecuencias en tanto por ciento y ordenando los signos según su frecuencia. Lo hemos hecho en la Tabla 1.4.

Page 26: Libro criptografia

1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

18

Signo Frecuencia Signo Frecuencia

9 15.625 P 3.125 7 13.392 6 2.008 2 8.258 8 1.785 J 8.258 M 1.562 S 8.258 3 1.339 H 6.696 4 0.669 N 5.803 C 0.669 F 4.687 D 0.669 0 4.241 K 0.669 B 4.241 Q 0.446 1 4.017 5 0.223 Ñ 3.348

Tabla 1.4. Frecuencias en % del criptograma.

Hagamos la comparación. Ahora bien, ¿cómo comparar listas de números? En matemáticas hay varias maneras de medir “la distancia” entre dos listas de números. La más utilizada es, sin duda, la suma de los cuadrados de las diferencias de sus números. Esto es, se restan los primeros números de cada lista y el resultado se eleva al cuadrado. Después se hace lo mismo con los segundos números de cada lista, luego con los terceros y así sucesivamente. Finalmente, se suman todas las cantidades calculadas y esta suma es la distancia. Se entenderá mejor con el siguiente ejemplo, en el que se calcula la distancia entre la lista de cuatro números: 1, 3, 5, 7 y esta otra: 2, 1, 5, 6. Su distancia es:

( ) ( ) ( ) ( ) .667551321 2222 =−+−+−+−

Calculemos entonces las distancias entre las frecuencias del texto cifrado, mostradas en la tabla anterior, y las frecuencias de las letras de cada uno de los idiomas que figuran en la Tabla 1.3. Antes de ello, como el número de caracteres que aparecen en el criptograma es menor que el número de letras del alfabeto latino, añadimos a la Tabla 1.4 tres nuevos signos ficticios con frecuencias nulas. Los cálculos resultantes son los siguientes:

Inglés Español Francés Alemán

Distancia: 25.108 10.815 39.837 24.545

Tabla 1.5. Distancias del criptograma.

Page 27: Libro criptografia

1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

19

La distancia mínima corresponde al español, lo que sugiere pensar que el criptograma es el cifrado de un texto en español. Pero ello no es seguro, es sólo lo más probable; aunque es una posibilidad soportada por una argumentación matemática. Por otro lado, era de esperar. Después de todo, el libro que el lector está leyendo está escrito en español y por españoles. Luego, lo normal es que los textos en claro que sirven de ejemplo estén escritos también en español. En efecto, ya revelamos que es así.

Una vez que sabemos que el texto en claro está escrito en español, el siguiente paso es, siguiendo las instrucciones de los antiguos textos árabes, asociar las letras más frecuentes en español con los signos que más se repiten en la cifra. Las dos letras más frecuentes en español son, con diferencia del resto, la ‘e’ y la ‘a’. Los dos signos que más aparecen en el criptograma son ‘9’ y ‘7’. Casi seguro que ‘9’ y ‘7’ sustituyen en el texto original a la ‘e’ y la ‘a’, y lo más probable es que sea en este orden. La ‘o’ es la tercera letra más frecuente en nuestro idioma, pero seguida de cerca de la ‘s’. En el texto cifrado, el tercer lugar en frecuencia lo ocupan tres signos, con igual probabilidad, que son: ‘2’, ‘J’ y ‘S’. Lo más probable es que la ‘o’ y la ‘s’ se transformen en dos de los tres citados signos. El restante tiene que ser el sustituto de ‘n’ o ‘r’, que son las dos letras que siguen en frecuencia a la ‘s’. Podemos resumir este razonamiento en el siguiente esquema:

Alfabeto en claro: e a o s n r

↓ ↓ ↓

Alfabeto cifrado: 9 7 2 j s

Bien, ¿por cuál de los caminos que hemos abierto nos decidimos? Digamos que son 24 en total y que la distribución de las frecuencias de las letras no puede ayudarnos más. De nuevo, el texto árabe nos muestra como seguir: ‘lām’ sigue a ‘alif’. Esta es la clave, conocer con que otras letras se suelen agrupar en un idioma las letras más frecuentes. Por esta razón, las estadísticas que se hacen a los textos de un idioma no se limitan a contar por separado cada una de sus letras. Cuentan también los bloques de dos letras, llamados bigramas o digrafos; y los de tres, trigramas o trigrafos. En lo referente al español, los 20 bigramas y trigramas más frecuentes son, por este orden, los siguientes:

Bigramas: ‘EN’, ‘ES’, ‘EL’, ‘DE’, ‘LA’, ‘AL’, ‘OS’, ‘AR’, ‘RE’, ‘ER’, ‘NT’, ‘ON’, ‘AD’, ‘UE’, ‘RA’, ‘CI’, ‘AS’, ‘TE’, ‘SE’, ‘CO’.

Trigramas: ‘ENT’, ‘QUE’, ‘NTE’, ‘DEL’, ‘ELA’, ‘ION’, ‘DAD’, ‘CIO’, ‘CON’, ‘EST’, ‘ADE’, ‘ALI’, ‘IDA’, ‘NCI’, ‘EAL’, ‘ODE’, ‘ACI’, ‘CIA’, ‘ESE’, ‘IEN’.

Debemos contar ahora bigramas y trigramas en el texto cifrado. Con un ordenador este proceso es inmediato, pero sin él es penoso. En este segundo caso, podemos limitarnos a contar bigramas y trigramas que contengan sólo los signos ‘7’ o ‘9’, que son los candidatos a las vocales ‘a’ y ‘e’. Afortunadamente, nosotros disponemos de ordenador; nos ha mostrado cuáles son los más bigramas y trigramas que más se repiten en el criptograma. La Tabla 1.6 lo indica.

Page 28: Libro criptografia

1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

20

Bigramas Frecuencia Trigramas Frecuencia

7J 17 JÑ7 5 72 12 7JÑ 5 H9 11 MP7 5 9J 11 7H9 5 7H 10 H72 4 H7 9 S29 4 92 9 F7J 4

Tabla 1.6. Bigramas y trigramas más frecuentes en el criptograma.

Con estos datos, lo primero que deducimos es que la ‘e’ se transforma en ‘7’ y la ‘a’ en ‘9’. No puede ser de otro modo. En español los tres bigramas más frecuentes empiezan por la letra ‘e’, que está presente también en los cinco trigramas que más se repiten. Luego, debe ser el signo ‘7’ el transformado de la ‘e’; y, en consecuencia, ‘9’ es el que sustituye a la ‘a’. Notemos que esto significa que en el texto que tratamos de descifrar la letra más frecuente es la ‘a’ y no la ‘e’. Pero puede ocurrir, no hay tanta diferencia de frecuencias entre ellas.

Puesto que el bigrama ‘en’ es el más frecuente en español, su transformado debe estar en la tabla anterior. Lo más probable es que sea ‘7J’ o ‘72’; lo que implica que la letra ‘n’ se cambia bien por ‘J’, bien por ‘2’. La ‘n’ está presente en el trigrama ‘ent’, que es el más común en nuestro idioma; luego, su transformado debe estar también en la tabla. Únicamente puede ser ‘7JÑ’. En consecuencia, la ‘n’ se reemplaza por ‘J’ y la ‘t’ por ‘Ñ’.

Descubramos ahora el transformado de la letra ‘s’. Teníamos tres símbolos candidatos: ‘2’, ‘J’ y ‘S’. Descartado ‘J’, quedan ‘2’ y ‘S’. Como el bigrama ‘es’ es el segundo más frecuente en español, es muy probable que también sea de los que más aparezcan en el texto en claro. Entonces su transformado debe estar en la Tabla 1.6. En ella esta ‘72’, pero no ‘7S’. Luego ‘2’ es el signo que sustituye a la letra ‘s’. Resumiendo nuestras conclusiones, tenemos:

Alfabeto en claro: e a s n t

↓ ↓ ↓ ↓ ↓

Alfabeto cifrado: 7 9 2 J Ñ

Pero todavía podemos deducir más. Asignados los símbolos ‘2’ y ‘J’, a la letra ‘o’, la tercera más frecuente, no le queda otro signo que ‘S’. Por otro lado, en la columna de bigramas de la Tabla 1.6 están ‘H9’ y ‘7H’. Seguramente que ello es porque se corresponden con los artículos ‘la’ y ‘el’, respectivamente. En tal caso, la letra ‘l’ del texto en claro se cambiaría por ‘H’ en el cifrado. Que el trigrama ‘7H9’ figure en la tabla eleva ya esta suposición a conclusión. ¿Y quién puede ser ‘MP7’ sino el pronombre

Page 29: Libro criptografia

1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

21

relativo ‘que’, que es el es segundo trigrama en frecuencia? Si ello es así, entonces las letras ‘q’ y ‘u’ se reemplazan por ‘M’ y ‘P’, respectivamente. Bien, ya hay suficientes deducciones:

Alfabeto en claro: e a o s n l t u q

↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

Alfabeto cifrado: 7 9 S 2 J H Ñ P M

Sin embargo, no podemos estar seguros de la validez total de las conclusiones. El argumento realizado es del todo correcto, pero no puede afirmarse lo mismo de las premisas. Éstas eran sólo las más probables. Hemos basado todo en el supuesto que las letras más frecuentes de nuestro idioma se transforman en los signos más comunes del criptograma. Es lo más probable, pero no es seguro. No obstante, enseguida lo vamos a saber. Las apariciones en el texto cifrado de los signos descubiertos suman 307. Esto significa que hemos descifrado casi las tres cuartas partes del criptograma. Si todo es correcto, al restituir los signos por sus verdaderas letras el texto en claro caerá por si solo. Si no, se mostrarán incoherencias y habremos de corregir algunas de las conclusiones anteriores. Para comprobarlo, escribamos debajo de cada línea del texto cifrado otra donde ya hayan sido sustituidos los signos que creemos conocer; y debajo de los que todavía no conocemos, coloquemos un *:

HS2BHF7JÑ7207HS2B9C722SJ47JÑ72MP7BN77JMP7H92BS2926 los*l*entes*elos*a*esson*entesque**eenquelas*osas*

929J6SNMP72FMP7JS17N7B7H967J96SJ7NN7170FS9J9097J7H asan*o*ques*queno*e*e*ela*ena*one**e*e**oana*aenel

070SK9NS29ÑS0S2CP19J3HS2192170FÑ9J92SH922S8N7H926S *e*o*a*osato*os*u*an*los*as*e**tanasolasso**elas*o

8N729198H727JÑN9K98H72BS292MP7H72HH7J9JSH72Q9BF9JH **esa*a*lesent*a*a*les*osasquelesllenanoles*a**anl

9QF097JÑ7N9D93MPF7J6SJ79H2FH7JBFSPJ90719J2SK90SN07 a***aente*a*a*qu*en*oneals*len**ouna*e*anso*a*o**e

F16N7BF29N7BSN09BFSJ3D93Ñ918F7JMPF7JD9B7171SNF9BSJ ****e**sa*e*o**a**on**a*ta***enqu*en*a*e*e*o**a*on

H9B9N9982SNÑ937JH9B9N96FJÑ90S7H472ÑS07H9872ÑF9NPFJ la*a*aa*so*ta*enla*a*a**nta*oel*esto*ela*est*a*u*n

07H991SNS292P6HFB9JÑ7872ÑF9B9J2909H919JS2P57Ñ9J0SH *elaa*o*osasu*l**ante*est*a*ansa*ala*anosu*etan*ol

Page 30: Libro criptografia

1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

22

9CN7JÑ737H1FN9NHH7JS07919N4PN9BS1SPJ19N7JB9H190S a**ente*el***a*lleno*ea*a**u*a*o*oun*a*en*al*a*o

Nuestras conclusiones eran correctas y no parece que debamos corregir nada. Como anunciábamos antes, el texto en claro ya cae por sí solo. Primero la vocal que nos falta, la ‘i’. En la segunda fila, el tercer asterisco se encuentra entre una ‘s’ y una ‘q’. No puede ser sino una vocal: la ‘i’, que es la única no descubierta. En consecuencia, la ‘i’ se transforma en ‘F’. Entonces, al comienzo del texto obtenemos el trozo ‘los*lientes*elos’. El primer asterisco tiene que ser una ‘c’ y el segundo una ‘d’. Conseguimos de este modo los sustitutos de las letras ‘c’ y ‘d’, que son ‘B’ y ‘0’ respectivamente. Y así continuaríamos, reemplazando los asteriscos por las letras adecuadas. Al final, descubriríamos por completo el texto en claro y la clave utilizada. Es la siguiente:

Claro: a b c d e f g h i j k l m n ñ o p q r s t u v w x y z

Cifrado: 9 8 B 0 7 C 4 D F 5 H 1 J K S 6 M N 2 Ñ P Q 3

Clave del criptograma

Las letras ‘k’, ‘w’, ‘x’ y ‘z’ no han sido sustituidas porque no era necesario, no aparecen en el texto en claro. Éste es el siguiente fragmento de “La colmena”, de Camilo José Cela:

“... Los clientes de los Cafés son gentes que creen que las cosas pasan porque sí, que no merece la pena poner remedio a nada. En el de doña Rosa, todos fuman y los más meditan, a solas, sobre las pobres, amables, entrañables cosas que les llenan o les vacían la vida entera. Hay quien pone al silencio un ademán soñador, de imprecisa recordación, y hay también quien hace memoria con la cara absorta y en la cara pintado el gesto de la bestia ruin, de la amorosa, suplicante bestia cansada: la mano sujetando la frente y el mirar lleno de amargura como un mar encalmado...”

Page 31: Libro criptografia

23

2

EL NOMENCLÁTOR

Al comenzar el Renacimiento, el norte y centro de Italia estaban divididos en pequeños estados articulados en torno a ciudades como Milán, Florencia, Venecia... que mantenían continuas luchas entre ellos, tratando de expandirse unos a costa de otros. Los desacuerdos, complots e intrigas caracterizaban la escena política en ese momento. A ello contribuían los intereses en la zona de la corona francesa, del estado pontificio y del reino de Nápoles, que a partir de 1442 pasó a depender de la corona de Aragón.

Aunque débiles, las ciudades-estado italianas disponían de los instrumentos que son propios de un estado moderno; entre ellos, la diplomacia. A pesar de sus disputas, los pequeños estados italianos mantenían relaciones entre ellos a través de embajadas permanentes. Como es lógico, los embajadores participaban en las conspiraciones. Fueron llamados los “espías honorables”. Por supuesto, las comunicaciones de un embajador con su ciudad de origen eran secretas. También resulta obvio decir que se hacía todo lo posible por interceptar y criptoanalizar estas comunicaciones. Así, en este contexto político de la Italia renacentista, no es extraño que la Criptografía fuese una herramienta diplomática fundamental y que experimentara un avance espectacular.

Pero, ¿cómo se cifraban los mensajes en esa época? La Italia de entonces ya conocía los métodos antiguos de cifrado, gracias al estudio de los textos clásicos. De estos métodos, el criptosistema por sustitución era, sin duda alguna, el más idóneo para utilizar con fines políticos; por su sencillez y viabilidad práctica. Sin embargo, como vimos en el tema anterior, el cifrado por sustitución no presenta ninguna seguridad. Cae incluso sin conocer texto en claro alguno, mediante el análisis de frecuencias. Y la Italia renacentista también conocía este método de criptoanálisis, seguramente a través del contacto con los árabes en las rutas hacia Oriente y en las cruzadas. No obstante, no se tardó en descubrir modificaciones del cifrado por sustitución que hacen inservible el citado análisis de frecuencias.

Recordemos que el análisis de frecuencias arranca del hecho que, en el cifrado por sustitución, las letras más frecuentes del texto en claro se corresponden con los signos más comunes del texto cifrado. Una forma de romper esta correspondencia es reemplazar

Page 32: Libro criptografia

2. EL NOMENCLÁTOR

24

las letras más frecuentes del texto pleno con varios signos posibles que, naturalmente, habrá que añadir al alfabeto de cifrado. Esta mejora del cifrado por sustitución recibe el nombre de sustitución homofónica.

La primera vez que se tiene constancia del uso de una sustitución homofónica fue en 1401, en correspondencia que mantuvieron el duque de Mantua y Simeone de Crema. Puede verse la sustitución empleada en la siguiente Figura 2.1

Figura 2.1 Sustitución del duque de Mantua.

La primera línea de esta figura corresponde al alfabeto en claro. Este alfabeto consta de las 23 letras que se usan en latín, que era la lengua que generalmente se empleaba entonces en la comunicación escrita. La segunda línea es el alfabeto de cifrado. Nos volvemos a encontrar con las 23 letras del alfabeto latino, ahora ordenadas en modo inverso. Pero el alfabeto de cifrado se ha ampliado con 12 signos más, que se asocian con las vocales ‘a’, ‘e’, ‘o’ y ‘u’ del alfabeto en claro. De este modo, cada una de estas vocales dispone de cuatro caracteres del alfabeto de cifrado para sustituirla, según indica la Figura 2.1. Por ejemplo, el texto en claro ‘duquedemantua’ puede cifrarse del siguiente modo:

Texto en claro: d u q u e d e m a n t u a

Texto cifrado: u d h ff t u 4 l z m e I 2

Como vemos, cada una de las tres ‘u’ del texto en claro ha sido sustituida con diferentes signos en el texto cifrado. Lo mismo se ha hecho con las dos ‘a’ y las dos ‘e’.

Aunque en la sustitución del duque de Mantua únicamente las vocales ‘a’, ‘e’, ‘o’ y ‘u’ pueden cambiarse por varios caracteres del alfabeto de cifrado, ello es suficiente para evitar el criptoanálisis mediante el análisis de frecuencias. Cada una de las frecuencias de las citadas vocales en el texto en claro se reparte entre los correspondientes cuatro signos que la sustituyen. Y como estas vocales deben ser cuatro de las letras más comunes del texto pleno, ya no hay correlación entre la distribución de frecuencias del criptograma y el texto en claro del que procede. Ello imposibilita iniciar la técnica de criptoanálisis que hemos explicado en el tema anterior.

Pero sólo en un principio. En una sustitución homofónica es posible identificar los signos homófonos –aquellos que reemplazan la misma letra del texto en claro- a partir de texto cifrado únicamente. Por ejemplo, imaginemos que disponemos de varias cartas cifradas en la correspondencia que mantuvieron el duque de Mantua y Simeone de

Page 33: Libro criptografia

2. EL NOMENCLÁTOR

25

Crema. En tales cartas es muy posible que el mismo nombre de alguna persona o lugar apareciera varias veces. Para concretar, muy probablemente el texto ‘duquedemantua’ figuraría en varias ocasiones; aunque cifrado de diferentes modos, en virtud del uso de homófonos. Pero como en la sustitución empleada las consonantes sólo disponen de un signo para reemplazarlas, todos los fragmentos de texto cifrado que procedan del texto pleno ‘duquedemantua’ tendrán en común los signos que cambian las letras ‘d’, ‘q’, ‘m’, ‘n’ y ‘t’. Y que son: ‘u’, ‘h’, ‘l’, ‘m’ y ‘e’, respectivamente. Por tanto, coincidirán con el siguiente fragmento “patrón”:

u * h * * u * l * me

(Se ha colocado un asterisco en los lugares que ocupan los signos homófonos que sustituyen a las vocales).

En consecuencia, es muy posible que las cartas cifradas incluyan fragmentos que respondan a ese patrón. Supongamos que efectivamente sea así y que hemos identificado varios de ellos. Por ejemplo, los tres siguientes:

u d h ff t u 4 l z m e

u I h d 4 u F l 3 m e

u ff h ~ 4 u t l 2 m e

Entonces podemos deducir que los signos que figuran en los lugares de los asteriscos en el fragmento patrón son homófonos. Así, son homófonos los signos que en cada uno de los fragmentos ocupan la segunda posición, la cuarta, quinta, séptima y novena, respectivamente. En consecuencia, son homófonos ‘d’, ‘I’, ‘ff’ y ‘~’. Igualmente lo son ‘t’, ‘4’, ‘4’ y ‘F’. Y también ‘z’, ‘3’ y ‘2’.

Esta es la manera de identificar signos homófonos en una sustitución homofónica: buscar fragmentos de texto cifrado en los que haya coincidencias de varios caracteres. Los símbolos intercalados no coincidentes son homófonos.

Según se van identificando homófonos, conviene ir cambiando en los textos cifrados todos los signos de un grupo homófono por un único símbolo elegido dentro del grupo. Se habrán identificado todos los caracteres homófonos cuando el número de signos resultante en los textos cifrados no supere al número de letras del alfabeto en claro. Entonces, se estará ante un cifrado por sustitución simple que ya puede ser criptoanalizado mediante el análisis de frecuencias.

Naturalmente, el proceso anterior sólo es factible si en los criptogramas hay fragmentos que proceden de reiteraciones de palabras de los textos en claro. Ello requiere disponer de suficiente cantidad de texto cifrado; la cual dependerá del número de letras del alfabeto pleno que utilizan homófonos en su sustitución. Obviamente, cuanto mayor sea este número, mayor será también la cantidad de texto cifrado necesaria.

Page 34: Libro criptografia

2. EL NOMENCLÁTOR

26

Vemos así que una sustitución homofónica puede ser atacada por las inevitables repeticiones de algunas palabras, como sucede con los nombres propios. Pero a grandes males, grandes remedios: cámbiese cada una de las palabras cuya reiteración es ineludible por un nuevo signo. Y así se hizo.

Esta idea aparece por primera vez a finales del siglo XIV. Por aquel entonces, Gabriel de Lavinde, secretario de Clemente VII, uno de los dos papas en el gran cisma de la Iglesia Católica, preparó una serie de claves para la correspondencia de este papa con diversas personalidades de la época. Las claves eran sustituciones simples (no homofónicas) a las que se añadía una lista conteniendo una docena de palabras y sus correspondientes signos para reemplazarlas. Se incluían también en el alfabeto de cifrado otros caracteres llamados nulos, que no sustituyen a nada y que se colocan en cualquier lugar del texto cifrado con el propósito de dificultar el criptoanálisis. Las claves de Lavinde constituyen los primeros ejemplos de lo que en Criptografía se llama nomenclátor.

Un nomenclátor es entonces un catálogo de sustituciones donde, además de los signos que cambian a las letras, figuran otros que o bien son nulos o reemplazan a bigramas, trigramas, palabras o incluso grupos de palabras. La Figura 2.2 muestra un nomenclátor español compilado en Toledo en 1563. El nomenclátor fue el sistema de cifrado predominante hasta mediados del siglo XIX, hasta que el empleo del telégrafo en las comunicaciones obligó al diseño de otros criptosistemas más adecuados.

Como cualquier sustitución, un nomenclátor está comprometido si alguien es capaz de hacerse con texto en claro y su correspondiente cifrado. La seguridad ante un ataque de texto cifrado depende del número de sustituciones que contenga, evidentemente. Un nomenclátor que presente sólo unas pocas sustituciones caerá ante un criptoanalista que disponga de suficiente texto cifrado y paciencia. Pero si contiene un número elevado de signos homófonos para las letras, bigramas y trigramas más frecuentes; si en la lista de palabras del nomenclátor están todas aquellas de uso común en el contexto del mensaje, incluyendo los nombres propios; y si se dispone de un buen número de signos nulos que se dispersan adecuadamente por los textos cifrados, el criptoanálisis ante texto cifrado únicamente será dificilísimo, prácticamente imposible. Claro que ello eleva a varios miles el número de sustituciones que debe tener el nomenclátor. Éste será entonces un libro con unas cuantas páginas que, naturalmente, habrá que confeccionar y mantener en secreto. Esto también es dificilísimo, de nuevo prácticamente imposible. Y siempre estará comprometido ante la posibilidad de que algunos textos plenos caigan en manos enemigas.

Los primeros nomenclátores de la Italia del siglo XV siguieron el modelo elaborado por Lavinde, con sustituciones sin homófonos y listas con muy pocas palabras. Seguro que fueron presa fácil para los criptoanalistas italianos de la época. Paulatinamente fueron incorporando caracteres homófonos, primero para las vocales y después para las consonantes. Pero ello nos adentra ya en el siglo XVI. Un típico nomenclátor italiano de entonces es el que se muestra en la Figura 2.3. Ya presenta cierta dificultad su criptoanálisis.

Page 35: Libro criptografia

2. EL NOMENCLÁTOR

27

Figura 2.2. Un nomenclátor español de 1563

Figura 2.3 Nomenclátor compilado en Florencia en 1554.

Page 36: Libro criptografia

2. EL NOMENCLÁTOR

28

Los estados italianos más importantes disponían de departamentos dedicados al criptoanálisis. El más organizado fue el de Venecia, con policía secreta incluida. Venecia contó también con el mejor criptoanalista de la época, Giovanni Soro. Soro fue famoso por resolver numerosos cifrados a comienzos del siglo XVI; como los despachos de Maximiliano I, emperador del Sacro Imperio Romano; y los de su nieto, nuestro emperador Carlos I. Fuera de Venecia también hubo expertos en criptoanálisis. En Milán, el secretario de los duques de Sforza, Cicco Simonetta, fue un gran criptoanalista; suyo es el primer tratado dedicado exclusivamente al criptoanálisis, escrito en 1474. El florentino Pirro Musefili resolvió nomenclátores usados por Enrique II de Francia a mediados del siglo XVI. Y apuntemos también que el estado Vaticano contó con excelentes criptoanalistas que descifraron algunos de los nomenclátores de esa época, entre ellos los del monarca español Felipe II.

Es precisamente durante el reinado de Felipe II cuando más se ha utilizado la Criptografía en nuestro país. En España, el empleo de la Criptografía en política se observa por vez primera y de forma esporádica en la corona de Aragón, a mitad del siglo XV. Después se va prodigando bajo el reinado de los Reyes Católicos y es ya imprescindible cuando España se convierte en un imperio, con Carlos I. Los primeros criptosistemas que se emplearon eran sustituciones que cambiaban el texto pleno por números romanos. Los cifrados resultantes eran confusos y a menudo no podían ser interpretados por el legítimo receptor. Pronto se abandonaron y se comenzó a usar el nomenclátor, que fue el único sistema utilizado a partir del siglo XVI. Los nomenclátores de Carlos I fueron muy simples y fácilmente rotos por los italianos y por Philibert Babou, criptoanalista del rey francés Francisco I. Cuando en 1566 Felipe II subió al trono, sabedor de la ineficacia de las cifras españolas, mandó cambiarlas.

Felipe II usó diversos nomenclátores. Por un lado estaba la llamada cifra general, que era la usada regularmente para comunicar con las embajadas en los diferentes países. Se cambiaba cada cuatro años. Por otra parte, estaban las distintas cifras particulares que se empleaban con cada uno de los ministros y virreyes de las colonias americanas. En la Figura 2.4 se muestra la cifra particular empleada en 1568 en la comunicación con el duque de Alba.

Page 37: Libro criptografia

2. EL NOMENCLÁTOR

29

Figura 2.4. Nomenclátor de 1568 usado por Felipe II.

Los nomenclátores usados por Felipe II contienen ya un número importante de sustituciones, con objeto de elevar la seguridad mostrada por otros de épocas anteriores. Puede observarse que el mostrado en la Figura 2.4 incluye homófonos para las vocales, signos para los bigramas y trigramas más frecuentes, una amplia lista de palabras de uso

Page 38: Libro criptografia

2. EL NOMENCLÁTOR

30

común y una regla que indica como insertar nulos en los textos cifrados. Sin embargo, los nomenclátores de Felipe II también presentaban descuidos en su diseño que facilitaban su criptoanálisis. Por ejemplo, en el nomenclátor de la Figura 2.4, el modo de cifrar los bigramas compromete claramente su seguridad: nótese que cada bigrama compuesto por una consonante y una vocal se cifra con el mismo signo que se utiliza para reemplazar a dicha consonante y con una marca alrededor de dicho signo en función de la vocal. Una debilidad. Se deberían haber utilizado signos totalmente distintos para cada uno de estos bigramas. Una observación similar puede hacerse con los trigramas. También hubiese sido conveniente emplear homófonos para las consonantes más frecuentes.

No obstante, a pesar de sus deficiencias, los nomenclátores de Felipe II eran los más seguros de su época. No era fácil su criptoanálisis con texto cifrado únicamente; aunque hubo quienes lo hicieron. Uno de ellos fue el francés François Viète, más conocido como matemático que como criptoanalista. Viète resolvió varios nomenclátores usados por Felipe II. Entre ellos, el que empleó el rey en 1589 para comunicarse con Alejandro Farnesio, duque de Parma, que comandaba las tropas españolas de la Santa Liga contra el rey francés Enrique IV. Tardó seis meses en hacerlo. Cuenta la Historia que Felipe II, enterado de la ruptura de sus cifras por Viète y creyendo que éstas eran indescifrables, supuso que el matemático galo debía emplear la brujería en el criptoanálisis y solicitó al Papa su excomunión. Naturalmente, el Pontífice no atendió esta petición. Pero no por considerar absurda la existencia de la magia negra; sino porque sabía que las cifras españolas podían romperse sin recurrir a la brujería, ya que así lo estaba haciendo su criptoanalista Giovanni Battista Argenti.

La historia de la Criptografía nos lleva en el siglo XVII a la Francia de Luis XIII gobernada por el cardenal Richelieu. La “astuta” Eminencia de Francia tomó a su servicio a un joven experto en Criptografía, Antoine Rossignol, con el doble encargo de resolver los criptogramas interceptados a los enemigos de Francia y diseñar las propias cifras francesas. No era esto lo habitual en la Criptografía de estado. Por regla general, las personas que confeccionaban los nomenclátores no practicaban el criptoanálisis; y ello explica las deficiencias en seguridad que presentaban algunas cifras. Si quien elabora un criptosistema nunca ha roto ninguno, desconocerá las bases del criptoanálisis y no pondrá especial cuidado en tapar aquellas grietas que pueda tener su criptosistema, las cuales acaban siendo agujeros con el trabajo del criptoanalista. Incluso creerá que sus cifras son irrompibles, como pensaba Felipe II. Como criptoanalista, Rossignol resolvió numerosos criptogramas; entre ellos, algunos interceptados a los hugonotes y que dieron clara ventaja a las fuerzas católicas de Richeleu en las guerras de religión del siglo XVII.

En esta época, los nomenclátores que se empleaban habían aumentado a varios cientos el número de sustituciones, con el objeto de incrementar la seguridad. Este elevado número de sustituciones hizo necesario el uso de números en el alfabeto de cifrado, convirtiendo de este modo los textos cifrados en secuencias numéricas. Pero para no complicar los procesos de cifrado y descifrado, los nomenclátores se confeccionaban de tal modo que había una correlación entre el orden alfabético de los bigramas, trigramas y palabras y el orden natural de los números que las reemplazaban. Por ejemplo, si en un nomenclátor la palabra ‘España’ se cambiaba por 325, muy posiblemente el número 326

Page 39: Libro criptografia

2. EL NOMENCLÁTOR

31

sustituyese a ‘español’, que sigue alfabéticamente a ‘España’. Tal correlación facilitaba el criptoanálisis.

Los nomenclátores franceses elaborados por Rossignol no presentaban esta inseguridad. No había correlación alguna entre el orden alfabético de los bigramas, trigramas y palabras y el orden numérico de las cifras que los reemplazaban. Éstas se elegían de modo aleatorio. Para facilitar el cifrado y descifrado, los nomenclátores comprendían dos partes; eran como un diccionario bilingüe. En una parte, la que se utilizaba en el cifrado, se ordenaban alfabéticamente las letras, bigramas, trigramas y palabras, y a continuación se escribía el número que las cambiaba. En la otra parte, empleada en el descifrado de los mensajes, los números se disponían en su orden habitual y al lado figuraba la porción de texto en claro al que sustituían. Este modelo francés de nomenclátor de dos partes se impuso en todo el mundo al final del siglo XVIII.

A pesar de su robustez, las cifras francesas de aquella época fueron rotas por el inglés John Wallis. Antes que criptoanalista, Wallis fue un gran matemático cuyo trabajo sirvió de base a Newton en sus “Principia Mathematicae”. En los escritos de Wallis puede encontrarse el germen del teorema del binomio, el concepto de infinito y un cálculo del número π por interpolación. Después de su actividad matemática, Wallis se dedicó a la Criptografía. Sus logros más notables en esta disciplina fueron los despachos franceses de Luis XIV.

No todos los países contaron con genios del criptoanálisis como Wallis; aunque no por ello renunciaron a la ventaja que supone conocer la correspondencia enemiga. Con este propósito, a comienzos del siglo XVIII tiene lugar en muchos países europeos la creación de departamentos secretos destinados al criptoanálisis de las cartas interceptadas. Fueron llamadas las cámaras negras.

La primera en crearse fue la Cabinet Noir francesa; pero la “mejor” fue, sin duda alguna, la Geheime Kabinets-Kanzlei, situada en Viena. Todo el correo oficial de las embajadas extranjeras en Viena sufría un retraso deliberado de unas cuantas horas. El tiempo necesario para que este correo pasase por la cámara negra austriaca antes de seguir su curso normal. Allí las cartas eran abiertas, copiadas y selladas otra vez; sin evidencia alguna de este proceso. Después, las cartas eran remitidas a su destinatario. Las copias de los documentos cifrados se sometían a criptoanálisis. Éste era realizado por un equipo de funcionarios bien pagados que se reclutaban entre jóvenes con conocimientos en matemáticas elementales y en alguna lengua extranjera. Se les entrenaba en el criptoanálisis y, si superaban el examen correspondiente, pasaban a formar parte del personal de la cámara negra y eran enviados temporalmente a un país extranjero a perfeccionar su idioma. Con este funcionariado tan cualificado, los éxitos criptoanalíticos estaban garantizados. Uno de tales triunfos fue la ruptura de las cifras de Napoleón.

La violación de la correspondencia diplomática fue practicada con el mayor descaro. Lo prueba la siguiente anécdota que incluye David Kahn en su libro “The Codebreakers”. En cierta ocasión, el embajador inglés en Viena protestó porque el servicio postal le envió una copia de una carta en lugar del original. Ante la protesta, los austriacos respondieron pidiendo disculpas por la torpeza de sus funcionarios y

Page 40: Libro criptografia

2. EL NOMENCLÁTOR

32

notificando que en lo sucesivo no confundirían la copia con el original. Los austriacos sabían que la Deciphering Branch británica estaba haciendo lo mismo que su Geheime Kabinets-Kanzlei.

La cámara negra austríaca continuó con su oculta actividad hasta 1848, fecha en que cerró sus puertas. Ese mismo año también fue clausurada la Cabinet Noir francesa. Cuatro años antes, el gobierno británico había disuelto su Deciphering Branch. ¿Por qué se prescindió de estos departamentos que con tan poco coste tan grandes servicios prestaron? Hay quien dice que la causa principal fue el aire de libertad que levantó la revolución industrial, que trajo consigo una protesta generalizada por la interceptación del correo privado. Aunque también hay que pensar que por aquella época el telégrafo cambió el modo de enviar mensajes. No hay razón alguna para tener departamentos secretos encargados de transgredir las cartas privadas cuando su contenido viaja por “públicos” hilos conductores. Lo que sí es seguro es que el telégrafo acabó con la historia del nomenclátor.

Como ya señalamos antes, un nomenclátor se resuelve fácilmente cuando se dispone de texto en claro y de su cifrado. También es posible derribar difíciles nomenclátores con texto cifrado únicamente. Lo demostraron los criptoanalistas que trabajaron en las cámaras negras, y antes Rossignol y Wallis. Aunque ninguno de ellos dejó escrito como lo hacían. Nadie ha dado nunca un método genérico para criptoanalizar un nomenclátor a partir de texto cifrado exclusivamente. Quizás porque no lo empleaban.

Posiblemente, una idea de como se llevó a cabo ese criptoanálisis nos la pueden dar aquellos historiadores que, persiguiendo la verdad histórica, decidieron enfrentarse a textos cifrados con nomenclátores perdidos en el pasado. Uno de estos historiadores fue Gustave Adolph Bergenroth. Este prusiano del siglo XIX dedicó los últimos años de su vida a resolver nomenclátores utilizados por la corona española en los siglos XVI y XVII. El mismo Bergenroth reconoció que no descubrió las claves de una forma metódica, sino fijándose en el modo de escribir de las personas encargadas de cifrar. Por ejemplo, resolvió un nomenclátor empleado por el duque de Estrada observando que detrás de dos signos de texto cifrado figuraba siempre un punto. Estudiando la manera de escribir del duque y tras descartar otras suposiciones, Bergenroth llegó a la conclusión que los puntos indicaban abreviaciones como ‘V.A.’ para ‘Vuestra Alteza’, ‘n.f.’ para ‘nuestro fijo’ (hijo), etc. Esta observación abrió un camino que le permitió recuperar las 83 sustituciones del nomenclátor.

Uno de los ejemplos más divulgados de criptoanálisis de antiguos textos cifrados corresponde a la conocida como la Gran Cifra de Luis XIV, nombre que se da a un nomenclátor utilizado por el rey Sol francés a finales del siglo XVII. Debió ser compilado por el anteriormente citado Antoine Rossignol o por su hijo Bonaventure, quien le sucedió al frente de las cifras francesas. La popularidad de la Gran Cifra se debe a que la persona que lo resolvió concluyó con una conjetura sobre la identidad del hombre de la máscara de hierro, tema que ha sido tratado en novelas en el pasado y en películas más recientemente. Aunque la identidad conjeturada dista mucho de la que se presenta en tales relatos. Las líneas que siguen describen brevemente como se rompió la Gran Cifra.

Page 41: Libro criptografia

2. EL NOMENCLÁTOR

33

En 1891, el historiador francés Victor Gendron intentó descifrar cinco despachos de Luis XIV con su mariscal Nicolás de Catinat. Desesperado en su cometido, Gendron recurrió a un experto criptoanalista del ejército francés, el comandante Etienne Bazeries. Por aquel entonces el nomenclátor hacía mucho que había desaparecido de la Criptografía militar, por lo que Bazeries no podía tener experiencia alguna en esta clase de criptoanálisis. Pero no rehusó el desafío.

Bazeries observó que los textos cifrados eran secuencias de números. Había 587 diferentes, aunque algunos aparecían más veces que otros. En principio supuso que la Gran Cifra era una sustitución homofónica, pero meses de trabajo le convencieron de que éste no era el caso. Sospechó a continuación que los signos podían representar bigramas, por lo que procedió a un análisis de frecuencias. Encontró que el número más frecuente en la cifra era el 22, que aparecía 187 veces; le seguía el 124, con 185 ocurrencias; a continuación el 42, en 184 ocasiones; el 311, con 145 repeticiones; el 125 figuraba 127 veces... Bazeries trabajó en la asociación de estos números con los bigramas más frecuentes en francés: ‘es’, ‘en’, ‘ou’, ‘de’, ‘nt’... Más meses de esfuerzo le demostraron que esta teoría tampoco era correcta. Pero persistió. Supuso entonces que los números de la cifra debían representar sílabas y que los más frecuentes reemplazaban a las sílabas más comunes en su idioma: ‘le’ ‘la’ ‘les’, ‘que’ ‘de’, ‘des’, ‘du’... La idea tampoco parecía llevar a ninguna parte. Entonces Bazeries centró su atención en una secuencia de números que figuraba varias veces en los textos cifrados:

124 22 125 46 345.

Observó también que esta misma secuencia aparecía también con el número 146 en lugar del 125. A veces tal secuencia no acababa en 345; sino en 469, 574, 120, o 584. Tales diferencias debían corresponder a números homófonos y, en consecuencia, las diferentes secuencias numéricas que producían reemplazaban al mismo fragmento de texto en claro. Y éste tenía que ser uno muy frecuente en despachos militares. Con paciencia fue probando con diferentes candidatos hasta que le tocó el turno a ‘les ennemis’ -los enemigos-, y asoció 124 con ‘les’, 22 con ‘en’ 125 con ‘ne’, 46 con ‘mi’ y 345 con ‘s’. Por fin halló una grieta en el sólido muro de la Gran Cifra. Escarbando en esta rendija, Bazeries fue capaz de descifrar más palabras hasta completar poco a poco el difícil puzzle de los Rossignol. Habían transcurrido tres años, pero consiguió acceder a los secretos de los documentos encriptados.

En uno de ellos, fechado el 8 de Julio de 1691, se podía leer que el monarca francés estaba disgustado con uno de los generales de Catinat: Vivien Labbé, señor de Bulonde. El rey responsabilizaba a Labbé de la derrota del ejército francés en su campaña del norte de Italia, acusándole de desobediencia y cobardía. El despacho cifrado ordenaba a Catinat arrestar a Labbé y conducirle a la fortaleza de Pignerol, donde su majestad deseaba que el señor de Bulonde permaneciese prisionero con la única libertad de “pasear por la almenas con una 330 309”.

¿330 309? Estos dos números no aparecían en ningún otro lugar de los documentos cifrados. El contexto inducía a pensar que 309 representaba un punto, aunque no ofrecía ninguna pista sobre 330. Evidentemente, significaba una palabra; pero era imposible

Page 42: Libro criptografia

2. EL NOMENCLÁTOR

34

precisar cuál. Entonces Bazeries, conociendo que el misterioso personaje de la máscara de hierro había estado en Pignerol antes de ser trasladado a la Bastilla, concluyó que 330 sustituía a la palabra ‘máscara’; adjudicando así la identidad del señor de Bulonde a la máscara de hierro.

No obstante, la interpretación de Bazeries sobre la identidad del hombre de la máscara de hierro no ha sido aceptada por los historiadores. Argumentan que el hombre de la máscara de hierro murió en 1703 y que el señor de Bulonde vivió cinco años más. Desde punto de vista criptográfico, no hay razón alguna que sostenga la conclusión de Bazeries. Como hemos dicho, 330 debe sustituir a una palabra y, por tanto, tiene que ser una de las que figuran en la lista del nomenclátor. Pero tales palabras suelen ser todas ellas de uso común en el contexto de los mensajes que se van a cifrar. No parece que la palabra máscara sea habitual en despachos militares. De hecho, se ha comprobado que no figura en ninguno de los nomenclátores franceses que se conservan.

Page 43: Libro criptografia

35

3

CIFRADOS POLIALFABÉTICOS

A finales del siglo XV y durante la siguiente centuria, mientras el nomenclátor era el único método de cifrar que se seguía en la práctica, aparecieron unas publicaciones en las que se mostraron otras formas de hacer Criptografía. Estos nuevos métodos arrancan del cifrado por sustitución, al igual que el nomenclátor. Pero mientras que éste trata de escapar del temido análisis de frecuencias ampliando el número de signos del alfabeto de cifrado e incluyendo homófonos y nulos, los nuevos cifrados lo hacen empleando una sustitución diferente en el cifrado de cada letra. Haciendo esto, una misma letra del alfabeto en claro se transforma en cada ocasión en un signo distinto del alfabeto de cifrado y se inutiliza así el citado análisis de frecuencias. Esta forma de encriptar recibe el nombre de cifrado polialfabético; ya que como cada sustitución trae consigo una reordenación del alfabeto de cifrado, al emplear varias da la impresión que se manejan múltiples alfabetos. Los ejemplos posteriores aclararán este concepto.

En esos textos, sus autores sugerían una nueva forma de cifrar que creyeron mucho más segura que la que ofrecía el nomenclátor; y, en efecto, así era. Por lo general, un criptosistema polialfabético que gestione claves de forma eficiente proporciona una seguridad mucho mayor que la de un nomenclátor, aunque éste contenga un gran número signos. Pero a pesar de ello, las diplomacias y ejércitos desconsideraron los nuevos métodos y el nomenclátor continuó gobernando el mundo de las cifras hasta bien entrado el siglo XIX. Probablemente porque los responsables de manejar cifras en esas organizaciones descubrieron el principal inconveniente de los cifrados polialfabéticos: un pequeño error cometido durante el proceso de cifrado puede imposibilitar la decodificación, algo que no sucedía con el nomenclátor. De hecho, los sistemas polialfabéticos no fueron habituales en la práctica hasta que, entrado el siglo XX, la técnica hizo posible eliminar tales errores mecanizando la codificación y decodificación.

En este capítulo vamos a describir algunos de los cifrados que figuran en aquellos antiguos libros, creemos que los más célebres. Después mostraremos como criptoanalizar el más conocido de todos ellos: “le chiffre indéchiffrable”; llamado así por su autor, el francés Blaise de Vigenère.

Page 44: Libro criptografia

3. CIFRADOS POLIALFABÉTICOS

36

El primer cifrado polialfabético lo dio a conocer uno de los más máximos exponentes del Renacimiento italiano: León Battista Alberti (1402-1472). Como arquitecto, Alberti construyó el palacio Rucellai, erigió la primera fontana de Trevi, la iglesia de S. Andrés en Mantua y el templo de Malatesta en Rimini. También fue pintor y escribió sobre filosofía y arquitectura, fábulas, comedias, etc. Empezó a interesarse por la Criptografía gracias a su amistad con Leonardo Dato, secretario encargado de las cifras del Papa. Fruto de este interés fue un manuscrito de 25 páginas titulado “Modus scribendi in ziferas”, escrito en 1466. En él figura el cifrado que describimos a continuación y que el propio Alberti consideró “digno de reyes”.

Alberti parte de dos discos unidos por los centros, uno más grande y fijo, el otro más pequeño y móvil; cada uno de ellos dividido en 24 casillas. En las del disco mayor coloca el alfabeto en claro, formado por 20 letras mayúsculas del alfabeto latino y los dígitos 1, 2, 3 y 4. Alberti omite la H, la K y la Y del alfabeto latino usado en aquellos tiempos, porque considera que estas letras pueden sustituirse por homófonas en los textos en claro sin que se altere su significado. En el disco inferior va el alfabeto de cifrado, formado por las 23 letras del alfabeto latino, pero ahora en minúsculas y en orden aleatorio; y se completa la casilla sobrante con la palabra ‘et’. La Figura 3.1 muestra como van dispuestas letras y números en los discos.

Figura 3.1. Los dos discos de Alberti.

Tanto el emisor como el receptor deben tener discos idénticos y convenir en una letra del disco móvil, la k por ejemplo. Para cifrar, el emisor elige una letra en el disco grande; la escribe en mayúsculas al comienzo del texto cifrado para informar al receptor de esta elección; y gira el disco pequeño hasta situar la k junto a la letra escogida. Después, cifra tres o cuatro palabras del texto en claro según la correspondencia de letras determinada por la posición de los discos; y traslada al criptograma las letras minúsculas obtenidas. Repite de nuevo esta operación: elige otra letra en el disco grande, la escribe en

Page 45: Libro criptografia

3. CIFRADOS POLIALFABÉTICOS

37

mayúsculas en el texto cifrado, gira el disco móvil hasta hacer casar la k con esa letra, y cifra otras tres o cuatro palabras con la nueva correspondencia. Y así continúa, girando el disco menor y cifrando palabras del texto en claro hasta agotar éste. El cifrado que resulta es polialfabético porque los giros del disco menor traen sucesivas sustituciones, todas diferentes.

¿Para qué sirven los cuatro dígitos del disco grande? Alberti incluye en su escrito una tabla con números de dos, tres y cuatro cifras; conteniendo sólo los dígitos del 1 al 4. En total, 336 números. Al lado de cada uno va una palabra o grupo de palabras de uso común en la correspondencia oficial de la época. La idea de Alberti es reemplazar estas expresiones en los textos en claro por el número asociado y cifrar también éste con sus discos. Por ejemplo, con los discos en la posición mostrada en la Figura 3.1, si el número 421 representa ‘EL PAPA’, este fragmento se cifra ‘retp’.

Alberti creía irrompible su cifrado siempre que permaneciera secreto el orden de las letras del disco móvil. Naturalmente, esto no es así. La idea de los discos es muy interesante y será aprovechada más adelante por otros criptólogos; pero no lo es el modo en que Alberti los utiliza. Por ejemplo, se puede aumentar considerablemente la seguridad si en lugar de elegir letras en el disco grande y escribirlas en el texto cifrado, se emplean las letras de una palabra clave convenida entre el emisor y el receptor. Aún así, el cifrado de Alberti es mucho más seguro que los nomenclátores empleados en su época y tiene el mérito de ser el primer cifrado polialfabético de la historia de la Criptografía.

El siguiente cifrado que presentamos fue concebido por el monje benedictino alemán Johannes Trithemius. Este prolífico escritor contempló la Criptografía como parte de lo esotérico, tema por el que tenía gran interés y al que dedicó los ocho volúmenes que componen su “Steganografía”. Escrito en 1499, fue un libro famoso que circuló en forma manuscrita por toda Europa y terminó siendo prohibido por la Iglesia Católica en 1609. En él figuran también algunas formas de Criptografía. A esta materia consagró un libro de seis tomos que tituló “Poligrafía” y que escribió en 1508. En el quinto libro aparece la tabla mostrada en la Figura 3.2, que se utiliza para una forma de cifrar que merece la pena ser destacada.

Las 24 filas de esta tabla son alfabetos de cifrado que Trithemius utiliza de un modo muy simple. Cifra la primera letra del texto en claro con el primer alfabeto, la segunda letra con el segundo alfabeto y así sucesivamente. Con esta regla, el texto en claro ‘SECRETO’ se transforma en ‘sfeuiwu’. Observemos como la primera e del texto en claro se cambia por una f y la segunda por una i, lo que muestra el carácter polialfabético del cifrado.

Page 46: Libro criptografia

3. CIFRADOS POLIALFABÉTICOS

38

Figura 3.2. Tabla de Trithemius.

Es evidente que el cifrado de Trithemius es tan vulnerable como simple; pero su “tabula recta” va a inspirar a otros diseñadores de cifras durante toda la historia de la Criptografía. Una de estas cifras es la que aparece en un folleto titulado “La cifra del Sig. Giovan Batista Belaso”, escrito en 1553 por el autor con este mismo nombre. Belaso utiliza la tabla de Trithemius conjuntamente con una clave y del modo que explicamos a continuación. Por ejemplo, con la clave ‘BELASO’ la primera letra del texto en claro se cifra con el alfabeto de la tabla cuya letra inicial es la b; esto es, con el de la segunda fila. La segunda del texto en claro se cifra con el alfabeto que comienza por la e, el cuarto. Y así sucesivamente, hasta cifrar todo el texto en claro. El siguiente ejemplo lo muestra:

Clave: B E L A S O B E L A S O B E L A S O B E L Texto claro: C I F R A D O P O L I A L F A B E T I C O Texto cifrado: d n q r s r p t w l b o m k l b y h k g w

Page 47: Libro criptografia

3. CIFRADOS POLIALFABÉTICOS

39

Para simplificar, en este ejemplo la clave ha constado de una única palabra. Belaso propuso emplear claves formadas por varias palabras fáciles de recordar. También recomendó variar la clave frecuentemente; y ello hace que Belaso sea el primer autor que diseñó un criptosistema en el que las claves cambian periódicamente.

Más o menos al mismo tiempo que Belaso, el físico y matemático milanés Girolamo Cardano sugiere emplear la tabla de Trithemius usando como clave el propio texto en claro; cifrando cada una de sus palabras con el principio del mismo, según muestra el siguiente ejemplo:

Clave: S I C S I C E S I C E R G O E L Texto claro: S I C E R G O E L E M E N T I S Texto cifrado: l r e y a i s y t g q x t h n d

Cuando se usa el mismo texto en claro como clave, se denomina autoclave. El empleo de autoclaves es una idea muy interesante, utilizada actualmente en algunos criptosistemas que se implementan en el ordenador. Naturalmente, el autoclave de Cardano es demasiado simple; pero es el primero que recoge la historia de la Criptografía.

La siguiente obra que hemos de destacar es “De furtivis literarum notis”, escrita por el napolitano Giovanni Battista Porta en 1563. Un libro extraordinario. Sus cuatro volúmenes recogen toda la Criptografía hecha hasta esa época, incluidas las numerosas aportaciones del autor. Porta ideó cifrados de diversa índole que hacían uso de discos giratorios o tablas; uno de ellos es el que describimos a continuación, de naturaleza polialfabética.

En esta cifra de Porta, los textos en claro y los de cifrado se escriben con el alfabeto latino al que se ha suprimido la letra K. A partir de él, se consideran los once alfabetos mostrados en la Tabla 3.1, cada uno identificado por el par de letras que figura a su izquierda.

Page 48: Libro criptografia

3. CIFRADOS POLIALFABÉTICOS

40

AB abcdefghilmnopqrstvxyz OP abcdefghilm

stvxyznopqr

CD abcdefghilmznopqrstvxy QR abcdefghilm

rstvxyznopq

EF abcdefghilmyznopqrstvx ST abcdefghilm

qrstvxyznop

GH abcdefghilmxyznopqrstv VX abcdefghilm

pqrstvxyzno

IL abcdefghilmvxyznopqrst YZ abcdefghilm

opqrstvxyzn

MN abcdefghilmtvxyznopqrs

Tabla 3.1. Los once alfabetos de Porta.

Porta utiliza esta tabla de manera similar a como Belaso emplea la de Trithemius. Fijada una clave, cada letra del texto en claro se localiza en el alfabeto determinado por la correspondiente letra de la clave y se reemplaza por la que está en la misma columna. El siguiente ejemplo aclara cualquier duda:

Clave: P O R T A P O R T A P O R T A P O R T Texto claro: D E F V R T I V I S L I T E R A R V M Texto cifrado: x y y e e b p d n f q p c v e s m d p

El autor del siglo XVI que más fama ha cobrado en la historia de la Criptografía es el francés Blaise de Vigenère (1523-1596). Diplomático de la corte francesa en Roma desde los 26 años, decide abandonar esta ocupación a los 47 y dedicarse exclusivamente a sus estudios y escritos. Entre éstos, el que interesa aquí es el voluminoso “Traicté des chiffres”; publicado en 1585 y en el que, además de la materia indicada en el título, se tratan cuestiones de alquimia, magia y otras artes ocultas. Ello sugiere pensar que quizás el diplomático francés concebía la Criptografía como parte de lo esotérico, al igual que Trithemius. En cualquier caso, entre los numerosos cifrados que aparecen en su libro, describe uno polialfabético que él mismo denominó “le chiffre indéchiffrable” y que la Criptografía actual lo conoce como cifrado de Vigenère.

En realidad, el cifrado de Vigenère no es sino la cifra propuesta por Belaso, empleando una tabla similar a la de Trithemius; pero no necesariamente con las letras de los alfabetos dispuestas en el orden habitual, sino siguiendo otras ordenaciones convenidas entre el emisor y el receptor. Un ejemplo de tabla de Vigenère es la Tabla 3.2. En ella, hemos ordenado los alfabetos de cifrado a partir de la palabra ‘cryptografia’. La primera fila de letras mayúsculas constituye el alfabeto en claro. Sus letras van en el orden habitual, pero igualmente podrían ir en otro orden. Las letras mayúsculas de la primera columna identifican al alfabeto de cifrado que sigue a continuación.

Page 49: Libro criptografia

3. CIFRADOS POLIALFABÉTICOS

41

A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y ZA c r y p t o g a f i b d e h j k l m n ñ q s u v w x z B r y p t o g a f i b d e h j k l m n ñ q s u v w x z c

C y p t o g a f i b d e h j k l m n ñ q s u v w x z c r

D p t o g a f i b d e h j k l m n ñ q s u v w x z c r y E t o g a f i b d e h j k l m n ñ q s u v w x z c r y p

F o g a f i b d e h j k l m n ñ q s u v w x z c r y p t

G g a f i b d e h j k l m n ñ q s u v w x z c r y p t o H a f i b d e h j k l m n ñ q s u v w x z c r y p t o g I f i b d e h j k l m n ñ q s u v w x z c r y p t o g a

J i b d e h j k l m n ñ q s u v w x z c r y p t o g a f

K b d e h j k l m n ñ q s u v w x z c r y p t o g a f i L d e h j k l m n ñ q s u v w x z c r y p t o g a f i b

M e h j k l m n ñ q s u v w x z c r y p t o g a f i b d N h j k l m n ñ q s u v w x z c r y p t o g a f i b d e Ñ j k l m n ñ q s u v w x z c r y p t o g a f i b d e h O k l m n ñ q s u v w x z c r y p t o g a f i b d e h j P l m n ñ q s u v w x z c r y p t o g a f i b d e h j k

Q m n ñ q s u v w x z c r y p t o g a f i b d e h j k l R n ñ q s u v w x z c r y p t o g a f i b d e h j k l m

S ñ q s u v w x z c r y p t o g a f i b d e h j k l m n

T q s u v w x z c r y p t o g a f i b d e h j k l m n ñ

U s u v w x z c r y p t o g a f i b d e h j k l m n ñ q V u v w x z c r y p t o g a f i b d e h j k l m n ñ q s W v w x z c r y p t o g a f i b d e h j k l m n ñ q s u X w x z c r y p t o g a f i b d e h j k l m n ñ q s u v Y x z c r y p t o g a f i b d e h j k l m n ñ q s u v w Z z c r y p t o g a f i b d e h j k l m n ñ q s u v w x

Tabla 3.2. Una tabla de Vigenère.

Para cifrar, las tablas de Vigenère se emplean igual que la de Trithemius: fijada una clave, cada letra del texto en claro se reemplaza por la que está en su misma columna y en la fila determinada por la correspondiente letra de la clave. Empleando la Tabla 3.2 y la clave ‘TRITHEMIUS’, un ejemplo de cifrado es el siguiente:

Clave: T R I T H E M I U S T R I T H E Texto claro: B L A I S E D E V I G E N E R E Texto cifrado: s y f r z f k e l c z u s w x f

Curiosamente, una tabla de Vigenère como la 3.2 equivale a un disco como el ideado por Alberti. Para observarlo, fijémonos en la Figura 3.1. La sustitución mostrada es la siguiente:

Page 50: Libro criptografia

3. CIFRADOS POLIALFABÉTICOS

42

A B C D E F G I L M N O P Q R S T V X Z 1 2 3 4 d l g a z e n b o s f c h t y q i x k v p & m r

Imaginemos que a partir de esta transformación construimos un cuadrado de Vigenère siendo esta sustitución la primera de ellas, la identificada con la letra A. Entonces la segunda transformación, la correspondiente a la letra B, se obtiene desplazando una posición hacia la izquierda las letras del alfabeto de cifrado y colocando en último lugar la d. Justamente la misma sustitución que se consigue girando el disco interno de la Figura 3.1 una posición en sentido contrario a como se mueven las agujas de un reloj. Así pues, las sustituciones proporcionadas por la tabla y el disco son las mismas.

Por tanto, la diferencia entre el cifrado de Alberti y el de Vigenère, lo que hace al segundo mucho más seguro que el primero, es el número de claves que se maneja en cada caso. En el de Alberti la clave se reduce a una letra elegida entre 24 posibles, la que convienen el emisor y el receptor para “casar” los discos. En el de Vigenère hay una infinidad, puede ser un grupo palabras de cualquier longitud. De hecho, el propio Vigenère recomendaba, al igual que Belaso, emplear claves largas como, por ejemplo, líneas de poesía o fechas completas que, además, convenía variar frecuentemente. Otra posibilidad que contempló fue el uso de autoclaves.

Muchos textos actuales identifican la cifra propuesta por Vigenère con la de Belaso. Como ya hemos dicho antes, la única diferencia estriba en que la cifra de Vigenère emplea alfabetos no ordenados en el modo habitual; pero ello aumenta considerablemente la seguridad del criptosistema resultante.

Con Vigenère concluye la lista de autores renacentistas que recomiendan los cifrados polialfabéticos como alternativa al nomenclátor en el reinado del país de las cifras. Propuesta totalmente ignorada por los nobles de este reino que, al seguir prefiriendo como monarca al viejo nomenclátor, confinaron los libros anteriores a la oscuridad de las “cámaras negras”. Y ahí permanecieron hasta que, a mediados del siglo XIX, los ejércitos europeos demandaron otras formas de cifrado que dieran protección a sus recién estrenadas comunicaciones telegráficas. Ésta fue la oportunidad de los viejos cifrados polialfabéticos, que al fin alcanzaron la gloria deseada por sus creadores. Pero por poco tiempo, ya que no eran tan indescifrables como éstos aseguraban. Naturalmente, esta condición de indescifrable la entendían ante un ataque con texto cifrado únicamente; ya que es evidente que los cifrados anteriores caen fácilmente ante un ataque con texto claro.

En 1863, un veterano del ejército prusiano, el mayor Friedrich Wilhelm Kasiski, da el primer paso hacia el criptoanálisis de los cifrados polialfabéticos dentro de un libro de 95 páginas titulado “Die Geheimschriften und die Dechiffrirkunst” (“La escritura secreta y el arte del desciframiento”). Este primer paso no es sino encontrar la longitud de la clave empleada. Como bien observa Kasiski, si dos fragmentos iguales del texto en claro distan uno de otro un múltiplo de la longitud de la clave, entonces sus transformados del texto cifrado también son idénticos. En consecuencia, si en un criptograma hay bloques repetidos, la longitud de la clave debe dividir al máximo común divisor de las distancias entre fragmentos iguales. Esto permite su cálculo.

Page 51: Libro criptografia

3. CIFRADOS POLIALFABÉTICOS

43

Algunos autores opinan que este método de Kasiski para encontrar la longitud de la clave había sido descubierto 17 años antes por Charles Babbage, un excéntrico científico inglés que invirtió la mayor parte de su tiempo en extravagancias como determinar los climas del pasado estudiando la anchura de los anillos de los troncos de los árboles, o diseñar una máquina calculadora que en cierto modo podía ser programable. Estos mismos escritores afirman que gracias a Babbage el ejército inglés pudo penetrar en las cifras rusas durante la guerra de Crimea, en la que el ejército del zar Nicolás I empleó un cifrado de Vigenère con alfabetos estándar (la cifra original de Belaso).

No obstante, el problema de encontrar la longitud de la clave se resuelve de un modo definitivo mediante el llamado índice de coincidencia de un texto, concepto introducido por el gran criptoanalista del ejército americano William Friedman en la década de los años veinte. Se define como la probabilidad de que dos de sus letras elegidas al azar coincidan.

Mostremos como calcular el índice de coincidencia con un ejemplo; con el siguiente fragmento de texto, con el que comienza “El Quijote”:

“En un lugar de la Mancha, de cuyo nombre no quiero acordarme, no ha mucho tiempo que vivía un hidalgo de los de lanza en astillero, adarga antigua, rocín flaco y galgo corredor. Una olla de algo más vaca que carnero, salpicón las más noches, duelos y quebrantos los sábados, lentejas los viernes, algún palomino de añadidura los domingos, consumían las tres cuartas partes de su hacienda...”

Calculemos en primer lugar la probabilidad de que al elegir dos letras al azar, éstas sean dos aes. Según la regla de Laplace, dicha probabilidad es el cociente entre el número de casos favorables y el de posibles. Obtengamos primero el número de casos posibles. Como el texto consta de 311 letras, hay este mismo número de opciones para una primera letra. Elegida ésta, restan 310 posibilidades para la segunda. En total: 311·310 = 96410 modos distintos de hacerlo. Ahora bien, escoger como primera letra una a y luego una b da lugar al mismo par que si se elige primero una b y a continuación una a. Por tanto, la cantidad anterior ha de dividirse por dos para determinar el número de pares distintos resultantes: 96410/ 2 = 48205. Éste es el número de casos posibles. Determinemos ahora el número de casos favorables; esto es, ¿cuántos de esos pares son dos aes? El razonamiento es el mismo. Como hay 45 aes, tal cantidad es entonces 45·44 / 2 = 990. Así pues, la probabilidad de al elegir dos letras en fragmento anterior, éstas sean dos aes: 990 / 48205 = 0,02053. Del mismo modo se calcula la probabilidad de que las dos letras elegidas sean dos bes, dos ces, etc. Y sumando las 27 cantidades obtenidas se obtiene el índice de coincidencia del fragmento: 0,07076.

Notemos que la argumentación anterior proporciona una fórmula general para determinar el índice de coincidencia de un texto. Es la siguiente:

Page 52: Libro criptografia

3. CIFRADOS POLIALFABÉTICOS

44

)1()1(...)1()1(

IC−

−++−+−=

nnffffff zzbbaa ,

donde fa, fb, ..., fz son las frecuencias de las letras y n es la longitud del texto (el número de letras que tiene).

Si en lugar del fragmento anterior hubiésemos extraído de “El Quijote” un texto de gran tamaño, las frecuencias de sus letras estarían muy próximas al patrón de frecuencias de nuestro idioma que mostramos en la Tabla 1.3, incluida en el primer capítulo. Por ejemplo, el número de aes presentes en él sería muy cercano a 0,12529·n (siendo n el número total de letras); y la probabilidad de que al escoger dos de sus letras éstas sean dos aes, estaría muy próxima al cuadrado de 0,12529. La misma observación es válida para cualquier otra letra. Se sigue entonces que el índice de coincidencia del texto sería prácticamente igual a la suma de los cuadrados de los números que figuran en la mencionada Tabla 1.3. Suma a la que podemos convenir en llamar índice de coincidencia del español. Su valor, junto al del inglés, francés y alemán, se incluye en la siguiente tabla:

Inglés Español Francés Alemán 0,0685 0,0755 0,0793 0,0736

Tabla 3.3. Índices de coincidencia

No sólo los textos de gran tamaño presentan índices próximos a los presentados en esta tabla. Por lo general, es suficiente que un texto contenga un par de cientos de letras para su índice de coincidencia esté a distancia inferior a 0,01 del índice del idioma en que se ha escrito. Lo podemos observar en el pequeño fragmento anterior extraído de “El Quijote”. Y es frecuente que esto suceda incluso con textos más cortos, con apenas unas decenas de letras.

Ahora consideremos un texto en el que sus letras se han elegido aleatoriamente, todas con igual probabilidad. En tal caso, si su longitud es suficientemente grande, en dicho texto figuran todas las letras del alfabeto y con una frecuencia similar, cercana a n/27 (suponiendo que en el texto hay n letras y en el alfabeto 27). Se deduce entonces que su índice de coincidencia está próximo a 1/27 = 0,037.

Cuando ciframos un texto por sustitución, las frecuencias de sus letras se mantienen en el texto cifrado resultante y, en consecuencia, el índice de coincidencia también; y es cercano a 0,0755 (considerando que el texto en claro está escrito en español). Pero si se emplea un sistema polialfabético, entonces resulta una distribución de frecuencias parecida a la de un texto aleatorio; ya que las frecuencias más altas del texto en claro se reparten entre varias letras del criptograma. Por tanto, su índice de coincidencia está más próximo a 0,037 que a 0,0755. Ahora bien, si del criptograma extraemos todas las letras cifradas con un mismo alfabeto y calculamos su índice de coincidencia, nos acercamos de nuevo al valor 0,0755. Este simple hecho permite determinar la longitud de la clave en un

Page 53: Libro criptografia

3. CIFRADOS POLIALFABÉTICOS

45

cifrado polialfabético. Veámoslo en un caso práctico, en el que también haremos uso de la indicación de Kasiski.

Consideremos el siguiente criptograma, resultado de cifrar un fragmento de “El Quijote” mediante un criptosistema de Vigenère que hace uso de una tabla similar a la 3.2 (pero distinta) y cierta clave desconocida:

adiawñdntrtocdhmphhdusbbkqmgtfkñfpouhuhftñcpmpoekfrneecpsivdyrmsxskitjzuhuhnedwbmrvdyqfhduabopoukñfjrrdfhjzkjuijzrcofgoyosmsdhkfunjhymtjpshdzivpjpmkvñkpjnahxsknzukbjnporuzjñfdcgrbywuhmeñcpmttcdpodaukpjrouyqouvcdnohnuyefnñdysmxthqqmhidwftjnhklmrlegeopouadnrvikpfqtycpsibposmsauxshlvpyhyqyuumtjchqcoqvñqhbpoeihfktqrhkjztrzoddhqfongdguujrpjcmgvñrdmapdñeznledfffceybmxhfddxftccñumleydzvbfdcgrbdusnnyuguunñrdpohvñdyiaffrisutrrvoibbdmtjgdfefshqdntnrqditjyhgeznrrkpkjñhnsmnghqdmrtmjumrtdyrmsikqeyjyhhujmahubosyhgezjzqkbywrqd

Criptograma.

Hemos subrayado tres bloques que aparecen repetidos dos veces todos ellos. Uno de seis letras, ‘fdcgrb’, en las posiciones 174 y 384; y otros dos de cinco letras, ‘dyrms’, en los lugares 60 y 480; y ‘yhgez’, en las posiciones 449 y 503. La diferencia entre estas posiciones es, respectivamente, 210, 420 y 54. El máximo común divisor de estos tres números es 6 y, según la observación de Kasiski, la longitud de la clave muy bien puede ser este número o uno de sus divisores. El cálculo de índices de coincidencia lo confirmará. Para ello, escribamos el texto cifrado de arriba abajo, formando un rectángulo con seis filas y dando lugar a 6 subtextos T1, T2, ..., T6:

T1: adchkkhckcykhwyakdjcokyhjkxkrdwcdkydyyqw ...

T2: dnddqñupfpriubqbñfuosfmdppsbucupppqnesqf ...

T3: ithumfhmrsmthmfofhifmutzmjkjzghmojoofmmt ...

T4: armsgpfpnisjnrhpjjjgsnjiknnnjrmtdruhnxhj ...

T5: wtpbtotoevxzevdorzzodjpvvazpñbetaovnñtin ...

T6: ñohbfuñeedsudduurkryhhspñhuofyñcuucudhdh ...

Si la longitud de la clave es 6, las letras del texto en claro situadas en las posiciones 1, 7, 13... se cifran todas ellas con el mismo alfabeto, el determinado por la primera letra de la clave. Sus correspondientes cifradas determinan la primera fila del rectángulo, el texto que denotamos T1. Del mismo modo, el texto T2 corresponde a las letras del texto en claro que se cifran con el alfabeto determinado por la segunda letra de la clave. Y así sucesivamente. Si la longitud de la clave es un divisor de 6, por ejemplo 3, entonces

Page 54: Libro criptografia

3. CIFRADOS POLIALFABÉTICOS

46

también todas las letras de cada texto Ti proceden de letras del texto en claro cifradas con el mismo alfabeto. Sucede que, en este caso, los textos T1 y T4 corresponden al mismo alfabeto, T2 y T5 a otro alfabeto común, y T3 y T6 a un tercero. Tanto si la longitud de la clave es 6 como uno de sus divisores, cada uno de los textos Ti mantiene el índice de coincidencia del subtexto en claro del que procede. Puede suceder que estos índices presenten variaciones importantes respecto al del texto en claro completo; pero su media está cercana a dicho número, el cual debe ser próximo a 0,0755. En otro caso, si la longitud de la clave no es ni 6 ni ninguno de sus divisores, la media anterior se acercará más a 0,037. Por tanto, nuestra siguiente tarea es calcular los índices de los textos Ti y después la media de estos números. Ello pasa por efectuar sendos análisis de frecuencias para cada uno de los textos Ti. La Tabla 3.4 los recoge. En ella hemos ordenado las letras que aparecen en cada subtexto por su frecuencia, que es el número que figura junto a cada letra. En la última fila se indica el índice de coincidencia de cada texto.

T1 T2 T3 T4 T5 T6

d:14 k:13 y:10 c: 7 q: 6 r: 6 g: 5 h: 5 j: 4 a: 3 u: 3 w: 3 o: 2 x: 2 f: 1 i: 1 n: 1 ñ: 1

p:11 d: 9 u: 9 e: 7 s: 7 b: 6 f: 6 c: 4 h: 4 q: 4 i: 3 m: 3 n: 3 ñ: 3 r: 2 l: 1 o: 1 v: 1 y: 1 z: 1

m:18 o:11 f: 9 t: 8 h: 6 z: 6 u: 5 j: 4 i: 3 k: 3 s: 3 y: 3 g: 2 n: 2 b: 1 r: 1 x: 1

j:15 n:14 r: 9 s: 7 p: 5 h: 4 i: 4 m: 4 a: 3 f: 3 g: 3 q: 3 d: 2 k: 2 u: 2 x: 2 l: 1 t: 1 v: 1 w: 1

t:11 v:10 o: 7 b: 6 z: 6 r: 5 y: 5 a: 4 ñ: 4 p: 4 d: 3 e: 3 g: 3 l: 3 c: 2 h: 2 i: 2 n: 2 f: 1 j: 1 w: 1 x: 1

h:14 u:12 d:10 e: 7 ñ: 7 f: 5 q: 5 r: 5 p: 4 c: 3 y: 3 b: 2 k: 2 o: 2 s: 2 i: 1 m: 1 t: 1

IC: 0,0807 0,0629 0,0908 0,0813 0,0561 0,0793

Tabla 3.4. Frecuencias e índices de los subtextos.

La media de los índices es 0,07518, lo que confirma que la longitud de la clave es 6 o uno de sus divisores. Determinemos esta longitud exactamente. Para ello, hemos de averiguar si los alfabetos de cifrado con los que se han obtenido los textos Ti son distintos o no. Si dos de estos alfabetos coinciden, entonces las letras más frecuentes de uno de los correspondientes textos están presentes en el otro con una frecuencia importante. Observando la Tabla 3.4, este hecho sólo se advierte en la pareja formada por T2 y T6. Estos dos textos tienen a las letras d, u y e entre las más frecuentes; y también se observan otras letras con frecuencias similares en ambos textos. Es probable que fueran cifrados con el mismo alfabeto.

Page 55: Libro criptografia

3. CIFRADOS POLIALFABÉTICOS

47

Lo confirmaremos cuando calculemos su índice de coincidencia mutua. Este otro índice es de aplicación para una pareja de textos y se define como la probabilidad de que al elegir una letra en cada texto, ambas coincidan. La fórmula que facilita su cálculo es la siguiente:

mngfgfgf zzbbaa

⋅⋅++⋅+⋅

=...ICM ,

donde fa, fb, ..., fz son las frecuencias de las letras de uno de los textos, n su longitud; ga, gb, ..., gz las frecuencias del otro texto y m su longitud.

Si se calcula el índice de coincidencia de dos textos escritos en nuestro idioma, su valor está cercano a 0,0755. Este índice no varía si ambos textos se cifran mediante una misma sustitución; pero si se cifra cada texto con una sustitución diferente, el índice de coincidencia baja hasta el aleatorio: 0,037, ó incluso por debajo. Por tanto, el índice de coincidencia mutua sirve para averiguar si dos textos cifrados lo han sido con una misma sustitución. En nuestro ejemplo, el índice de coincidencia mutua de T2 y T6 es 0,0645, mucho más cerca del índice del español que del aleatorio. Ello confirma que, en efecto, T2 y T6 proceden del mismo alfabeto. Para las demás parejas de textos Ti el índice de coincidencia mutua ronda el aleatorio, lo que permite concluir que no hay más alfabetos coincidentes. Así pues, la longitud de la clave es 6, aunque da lugar a sólo cinco alfabetos distintos ya que el segundo y el sexto son el mismo. Y ello es debido a que la segunda y sexta letras de clave son también idénticas.

Hallada la longitud de la clave y el número de alfabetos distintos, el siguiente paso en el criptoanálisis de un sistema polialfabético es reconstruir cada uno de los alfabetos de cifrado empleados. El proceso es similar al caso monoalfabético. Primero ha de efectuarse un análisis de frecuencias de los bigramas y trigramas del texto cifrado, que ahora han de clasificarse en tantos grupos como la longitud de la clave y en función de los alfabetos que intervienen en el cifrado de cada una de sus letras. Si en estos grupos se identifican los bigramas y trigramas más habituales de nuestro idioma, entonces se podrá hallar las transformadas de las letras con más frecuencia y asomará el texto en claro. Naturalmente, esta tarea es ahora mucho más compleja que en el caso monoalfabético y el éxito sólo está garantizado si se dispone de suficiente cantidad de texto cifrado. La práctica indica que son necesarias al menos unas trescientas letras por cada alfabeto de cifrado presente en la clave. Si no se dispone de esta cantidad, el reconocimiento de bigramas y trigramas es muy difícil, puede que sea incluso cuestión de suerte. Ésta es precisamente la situación ante el criptograma que nos enfrentamos, cuya longitud es de 517 letras y 5 han sido los alfabetos de cifrado empleados. No obstante, estos alfabetos forman parte de una tabla de Vigenère y, por tanto, un alfabeto se puede obtener a partir de otro desplazando sus letras un número determinado de posiciones. Veamos si podemos aprovechar esta debilidad.

En primer lugar, dado lo reducido del texto cifrado, más útil que un listado de bigramas y trigramas es organizar las letras tal y como hemos hecho en la Tabla 3.5. Para elaborarla, hemos partido de la Tabla 3.4 y hemos ido colocando a la derecha de sus letras aquellas otras que las siguen en el texto cifrado, y a su izquierda las que anteceden. Por ejemplo, la primera d del texto T1 aparece en el séptimo lugar del texto cifrado y junto a

Page 56: Libro criptografia

3. CIFRADOS POLIALFABÉTICOS

48

ella una n a su derecha y una ñ a su izquierda. Por eso, en la columna de T1, la primera letra a la derecha de la d es una n y la primera a su izquierda una ñ. La siguiente d de T1 figura en el texto cifrado acompañada de una f por la derecha y una r por la izquierda. Estas son las letras que siguen a las anteriores en la fila de T1 que tiene a la d en el centro. Así pues, la Tabla 3.5 muestra con que otras letras se emparejan por la derecha y por la izquierda cada una de las letras de los textos Ti.

Aún con la ayuda de la Tabla 3.5, reconocer en cada texto Ti las transformadas de las letras más frecuentes no es sencillo. Hay que ir poco a poco. Empecemos por distinguir en cada texto Ti las letras que muy probablemente sean sustitutas de las vocales. Las vocales e, a y o son, por este orden, las tres letras más frecuentes en nuestro idioma y pueden “casar” tanto por la derecha como por la izquierda con cualquier otra letra. Sus transformadas en cada alfabeto deben verse en la Tabla 3.5 rodeadas por ambos lados con muchas y distintas letras, y también flanqueando a otras que deben corresponder con las consonantes poco frecuentes. En la columna del texto T1 es claro que las dos letras más frecuentes, d y k, cumplen estas características; pero presenta más dudas la siguiente en frecuencia, la y. Aunque esta letra esta rodeada por otras diez, a su izquierda no hay más que cinco diferentes; y no figura a la derecha de las consonantes poco frecuentes del texto T6. Puede que sea sustituta de una consonante. En la columna correspondiente a T2 la situación es más complicada. Pero aquí podemos usar el hecho que los alfabetos segundo y sexto coinciden. Sumando las frecuencias de las letras de T2 y T6, las dos más frecuentes son u y d, por este orden. Observando estas letras tanto en T2 como en T6, no cabe duda que representan vocales. Lo mismo que m y o en T3, j y n en T4, y t y v en T5.

Page 57: Libro criptografia

3. CIFRADOS POLIALFABÉTICOS

49

T1 T2 qqqbñrffeccfrñ-d-nfcpnfdcpymni* qrihuuñhusefb-k-qñfiñfpbplppb

deepduuhdd-y-rqmqeshbdr cyñreño-c-dppoppñ khhñhh-q-qchfde rfñtqo-r-uhzdiv hhude-g-euuee hsuuh-h-duudu mppk-j-upcu uu*-a-dbd hdu-u-msb dyd-w-buf py-o-ss uh-x-ss d-f-e e-i-h h-n-s d-ñ-e

kdckkdckjcc-p-msmjmojfsok qydrahhca-d-ihuznmxzm hjggwrjhh-u-hhizhuumj

gqgfñgy-e-fozfzyz nuxoyxo-s-mkmmhnm kuykaw-b-mojmoy dqwkdk-f-rhutof djqd-c-gomg riqy-h-ybfk qyyk-q-mfom drk-i-tst duy-m-ttt ddd-n-tot ckk-ñ-ffu yy-r-mm k-l-m c-o-f r-v-o d-y-i r-z-o

T3 T4 rudsbdcslqsppsbrpq-m-gpsrsktxhrsgaxnrrs

bvpfzcenqpb-o-pduhpqdnhis efhpeoñqñ-f-phjgnqkfs inmmfmin-t-rjjjjjnj

sufuud-h-mfnjml eedeud-z-ijnvnj uñufd-u-snjmn upbp-j-nnrm yud-i-aja phs-k-njj ipp-s-iiu beh-y-qjw cc-g-rr sd-n-rn h-b-p f-r-n d-x-f

zykttukttztihft-j-zrzzpñnczrgyñyz mztunzofjkjuhr-n-eejazpñglyñrrg

mmgnmjgmt-r-tvbolvbtt omfmmmu-s-bxdahiy boomf-p-ooooo omof-h-dniv oszs-i-vvbb juhh-m-pela imi-a-wpf xfh-f-tct mfm-g-tov oyf-q-tyv oo-d-ad fm-k-vt so-u-vt mm-x-th h-l-v m-t-t z-v-b y-w-r

T5 T6 rrufkqxtfgr-t-ofñchyqcrmd hgqlrukiri-v-ddpñcipñññ

pprgppp-o-ueuyuue irvirs-b-bypfdb jjnjjj-z-ukrutq wnnjj-r-rpqrq sjjnq-y-uuhhh msdn-a-huuh jnnj-ñ-fdrh anjm-p-hsod dsh-d-uhh mnn-e-edñ njn-g-ddh mnr-l-eee fj-c-he sx-h-fq sh-i-dk jh-n-uh a-f-f n-j-h a-w-ñ s-x-s

yaygñydcntajdp-h-hkyxqkqqgnqhug yyaonoazodzo-u-hhakkkyyaxug tgbpgiñvev-d-ywyywgñufy

lcloleo-e-kcgidyy vvvevtw-ñ-dckcqrd fbhñt-f-kdddr rzrht-q-rddkd rtñzr-r-dcdrk rvbv-p-joyj tvt-c-ddc tbo-y-owc bb-b-kd iz-k-jq pt-o-cr px-s-kh v-i-k t-m-j z-t-r

Tabla 3.5. Preparación de las letras.

Page 58: Libro criptografia

3. CIFRADOS POLIALFABÉTICOS

50

En esta primera ronda hemos confirmado que sustituyen a vocales las dos letras más frecuentes de cada texto Ti. Continuemos con una segunda y sucesivas vueltas en las que examinamos si son vocales o consonantes las letras que siguen en frecuencia. Ahora conviene tener en cuenta el siguiente hecho diferencial entre vocales y consonantes frecuentes (s, n, r, d, l...): éstas no suelen seguir a otras consonantes, sino a las vocales más frecuentes que ya han sido descubiertas, lo contrario que sucede con el resto de las vocales. Por tanto, si las vocales predominan en la fila de la izquierda de una letra, ésta muy probablemente será una consonante y en otro caso una vocal. Por ejemplo, ahora es claro que la y del texto T1 representa a una consonante: entre las diez letras a su izquierda hay cuatro des y dos ues, letras de T6 que han resultado ser sustitutas de vocales. La h del texto T6 debe representar a una vocal ya que entre las catorce letras a su izquierda sólo hay una t y ninguna v. En fin, observando con cuidado la Tabla 3.5 se puede determinar, con una alta probabilidad, si son vocales o consonantes las letras más frecuentes de cada uno de los textos Ti y consignarlo en una tabla como la que sigue a continuación. Naturalmente, podemos estar equivocados con alguna letra; pero seguro que hemos acertado en la mayoría:

Textos: Vocales: Consonantes: 1 d k c r y q g h

2, 6 u d h e s p ñ f

3 m o f t h z

4 j n r s p h

5 t v o b z r

Esta clasificación en vocales y consonantes no tiene otro objetivo que facilitar el reconocimiento de algunos de los bigramas y trigramas más comunes de nuestro idioma y que, como ya dijimos antes, es fundamental para que el criptoanálisis pueda avanzar. En la Tabla 3.5 se pueden observar algunos bigramas que se encuentran varias veces repetidos. Por ejemplo, los bigramas ‘sm’, ‘mr’ y ‘ms’, que aparecen cuatro veces cada uno en la fila de la m del texto T3; el bigrama ‘tj’ figura seis veces en la fila de la t de este mismo texto; el bigrama ‘po’ se halla cinco veces en la fila de la p de T4; y en fin, varias repeticiones más que también habrá observado el lector. Hemos de asignar valores a estos bigramas y analizar su validez. En caso de llegar a contradicciones habrá que contemplar otras opciones.

El anteriormente citado bigrama ‘po’ puede representar la asociación ‘qu’, ya que la p de T4 sustituye a una consonante que siempre va seguida por la equivalente a la o de T5, que es una vocal no muy frecuente. El bigrama ‘po’ se amplía dando lugar a los trigramas ‘pou’ y ‘poe’, que deben corresponder al pronombre ‘que’ y al trigrama ‘qui’. Mirando la frecuencia de la u y la e en T6, lo más probable es que ‘pou’ sustituya al pronombre y ‘poe’ a ‘qui’. En el texto cifrado, ‘poe’ continua ‘poek’. Como esta k es de una de las vocales más frecuentes de T1, ‘poek’ debe ser ‘quie’ en el texto en claro. Vayamos ahora con ‘tj’. La t pertenece a T3 y está catalogada como una vocal no muy frecuente, la j figura en T4 y como una vocal muy frecuente. Es posible que ‘tj’ corresponda en el texto en claro a ‘ue’, que es, con diferencia, el bigrama con mayor frecuencia entre los constituidos por dos vocales. Esta asociación ‘tj’ se amplia por la

Page 59: Libro criptografia

3. CIFRADOS POLIALFABÉTICOS

51

izquierda a ‘mtj’ en tres ocasiones, y sucede que la m de T2 siempre va seguida de la t. ¿Estaremos de nuevo ante el pronombre ‘que’? Posiblemente sí, ya que son muy abundantes en “El Quijote”. Y hay más. Como las emes de T2 sustituyen a la q y los alfabetos de cifrado de T2 y T6 coinciden, la única m que figura en T6 debe reemplazar también a una q. Luego el trigrama que origina, ‘mju’, es otro ‘que’. Por último, el cuatro veces repetido bigrama ‘sm’ en la fila de la m de T3 tiene que corresponder también a ‘ue’, por la misma razón que dimos antes. Y probablemente alguno de los cuatro bigramas proceda de otro ‘que’, pero esta vez no está tan claro.

Bien, este análisis de bigramas nos ha permitido conjeturar con varias sustituciones que es conveniente llevar a una tabla como la que sigue a continuación. En ella, la primera fila de letras mayúsculas es el alfabeto en claro y las siguientes son cada uno de los alfabetos de cifrado. El número a la izquierda indica cual.

A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z1 k j

2, 6 u e m s

3 m t

4 j p

5 o

¡Tanto esfuerzo para rellenar unas pocas casillas! Sí, así es; pero enseguida colocaremos más letras en esta tabla. Hagamos ahora uso del hecho que los alfabetos forman parte de una tabla de Vigenère y que en ella se tiene la siguiente propiedad, que algunos textos denominan simetría de la posición: la distancia entre dos letras dadas es constante en todas sus filas. (Obsérvese esta sencilla propiedad en la Tabla 3.2.) En el primer alfabeto vemos la j diecisiete casillas a la derecha de la k. Esta misma distancia deben mantener estas dos letras en todos los alfabetos. En particular en el cuarto, lo que sitúa una k en su fila, en la columna de la Ñ. Del mismo modo se traslada la p del cuarto alfabeto al primero, manteniendo la distancia con la j. Y más juego da la simetría de la posición con el segundo y tercer alfabetos, gracias a la m. En consecuencia, la tabla de sustituciones contiene ya menos casillas vacías:

A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z1 k p j

2, 6 u t e m s

3 m s u t e

4 j k p

5 o

Completemos las vocales del segundo alfabeto colocando la d y la h en las casillas de la A y la O. En virtud de la simetría de la posición, la letra que asignemos a la A deberá figurar también en la casilla de la Ñ del tercer alfabeto. La alta frecuencia de la h en T3 descarta la posibilidad que sustituya a la Ñ, que aparece muy pocas veces en nuestro idioma. La d es mejor opción ya que no está presente en T3. Por tanto, situemos la d en la

Page 60: Libro criptografia

3. CIFRADOS POLIALFABÉTICOS

52

casilla de la A del segundo alfabeto y la h en la de la O. Del mismo modo podemos completar las vocales en el tercer alfabeto. Ahora la mejor opción es situar la f en la casilla de la A y la o en la de la O, porque ello implica asignar una f a la N del segundo alfabeto y está en consonancia con la frecuencia de la f en T2 y en T6. Por otro lado, como la o figura ya en la fila del quinto alfabeto, la simetría de la posición descubre nuevas letras en él:

A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z 1 k p j

2, 6 d o u t e f h m s

3 f h m s d o u t e

4 j k p

5 t e f h m s d o u

Vayamos ahora con las vocales del primer alfabeto. En él ya tenemos adjudicadas sustitutas para la e y la u. La d es la letra más frecuente en T1 y está catalogada como vocal. No puede ir en la casilla de la A porque entonces los alfabetos primero y segundo coincidirían y, como ya sabemos, no es así. Debe corresponder con la O y dejar libre la A para la c o la r. La simetría de la posición confirma esta deducción y sugiere completar las vocales situando la c en la cuadrícula de la A y la r en la de la I. La tabla de alfabetos queda entonces así:

A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z 1 c f h k m p r s d o u j t e

2, 6 d o u j t e c f h k m p r s

3 f h k m p r s d o u j t e c

4 u j t e c f h k m p r s d o

5 t e c f h k m p r s d o u j

Llegados a este punto, hemos descubierto catorce letras en cada alfabeto, entre ellas casi todas las vocales. Es el momento de comprobar si el criptoanálisis ha ido por buen camino. Toca escribir debajo de cada línea del criptograma otra de donde figuren las letras del texto en claro ya descubiertas y observar que se obtiene. Esto es lo que hacemos continuación (hemos insertado un espacio en blanco cada seis letras para distinguir mejor el alfabeto empleado en cada momento):

adiawñ dntrto cdhmph hdusbb kqmgtf kñfpou huhftñ cpmpoe *A**** O*URAB AACOMO DARS** E*E*AN E*AQUE DECLA* ASEQUI

kfrnee cpsivd yrmsxs kitjzu huhned wbmrvd yqfhdu abopou ENH*BI ASI**A *TES*U E*UE*E DEC*BA **ER*A **ANTE **OQUE

kñfjrr dfhjzk juijzr cofgoy osmsdh kfunjh ymtjps hdzivp E*AENT ONCE*P UE*E*T ABA*U* PUESTO ENR*ZO *QUEMU DA***S

Page 61: Libro criptografia

3. CIFRADOS POLIALFABÉTICOS

53

jpmkvñ kpjnah xsknzu kbjnpo ruzjñf dcgrby wuhmeñ cpmttc USEÑ** EST**O *UD**E E*T*MB IE*E*N OM*R** *ECOB* ASEFAM

dpodau kpjrou yqouvc dnohnu yefnñd ysmxth qqmhid wftjnh OSOY*E ESTRUE **OC*M O*ON*E *IA**A *UE*AO **EN*A *NUE*O

klmrle geopou adnrvi kpfqty cpsibp osmsau xshlvp yhyqyu E*ER*I *IOQUE *A*R** ESA*A* ASI**S PUES*E *UC**S *O***E

umtjch qcoqvñ qhbpoe ihfktq rhkjzt rzoddh qfongd guujrp SQUEFO *MO*** *O*QUI *OAÑA* IODE*H I*OYTO *NO**A *ERENS

jcmgvñ rdmapd ñeznle dfffce ybmxhf ddxftc cñumle ydzvbf UME*** IAE*MA *I***I ONALFI **E*IN OA*LAM A*RO*I *A***N

dcgrbd usnnyu guunñr dpohvñ dyiaff risutr rvoibb dmtjgd OM*R*A SU***E *ER**T OSON** O***GN I*ICAT I*O*** OQUE*A

fefshq dntnrq ditjyh geznrr kpkjñh nsmngh qdmrtm jumrtd BIASI* O*U*N* O*UE*O *I**NT ESDE*O *UE**O *AERAQ UEERAA

yrmsik qeyjyh hujmah ubosyh gezjzq kbywrq d *TES*P *I*E*O DETO*O S*OS*O *I*E** E***N* O

Fijémonos en las líneas de texto en claro resultante. Se observan palabras enteras de nuestro idioma y otras a las que faltan algunas letras, lo que confirma la corrección de todo el criptoanálisis anterior. Si adivinamos las letras que faltan a las palabras incompletas, obtenemos nuevas sustituciones que, tras llevar a la tabla de alfabetos, nos revelaran más letras del texto en claro. De este modo, repitiendo una y otra vez este proceso, se completan los alfabetos de cifrado y el texto en claro. Pero dejamos esta última parte del criptoanálisis al lector interesado.

Page 62: Libro criptografia
Page 63: Libro criptografia

55

4

CIFRADOS POLIGRÁFICOS

En 1844, el americano Samuel F.B. Morse transmitió el primer mensaje telegráfico entre las ciudades de Baltimore y Boston, mostrando así al mundo la posibilidad de enviar comunicaciones instantáneas desde largas distancias. Ello supuso una revolución en el desarrollo de la Criptografía.

Los primeros usuarios del nuevo invento fueron particulares dedicados al mundo de los negocios que lo emplearon para sus transacciones comerciales. Desde un principio manifestaron preocupación por la ausencia de privacidad en los telegramas, inevitablemente transparentes al personal encargado de su transmisión y recepción. Pronto se dieron cuenta que no había razón para tal temor, ya que las compañías telegráficas garantizaban la plena confidencialidad. Sí era motivo de preocupación el coste de los mensajes, que era proporcional a su longitud. Surgió entonces una necesidad de reducir en lo posible el tamaño de los telegramas, sin que ello supusiera una pérdida de datos. Con este objetivo aparecieron enseguida en el mercado los que fueron llamados códigos comerciales telegráficos. Eran amplios repertorios de palabras y frases enteras ordenadas alfabéticamente, y a su lado las correspondientes series de números o letras que las reemplazaban. El número de tales palabras y frases era de varias decenas de miles, superando en ocasiones las 100.000. Así pues, un código comercial es un enorme nomenclátor que, a diferencia de éste, su fin no es encriptar un texto; sino producir otro más corto y, en consecuencia, más barato al ser telegrafiado. Estos códigos no proporcionaban ninguna seguridad en la comunicación, ya que eran públicos; pero el simple hecho de carecer sin sentido el texto resultante proporcionaba una privacidad suficiente a la mayoría de los usuarios del telégrafo. El primer código comercial fue publicado al año siguiente de la demostración de Morse; su autor, el abogado Francis O.J. Smith, era precisamente el agente promocional del propio Morse. Al de Smith siguieron cientos de códigos comerciales por todo el mundo. Su uso se prolongó hasta la Segunda Guerra Mundial.

El telégrafo fue usado también por gobiernos, diplomáticos y militares. En un principio, la correspondencia era cifrada con los nomenclátores que todavía estaban en vigor. Pero en cuanto aumentó el tráfico en las comunicaciones, el nomenclátor se rindió

Page 64: Libro criptografia

4. CIFRADOS POLIGRÁFICOS

56

ante la comodidad que suponía el empleo de códigos. Hacia 1860, los libros de códigos habían sustituido ya al viejo nomenclátor. Naturalmente, los códigos oficiales eran reservados; su secreto era fundamental en la seguridad de las comunicaciones estatales. Y si se deseaba mayor seguridad, se cifraba el código resultante.

En Criptografía se distinguen dos clases de códigos: los ordenados o de una parte, y los desordenados o de dos partes. Los códigos ordenados son aquellos en que tanto las palabras de texto en claro como las series de números o letras que las reemplazan van ambas ordenadas; en los desordenados, en cambio, no se sigue esta correlación. Estos últimos requieren dos partes. En una van ordenadas alfabéticamente las palabras de texto en claro y se usa para codificar; en la otra el orden lo siguen las series de números o letras y sirve para la descodificación. Son como un diccionario bilingüe. (Nótese que si el código es ordenado basta con una de las partes para codificar y descodificar, gracias al doble orden.) Todos los códigos comerciales eran de una sola parte, ya que son más fáciles de elaborar. Los oficiales, en cambio, los había tanto de una parte como de dos. La razón de emplear códigos de dos partes está en que proporcionan una seguridad mayor, muy superior a los de una parte. En la Figura 4.1 se muestra una página de un código empleado por la armada británica a principios del siglo XX. Es un código de dos partes; la página mostrada en la figura corresponde a la que sirve para la codificación. Obsérvese que algunas palabras como ‘A’, ‘About’ o ‘Above’ presentan homófonos. Los códigos oficiales solían incluir homófonos para las palabras más frecuentes, con objeto de dificultar su criptoanálisis.

El impacto del telégrafo en la Criptografía militar fue todavía mayor. Por aquel entonces, un nuevo escenario surgió en el terrible drama que suponen las guerras. De los reducidos y lentos ejércitos de las viejas monarquías se pasó a grandes contingentes de tropas que, gracias al ferrocarril, podían ser transportadas rápidamente desde largas distancias. El campo de batalla ya no era visible por los generales desde una colina; era un frente de muchos kilómetros que sólo podía contemplarse en un mapa. La guerra ya no se dirigía in situ como antes; sino desde un cuartel general en la retaguardia, el cual era también centro de comunicaciones. El telégrafo permitía seguir al instante el desarrollo de las batallas y, en base a esta evolución, cursar órdenes a las tropas de modo inmediato. Pero primero era imprescindible cifrar estas órdenes. Al enemigo le resultaba sencillo interceptar las comunicaciones militares que viajaban a través de los hilos telegráficos. Los libros de códigos no eran adecuados para este menester. Si caían en manos enemigas tras la rendición de una unidad, se comprometía la totalidad de las comunicaciones y había que editar y distribuir un nuevo código. El tiempo que ello requiere evidencia la ineficacia de códigos en este contexto.

Era necesario emplear diferentes métodos de cifrado. Tales métodos debían ser fáciles de manejar en campaña y altamente seguros. Además, era obligado que esta seguridad dependiese únicamente de una clave que pudiese variar rápidamente y de modo que, aunque el enemigo tuviese constancia del criptosistema empleado, el desconocimiento de la clave impidiese el descifrado de los mensajes. Los métodos de cifrado destinados a ser empleados en el frente fueron llamados cifras de campo (“field ciphers”, en inglés). Los ya estudiados cifrados polialfabéticos eran ideales para utilizar como cifras de campo, especialmente el de Vigenère o alguna de sus variantes. Fueron los

Page 65: Libro criptografia

4. CIFRADOS POLIGRÁFICOS

57

que se utilizaron en los primeros días del telégrafo. Hasta que, en 1863, el oficial del ejército prusiano Friedrich W. Kasiski dio a conocer un método de criptoanálisis para la sustitución polialfabética que desaconsejó su uso. Se hizo entonces necesario idear otros modos de cifrado.

Figura 4.1. Una página de un código militar telegráfico.

Page 66: Libro criptografia

4. CIFRADOS POLIGRÁFICOS

58

Los nuevos criptosistemas que fueron empleados como cifras de campo responden en su mayoría a dos modelos que contemplan los actuales libros de Criptografía y que denominan, respectivamente, cifrados poligráficos y cifrados por transposición. Dedicamos el resto de este capítulo a los primeros y reservamos el siguiente para los segundos.

En un criptosistema poligráfico los textos en claro se dividen en bloques con igual número de letras. A continuación, cada uno de estos bloques se reemplaza por otro de signos del alfabeto de cifrado, siguiendo las reglas que indique el criptosistema y haciendo uso de la clave. La concatenación de los bloques que resultan es el texto cifrado. Los bloques de texto en claro no tienen porque tener la misma longitud que los del texto cifrado, aunque es común que ello suceda. Tal longitud suele ser un número pequeño; si es dos, el cifrado se dice digráfico; si es tres, trigráfico; etc.

A título de curiosidad, hay que señalar que el primer criptosistema poligráfico que se conoce data de 1563. Fue dado a conocer por Giovanni Battista Porta en su libro “De Furtivis Literarum”. Es un cifrado digráfico en el que dos letras se cambian por unos curiosos signos, tal y como se muestra en la Figura 4.2.

Figura 4.2. Cifrado digráfico de Porta.

Page 67: Libro criptografia

4. CIFRADOS POLIGRÁFICOS

59

El primer criptosistema poligráfico diseñado para servir como cifra de campo data de 1854. Su autor fue el polifacético científico Charles Wheatstone, quien ya había construido un telégrafo antes que lo hiciera Morse. El criptosistema lleva el nombre de cifrado Playfair en honor al barón Lyon Playfair, amigo de Wheatstone, quien lo dio a conocer al gobierno británico. Su ejército lo utilizó como cifra de campo en la guerra de los Boer y en la Primera Guerra Mundial. También lo emplearon varias armadas como cifra de emergencia en la Segunda Guerra Mundial. Por ejemplo, cuando en esta contienda, en Agosto de 1943, un crucero japonés hundió la patrullera comandada por el futuro presidente de los Estados Unidos, el entonces teniente John F. Kennedy, éste envió un mensaje cifrado en Playfair solicitando rescate para los supervivientes de su tripulación.

La cifra Playfair es un criptosistema digráfico. Se parte de un cuadrado dividido en 25 casillas y en él se disponen las letras del alfabeto ordenadas como disponga la clave. Puesto que el alfabeto inglés consta de 26 letras, Wheatstone propuso identificar bien la ‘I’ con la ‘J’, bien la ‘U’ con la ‘V’, o bien la ‘K’ con la ‘Q’. Por ejemplo, identificando la ‘I’ con la ‘J’ puede considerarse el siguiente cuadrado:

P L A Y F

I R B C D

E G H K M

N O Q S T

U V W X Z

Tabla 4.1. Ejemplo de Playfair

Para cifrar, en el texto en claro se suprimen espacios en blanco y signos de puntuación. Seguidamente se divide el texto en pares de letras, insertando una ‘X’ entre dos letras iguales cuando éstas estén en el mismo par; o al final del texto, si queda una letra suelta. Por ejemplo, supongamos que vamos a cifrar el siguiente texto: ‘AVISTADO BUQUE ENEMIGO’. Lo separamos en bloques de dos letras del siguiente modo:

AV IS TA DO BU QU EX EN EM IG OX

Obsérvese la inserción de las ‘X’. Ahora, cada pareja de letras se transforma en otro par de letras de texto cifrado en función de las siguientes tres posibilidades:

1. Si las dos letras no están en la misma fila ni en la misma columna, entonces se cambia cada letra por la que está en su misma fila pero en la columna de la otra letra. Por ejemplo, usando el cuadro mostrado en la Tabla 4.1, el par ‘AV’ verifica la condición señalada y se transforma en ‘LW’ (ya que ‘L’ es la letra que está en la fila de ‘A’ y en la columna de ‘V’, y ‘W’ está en la fila de ‘V’ y en la columna de ‘A’). Análogamente, ‘IS’ se cambia por ‘CN’ y ‘TA’ se reemplaza por ‘QF’.

Page 68: Libro criptografia

4. CIFRADOS POLIGRÁFICOS

60

2. Si las dos letras se encuentran en la misma fila, se sustituye cada una de ellas por la que se encuentra a su derecha. En este caso, si una de las letras es la última de su fila, se reemplaza por la primera de dicha fila. Así, en nuestro ejemplo, el par ‘LF’ se cambia por ‘AP’ y ‘ME’ por ‘EG’.

3. Si las letras se localizan en la misma columna, entonces se reemplaza cada una de ellas por la que está debajo. Como en el caso anterior, si una de las letras es la última de su columna, se cambia por la primera de tal columna. Con nuestro cuadro, ‘CS’ se cambia por ‘KX’ y ‘UN’ por ‘PU’.

De este modo, el texto pleno anterior ‘AVISTADO BUQUE ENEMIGO’ se cifra con la Tabla 4.1 como ‘LWCNQFRTIWNWKUNUGERESV’:

AV IS TA DO BU QU EX EN EM IG OX ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ LW CN QF RT IW NW KU NU GE RE SV

(En las transmisiones telegráficas, era costumbre agrupar el texto cifrado en bloques de cinco letras e insertar un espacio en blanco entre dos bloques. Con ello se advertían mejor los posibles errores debidos a una mala transmisión. Por ejemplo, el texto cifrado anterior quedaría así: ‘LWCNQ FRTIW NWKUN UGERE SV’.)

El descifrado de la cifra Playfair es similar al cifrado, distinguiendo también las tres posibilidades anteriores. La única diferencia está en los casos 2 ó 3; ahora hay que reemplazar las letras por las que encuentran a la izquierda o arriba, respectivamente. A primera vista, la cifra Playfair puede parecer difícil de manejar; pero, con un poco de práctica, cifrar y descifrar es sencillo.

La clave es cada una de las diferentes formas de colocar las 25 letras en el cuadrado. Un razonamiento similar al que dimos en el Capítulo 1 para contar el número de claves en el cifrado por sustitución, permite concluir que el número total de claves en el cifrado Playfair es el factorial de 25: 25! = 25·24·... ·2·1. No obstante, hay diferentes claves que dan lugar al mismo cifrado. Ello ocurre, por ejemplo, si las columnas del cuadrado se reordenan según la secuencia 2ª, 3ª, 4ª, 5ª y 1ª. En general, sucede que dos claves dan lugar a un mismo cifrado si una de ella se obtiene efectuando una rotación cíclica de las filas o columnas de la otra, como en la secuencia anterior. Por tanto, hay 25 cuadrados que dan lugar al mismo cifrado. Contemplando entonces todos ellos como uno solo, resulta que el número total de claves se reduce a

24! = 24·23·... ·2·1 = 620448401733239439360000.

En el ejemplo que hemos dado, la clave se formó a partir de la palabra ‘PLAYFAIR’. Como ya comentamos en el citado Capítulo 1, esta estrategia para formar claves facilita su memorización.

Al final del capítulo mostraremos como criptoanalizar la cifra Playfair. Antes describiremos otros criptosistemas poligráficos destinados a servir como cifras de campo.

Page 69: Libro criptografia

4. CIFRADOS POLIGRÁFICOS

61

La cifra Playfair ha dado lugar a otros sistemas digráficos más fáciles de utilizar y, a la vez, más seguros. Uno de ellos es el llamado doble Playfair o cifra de los dos cuadrados. Como su nombre indica, se consideran dos cuadrados de 25 casillas y en cada uno de ellos se colocan las letras del alfabeto conforme indique la clave. Por ejemplo, los dos siguientes:

D O B L E D O S C U

P A Y F I A R B E F

R C G H K G H I K L

M N Q S T M N P Q T

U V W X Z V W X Y Z

Tabla 4.2. Ejemplo de doble Playfair.

Como en la cifra Playfair, el texto en claro se divide en bloques de dos letras. Ahora sólo es necesario insertar una ‘X’ al final del texto si el número de letras es impar. Para cifrar un par, la primera letra se localiza en el primer cuadrado y la otra en el segundo. Si ambas letras no están en la misma fila, se procede como en la regla 1 de la cifra Playfair, cambiando cada letra por la que está en su misma fila y en la columna de la otra letra. Si las dos letras están en la misma fila, se sustituye una por la otra. Con el ejemplo que proporciona la Tabla 4.2, el par ‘EN’ se transforma en ‘OT’; y el par ‘AE’ en ‘EA’.

El método de los dos cuadrados fue utilizado por los alemanes en la Segunda Guerra Mundial, aunque con alguna variante. En la cifra que ellos denominaron “Doppelkastenschlüssel”, se comenzaba dividiendo el mensaje en grupos de un mismo número de letras. El primer grupo se colocaba encima del segundo, el tercero sobre el cuarto, etcétera. Por ejemplo, si dividimos el mensaje en claro ‘ENVIEN REFUERZOS URGENTEMENTE’ en grupos de cinco letras, nos queda:

ENVIE ERZOS TEME NREFU URGEN NTEX

Ahora se va cifrando cada par vertical. Se comienza con el par ‘EN’, después ‘NR’, luego ‘VE’, etcétera. Con los dos cuadrados de la Tabla 4.2, el mensaje anterior se cifra como ‘OTNAYAFIUEUEHPVKCANSNTUTQPSZ’.

En vedad, la “Doppelkastenschlüssel” es un doble cifrado. La división del texto en claro en grupos de un mismo número de letras y la posterior disposición de estos grupos según se ha indicado, equivale a efectuar una reordenación de las letras; esto es, a una transposición. Así, si el número de letras de cada grupo es cinco, este proceso equivale a reordenar el texto de este modo: 1ª letra, 6ª letra, 2ª letra, 7ª letra, 3ª letra, 8ª letra, etc. Una vez sometido el texto en claro a esta transposición, el resultado se vuelve a cifrar con

Page 70: Libro criptografia

4. CIFRADOS POLIGRÁFICOS

62

el método de los dos cuadrados. Como es de esperar, el cifrar un texto más de una vez persigue aumentar la fortaleza del criptosistema empleado.

En 1859, Pliny E. Chase, profesor de filosofía y lógica en Filadelfia, publicó en la revista americana Mathematical Monthy el interesante criptosistema que describimos a continuación. Se parte de un rectángulo dividido en 30 casillas dispuestas en tres filas y diez columnas. En las casillas se colocan las letras del alfabeto en el orden que determine la clave. Para que no queden casillas vacías, se amplía previamente el alfabeto con algunos signos hasta conseguir un total de 30 elementos, tantos como casillas. Uno de estos signos puede ser el espacio en blanco, que podemos representar por el signo ‘·’. Las tres filas del rectángulo se enumeran 1, 2 y 3; y las columnas de 0 a 9. Un ejemplo de la configuración que se obtiene puede ser el siguiente:

0 1 2 3 4 5 6 7 8 9

1 N Q M G B W · J T E

2 F A X P Y I Ñ O D V

3 S $ H Z C L & R U K

Tabla 4.3. Ejemplo de cifrado de Chase.

Cada letra del alfabeto tiene ahora asociada un par de números: los números de la fila y columna a las que pertenece. Son sus coordenadas. Así, las coordenadas de la letra ‘H’ según nuestro ejemplo son 3, 2; las de ‘V’ son 2, 9.

Como hemos incluido el espacio en blanco en el alfabeto (representado con el signo ‘·’), no es necesario suprimir tales espacios en el texto a cifrar; únicamente hay que eliminar los signos no incluidos en el alfabeto. A continuación, el texto en claro se divide en bloques con un número de letras acordado por el emisor y el receptor. Por ejemplo, supongamos que este número es cuatro y que vamos a cifrar el texto ‘ATAQUEN AL AMANECER’. Los bloques obtenidos son:

ATAQ UEN· AL·A MANE CER$

El último bloque lo hemos completado con el signo ‘$’ para alcanzar el tamaño convenido de cuatro letras. Cada uno de los bloques se cifra del siguiente modo: se escriben verticalmente las coordenadas de las letras que lo componen, obteniéndose para cada bloque un par de números de cuatro cifras cada uno:

ATAQ UEN· AL·A MANE CER$ ↓ ↓ ↓ ↓ ↓

2121 3111 2312 1211 3133 1811 8906 1561 2109 4971

Page 71: Libro criptografia

4. CIFRADOS POLIGRÁFICOS

63

Al primero de los números de cada par se le añade aleatoriamente y a su izquierda un 1, un 2 ó un 3. El segundo de estos números se multiplica por 9. Se obtiene así un nuevo par de números, ahora de cinco dígitos:

22121 13111 12312 31211 23133 16299 80154 14049 18981 44739

El nuevo par de números contiene las coordenadas de un bloque de cinco letras. Al igual que antes, estas coordenadas se leen verticalmente:

22121 13111 12312 31211 23133 16299 80154 14049 18981 44739

↓ ↓ ↓ ↓ ↓ AÑMVE TSQWB QYSBV $TVTQ YCJZK

Y por último, el texto cifrado es la secuencia de los bloques así obtenidos: ‘AÑMVETSQWBQYSBV$TVTQYCJZK’.

El proceso de descifrado consiste en seguir el camino inverso al anterior. Se parte el texto cifrado en bloques de cinco letras que proporcionan pares de números de cinco cifras. Al primer número de cada par se le suprime su cifra de la izquierda; y el segundo se divide por 9. Con los pares de números que se obtienen se determina ya el texto en claro.

La clave en este criptosistema es el modo de disponer las 30 letras del alfabeto en las casillas del rectángulo. El número de claves distintas es el factorial de 30.

El criptosistema de Chase nunca fue usado en la práctica, a pesar de que reúne las dos características que debían presentar las cifras de campo: facilidad en su uso y seguridad. De hecho, su seguridad es superior a aquellos que sí fueron utilizados en su tiempo. Su fortaleza radica en la idea de representar las letras del alfabeto por los dos números que hemos llamado coordenadas. En general, cuando en un criptosistema se representan las letras del alfabeto en claro por varios símbolos, se dice que es fraccionado o tomográfico. Recordemos que esta idea ya está presente en el cifrado propuesto por Polibios en el siglo II a. C. y descrito en el Capítulo 1.

El siguiente criptosistema que vamos a presentar figura en algunos textos con el nombre de cifra bífida. Fue ideado en 1895 por el francés Félix Marie Delastelle; quien lo dio a conocer en su libro “Traité Elementaire de Cryptographie”, publicado siete años más tarde. Los trabajos de Delastelle y el de otros criptólogos compatriotas suyos como Bazeries, De Viaris, Kerckhoffs, Valerio… hicieron de la Criptografía francesa la mejor de su tiempo.

Al igual que Wheatstone en su cifrado Playfair, Delastelle dispone las letras conforme a una clave en un cuadrado de 25 casillas en el que, como hacía Polibios, las filas y columnas se numeran del 1 al 5:

Page 72: Libro criptografia

4. CIFRADOS POLIGRÁFICOS

64

1 2 3 4 5 1 D O M S B

2 Q U E X L

3 H T Z Y F

4 V K A P R

5 G N I W C

Tabla 4.4. Ejemplo de cifra de Delastelle.

En virtud del esquema proporcionado por el cuadrado, cada letra viene representada por un par de números entre 1 y 5. De nuevo podemos referirnos a ellos como sus coordenadas. Así, según la Tabla 4.4, las coordenadas de la letra ‘A’ son 4, 3.

El proceso de cifrado requiere que el texto en claro, sin espacios en blanco ni signos de puntuación, se divida en bloques de una longitud acordada entre el emisor y el receptor. En el ejemplo que damos a continuación supondremos que esta longitud es cinco y cifraremos el texto ‘ESPEREN ORDENES’. Como en el método de Chase, se escriben verticalmente las coordenadas de las letras de cada uno de los bloques:

ESPER ENORD ENES ↓ ↓ ↓

21424 25141 2521 34435 32251 3234

Cada bloque ha proporcionado dos números que se escriben uno a continuación del otro y después se dividen en pares de números. Éstos son precisamente las coordenadas de las letras que componen el texto cifrado:

2142434435 2514132251 25213234 ↓ ↓ ↓

21 42 43 44 35 25 14 13 22 51 25 21 32 34 ↓ ↓ ↓

Q K A P F L S M U G L Q T Y

Así, el texto cifrado es: ‘QKAPFLSMUGLQTY’.

El descifrado sigue exactamente el mismo proceso, pero en orden inverso. Como en cifrados anteriores, la clave es la manera en que se colocan las 25 letras en el cuadrado; y el número de posibles claves es el factorial de 25.

Los cifrados poligráficos que hemos presentado en este capítulo caen sin mucha dificultad ante un ataque con texto pleno. Así, si el enemigo es capaz de hacerse con texto

Page 73: Libro criptografia

4. CIFRADOS POLIGRÁFICOS

65

pleno y su correspondiente cifrado, enseguida descubrirá la clave utilizada. Pero sólo podrá descifrar los pocos mensajes que fueron cifrados con ella; ya que, como señalamos anteriormente, la clave se cambia frecuentemente en estos cifrados. Además, en el contexto en el que operan las que hemos llamado cifras de campo, la utilidad de la información que contienen los criptogramas caduca en muy poco tiempo. Pasado este tiempo no merece la pena efectuar el criptoanálisis, lo interesante es descifrarlos poco después de su emisión. En tan breve intervalo temporal es muy difícil hacerse con algún texto en claro, únicamente podrá disponerse de los mensajes cifrados interceptados. Y sólo constarán de unas pocas líneas, las mínimas necesarias para comunicar unas órdenes de manera clara y precisa. Se trata entonces de criptoanalizar textos cortos conociendo exclusivamente el texto cifrado y, naturalmente, el criptosistema empleado.

¿Es ello posible? En ocasiones sí, mediante el llamado método de la palabra probable. Como hemos dicho, las órdenes que transmite un cuartel general a sus unidades militares deben ser inequívocas y exactas. Ello sólo puede lograrse con el empleo de un vocabulario muy concreto y, en consecuencia, reducido. Y con frecuencia, es imposible cursar tales órdenes sin el empleo de unas determinadas palabras. Si se identifica en el texto cifrado una de estas palabras, puede iniciarse su criptoanálisis. Pero sin esta identificación, el criptoanálisis es prácticamente imposible.

Usaremos el método de la palabra probable para criptoanalizar un texto cifrado con Playfair, que creemos el más débil de los criptosistemas poligráficos que hemos presentado. A tal fin, imaginemos que nos encontramos en medio de una de las numerosas guerras que tuvieron lugar en la segunda mitad del siglo XIX y que, pinchando los hilos telegráficos, hemos interceptado un mensaje que el alto mando de un ejército dirige a uno de sus comandantes en el frente. Este mensaje, cifrado en Playfair como ya hemos señalado, procede de un texto en claro escrito en español sin espacios en blanco ni signos de puntuación, y en él se han identificado la ‘j’ con la ‘i’ y la ‘ñ’ con la ‘n’. Es el siguiente:

SH CQ HX XO IS QO SY BQ HE CH CE IZ CQ MN MT OA SR HQ NM CE HO HC QI KM WD IH IH SH MI UD FK FO MS QP XO AB OZ QN DV UD NS MS CH ON LZ NM MI OL FO AS MN XB QC MX SH BQ SQ VH XI MK VB NS OQ VD CE MS QF HT OD SR NM FH DU AO SR EI QC IB QB MF QN GS HC SB ID XT OD NQ MI CZ FM SH QS TB NQ QN DV UD NS MS MX OH BQ IH NQ NO NQ AB

Criptograma

Como puede observarse, lo hemos dividido en bigramas. Han resultado 108 en total.

Hemos supuesto el conocimiento del criptosistema utilizado: Playfair. Pero si este hecho no fuese una hipótesis sino una mera sospecha, las siguientes sencillas observaciones en el texto cifrado elevarían considerablemente la probabilidad de su certeza:

Page 74: Libro criptografia

4. CIFRADOS POLIGRÁFICOS

66

1. El número de letras que componen el texto cifrado es par, exactamente 216. Ello es porque el cifrado Playfair es digráfico. En general, en un criptosistema poligráfico la longitud de los bloques que componen los textos cifrados debe ser un divisor del número total de sus letras.

2. Ninguno de los bigramas que componen el texto cifrado contiene dos letras iguales. Lo impiden las tres reglas de cifrado que rigen el sistema Playfair.

3. No puede haber más de 25 letras distintas en el texto cifrado, ya que éste es realmente el número de letras del alfabeto utilizado.

4. En el texto cifrado figuran algunos bigramas junto con sus inversos. En el criptograma que nos ocupa notamos que aparecen varias veces los bigramas ‘NQ’ y ‘QN’, también ‘NM’ y ‘MN’. Una característica de la cifra Playfair es que si un bigrama se transforma en otro, entonces el inverso de aquel se cambia por el inverso de éste. En los textos en claro suele haber algunos bigramas que tanto ellos como sus inversos son frecuentes (por ejemplo, ‘al’ y ‘la’, o ‘er’ y ‘re’, son frecuentes en español). Y como los cifrados digráficos conservan la frecuencia de los bigramas, ello explica esta cuarta observación.

El primer paso para identificar una palabra probable en el criptograma es efectuar un análisis de frecuencias con los bigramas que lo componen. Un criptosistema digráfico puede verse como una sustitución en el alfabeto compuesto por todos los bigramas posibles. En el caso particular del cifrado Playfair, el número total de tales bigramas es de 25·24=600. Como ocurre con las letras, no todos los bigramas son igualmente probables en un idioma. Ya apuntamos en el Capítulo 1 cuales son los bigramas más frecuentes en español. Si dispusiéramos de una tabla de frecuencias para los bigramas de nuestro idioma, podríamos intentar el criptoanálisis siguiendo el método descrito en el referido Capítulo 1. Ahora bien, necesitaríamos un texto cifrado muy extenso para que la correspondencia entre los bigramas más comunes de los textos en claro y cifrado fuese fiable. Nuestro criptograma es demasiado corto para aventurarse siquiera a establecer dicha correspondencia. Pero, como veremos, la siguiente tabla nos será de enorme utilidad en el criptoanálisis. Contiene los bigramas que se repiten en el texto cifrado y cuantas veces.

Page 75: Libro criptografia

4. CIFRADOS POLIGRÁFICOS

67

Bigrama Frecuencia Bigrama Frecuencia Bigrama Frecuencia

MS 4 NS 3 FO 2 NQ 4 QN 3 HC 2 SH 4 SR 3 MN 2 BQ 3 UD 3 MX 2 CE 3 AB 2 OD 2 IH 3 CH 2 QC 2 MI 3 CQ 2 XO 2 NM 3 DV 2

Tabla 4.5. Bigramas repetidos en el criptograma.

Fijándonos en los bigramas de la Tabla 4.5, buscamos fragmentos repetidos en el texto cifrado que contengan más de un bigrama. Sólo hay uno: ‘QN DV UD NS MS’; que figura dos veces, una en la tercera línea y otra en el último renglón. Posiblemente corresponda a una palabra muy común en el contexto del mensaje; aunque también puede suceder que sustituya a un grupo de palabras, por ejemplo a un artículo y a un sustantivo. En este segundo caso es muy difícil reconocer cuales son, pero también es menos probable que ocurra. En principio, hay que suponer que el fragmento corresponde a una sola palabra e intentar identificarla. Si no lo logramos, habrá que considerar la otra posibilidad.

Notamos que el fragmento señalado comienza con el bigrama ‘QN’, que aparece tres veces en el texto cifrado. Su inverso, el bigrama ‘NQ’, también es uno de los más frecuentes en dicho texto. Admitamos entonces que ‘QN’ y ‘NQ’ corresponden a un par de bigramas muy comunes en nuestro idioma, uno inverso del otro. En español hay tres de tales parejas: ‘la’ y ‘al’, ‘re’ y ‘er’, ‘ra’ y ‘ar’; seguro que uno de estos seis es el transformado de ‘QN’. Pueden darse dos situaciones: que el bigrama ‘QN’ corresponda a las dos primeras letras de la palabra buscada, o bien a la segunda y tercera letras (este otro caso sucederá si al dividir el texto en claro en bloques de dos letras para después cifrarlo, la primera letra de la palabra probable que buscamos se empareja con la última letra de la palabra anterior). En el primer caso, dicha palabra comenzará por ‘la’, ‘al’, ‘re’, ‘er’, ‘ra’ o ‘ar’ y tendrá 10 u 11 letras. En el segundo, uno de estos bigramas será su segunda y tercera letra; y dicha palabra constará de 11 ó 12 letras.

Se trata entonces de encontrar palabras con estas características y que, además, pertenezcan a un vocabulario típico militar que forzosamente debe estar presente en nuestro mensaje. En esta tarea es conveniente disponer de un glosario que recoja términos propios del lenguaje militar. En él localizaríamos fácilmente dichas palabras. Por ejemplo, las siguientes: ‘artillería’, ‘reconquista’, ‘regimiento’, ‘resistencia’, ‘retaguardia’ ó ‘transmisión’. Y quizás algunas más, pero no muchas. Ahora hemos de decidirnos por una de ellas, aquella que nuestra intuición considere más probable. En el caso que nos

Page 76: Libro criptografia

4. CIFRADOS POLIGRÁFICOS

68

ocupa optamos por ‘regimiento’. Tenemos razones para ello: el mensaje va dirigido a un coronel que comanda un regimiento de infantería.

Como ‘regimiento’ tiene diez letras, se corresponde exactamente con el fragmento señalado en el texto cifrado: ‘QN DV UD NS MS’. Ello implica las siguientes transformaciones de bigramas:

re gi mi en to ↓ ↓ ↓ ↓ ↓ QN DV UD NS MS

Si estas sustituciones son correctas, el proceso deductivo que ahora iniciamos nos llevará de de forma progresiva al desciframiento del criptograma y al descubrimiento del cuadrado que constituye la clave. Por el contrario, si tales transformaciones son incorrectas, enseguida llegaremos a una contradicción y habremos de considerar otra palabra probable.

En primer lugar, puesto que si un bigrama se reemplaza por otro entonces el inverso de aquel se cambia por el inverso de éste, obtenemos las transformaciones de los inversos de los bigramas anteriores. Por tanto, ‘NQ’, ha sustituido a ‘er’; ‘VD’ a ‘ig’; y ‘UD’ a ‘im’. (No es necesario considerar las otras dos transformaciones, ya que los bigramas ‘SN’ y ‘SM’ no aparecen en el criptograma.) Veamos si todas estas sustituciones permiten completar alguna otra palabra en el texto cifrado que nos proporcione nuevas transformaciones. Para ello, escribamos debajo de los bigramas ya identificados sus correspondientes de texto en claro. Tras hacerlo, únicamente se descubre una nueva palabra en la cuarta línea del criptograma. Tal línea queda así:

SH BQ SQ VH XI MK VB NS OQ VD CE MS QF HT OD SR NM FH

en ig to

La palabra ‘enemigo’ (o ‘enemiga’) encaja perfectamente y es muy frecuente en el contexto del mensaje. Nos proporciona una nueva sustitución: ‘em’→‘OQ’; y la que corresponde a los inversos: ‘me’→‘QO’, que figura una vez en el texto.

No obstante, estas nuevas sustituciones no permiten descubrir alguna otra palabra de texto en claro que proporcione a su vez más transformaciones. Se hace necesario comenzar un análisis encaminado a reconstruir parcialmente el cuadrado que forma la clave, para así obtener nuevas sustituciones e ir poco a poco completando el texto en claro. Este análisis parte de las seis transformaciones que suponemos correctas.

Consideremos la transformación ‘en’→‘NS’. La ‘N’ está presente en el bigrama ‘en’ y en su sustituto ‘NS’. En virtud de las tres reglas que rigen el cifrado Playfair, ello sólo es posible si las tres letras ‘E’, ‘N’ y ‘S’ están situadas en la misma fila o en la misma columna del cuadrado. Si se encuentran en la misma fila, la ‘N’ debe situarse a la derecha de la ‘E’ y a la izquierda de la ‘S’. Y si se encuentran en la misma columna, la ‘N’ debe

Page 77: Libro criptografia

4. CIFRADOS POLIGRÁFICOS

69

estar debajo de la ‘E’ y encima de la ‘S’. Esto es, el cuadrado que determina la clave presenta una de estas dos configuraciones:

E E N S N

S

a) b)

Consideremos ahora la sustitución ‘re’→‘QN’. Si es el resultado de aplicar la primera regla Playfair, entonces la letra ‘R’ debe estar en la misma fila que la ‘Q’ y en la misma columna que la ‘N’, y la ‘E’ en la fila de la ‘N’ y en la columna de la ‘Q’. Ello implica que ha de darse la configuración a) de antes; y dicha configuración da lugar a la que identificamos más abajo con un 1. Si ha ocurrido que la transformación ‘re’→‘QN’ ha sido el resultado de aplicar la segunda regla, entonces estas cuatro letras han de estar en la misma fila, la‘Q’ a la derecha de la ‘R’ y la ‘N’ a la derecha de la ‘E’. De nuevo, ello obliga a la situación a) de antes; y entonces dicha fila se completa colocando ‘RQ’ a la derecha, según se indica más abajo con un 2. Por último, si la transformación ‘re’→‘QN’ ha sido producto de la tercera regla, entonces las cuatro letras están en la misma columna, la‘Q’ debajo de la ‘R’ y la ‘E’ encima de la ‘N’. Estamos en el caso b) previo y la columna se completa con ‘RQ’ debajo de ‘ENS’, como en 3:

E Q R N | | E N S R Q S E N S R Q

1 2 3

(La barra entre dos letras indica la posibilidad de que tales letras sean adyacentes o que pueda haber otras entre ellas.)

Vayamos con la transformación ‘to’→‘MS’. Si se da el caso 1 anterior, entonces tal transformación no ha sido producto de la segunda regla de cifrado (porque ello implicaría que las cuatro letras ‘T’, ‘O’, ‘M’ y ‘S’ están en la misma fila que la ‘E’ y la ‘N’; y no puede ser, las filas sólo tienen cinco letras). Ha tenido que ser consecuencia de la primera o tercera reglas. Si ha tenido lugar la primera regla, entonces las cuatro citadas letras forman un rectángulo; con la ‘T’ y la ‘M’ en una fila y la ‘O’ y la ‘S’ en otra. Si ha acontecido la tercera regla, las cuatro letras están situadas en la misma columna; con la ‘T’ encima de la ‘M’ y la ‘S’ debajo de la ‘O’. Ello abre los dos subcasos que hemos llamado 1.1 y 1.2:

Page 78: Libro criptografia

4. CIFRADOS POLIGRÁFICOS

70

Q R Q R | | | | O E N S — O E N S | | | T — M T M

1.1 1.2

En el caso 2, la sustitución ‘to’→‘MS’ sólo ha podido ocurrir mediante la tercera regla; ya que la‘O’ no está en la fila de la ‘S’. En consecuencia, las cuatro letras ‘T’, ‘O’, ‘M’ y ‘S’ han de situarse en la misma columna del cuadrado; de nuevo con la ‘T’ encima de la ‘M’ y la ‘S’ debajo de la ‘O’. Y en el caso 3, la transformación ‘to’→‘MS’ sólo ha podido ocurrir mediante la segunda regla; ya que la‘T’ no está en la columna de la ‘S’. Por tanto, las letras ‘T’, ‘O’, ‘M’ y ‘S’ han de encontrarse en la misma fila; con la ‘M’ a la derecha de la ‘T’ y la ‘S’ a la izquierda de la ‘O’. Así, las configuraciones 2 y 3 quedan ahora de este modo:

O E E N S R Q N | O S ─ T M T R M Q

2 3

Ahora podemos usar la transformación ‘em’→‘OQ’ para decidir cual de las cuatro posibles disposiciones es la correcta. Contemplemos la 1.1. En ella sí es posible esta transformación, mediante la primera regla de cifrado. Además, situaría a la ‘M’ y a la ‘Q’ en la misma línea. En las otras tres configuraciones es imposible la transformación ‘em’→‘OQ’; puesto que las cuatro letras ‘E’, ‘M’, ‘O’ y ‘Q’ ni forman un rectángulo, ni están en la misma fila o columna. Por tanto, hemos de quedarnos con la disposición 1.1; y, como hemos dicho antes, situando la ‘M’ en la fila de la ‘Q’:

Q R T ─ M | | | ─ | E N S — O

1.1

La figura va tomando forma y aún disponemos de dos transformaciones para poder ampliarla. Pero antes, la podemos utilizar para conseguir otras nuevas. Por ejemplo, usando la primera regla de cifrado obtenemos las siguientes sustituciones, todas ellas presentes en el criptograma: ‘ro’→‘MN’, ‘or’→‘NM’, ‘te’→‘QS’, ‘et’→‘SQ’ y ‘nt’→‘SR’.

Page 79: Libro criptografia

4. CIFRADOS POLIGRÁFICOS

71

Consideremos el cambio ‘mi’→‘UD’. No puede ser consecuencia de la segunda regla de cifrado; ya que ello implicaría que las letras ‘M’, ‘I’, ‘U’ y ‘D’ estarían en una misma fila y ya no es posible en 1.1. Examinemos si puede provenir de la primera regla. En tal caso, la ‘M’ y la ‘U’ deben compartir fila; precisamente la fila de arriba de 1.1. Luego o bien la ‘U’ está situada entre la ‘T’ y la ‘M’, o está a la derecha de esta última letra. Y como también hemos de colocar a la ‘I’ y la ‘D’ en una misma fila, formando un rectángulo con la ‘M’ y la ‘U’, la configuración 1.1 admite estas dos posibilidades:

I D D I | | | | Q R T U M Q R T M U | | | | | | | | | | E N S * O E N S O *

1.1.a 1.1.b

(El asterisco * representa una letra todavía no determinada.)

Veamos si en estas figuras es posible encuadrar la sustitución que queda: ‘gi’→‘DV’. Puesto que la ‘I’ y la ‘D’ comparten fila, esta transformación sólo es posible mediante la segunda regla de cifrado. Ello sitúa a las cuatro letras en la misma fila, la ‘D’ a la derecha de la ‘G’ y la ‘I’ a la izquierda de la ‘V’. Pero en 1.1.a la ‘D’ ya está justo a la derecha de la ‘I’ y, en consecuencia, no es posible colocarla a la derecha de la ‘G’. Tal contradicción obliga a desestimar 1.1.a. Pero no 1.1.b, donde sí es factible el orden que hemos deducido para estas letras; de este modo:

V * G D I | | | | | Q R T M U | | | | | E N S O *

1.1.b

No obstante, de nuevo vamos a llegar a otra contradicción. La configuración 1.1.b nos trae la sustitución ‘*v’→‘EI’. Llevándola al criptograma, junto con las ya descubiertas, el quinto renglón comienza así:

DU AO SR EI QC im nt *v

El asterisco debe ser una vocal: la ‘a’, que es la única que falta en 1.1.b. Pero entonces se obtiene la transformación ‘os’→‘AO’ y, en consecuencia, el fragmento de texto en claro queda ‘imosntav’, sin sentido alguno. Ello obliga a rechazar también la disposición 1.1.b.

Page 80: Libro criptografia

4. CIFRADOS POLIGRÁFICOS

72

Queda analizar la posibilidad que la transformación ‘mi’→‘UD’ proceda de la tercera regla. En tal caso, las cuatro letras ‘M’, ‘I’, ‘U’ y ‘D’ deben situarse en una misma columna; con la ‘U’ debajo de la ‘M’ y la ‘I’ encima de la‘D’. Ahora bien, en la figura 1.1 ya está la ‘O’ en la columna de la ‘M’. Por tanto, la‘O’ es la quinta letra de dicha columna y, en virtud de lo anterior, sólo quedan dos posiciones para ella: o debajo de la ‘U’, o debajo de la ‘D’. Se obtienen así estas dos ampliaciones posibles de 1.1:

Q R T ─ M Q R T ─ M * * * ─ U * * * ─ U E N S ─ O * * * ─ I * * * ─ I * * * ─ D * * * ─ D E N S ─ O

1.1.c 1.1.d

Examinemos si alguna de ellas es factible. El cuadro 1.1.c da lugar a estas tres sustituciones: ‘oi’→‘ID’, ‘ui’→‘OD’ y ‘do’→‘MI’; mientras que 1.1.d proporciona estas otras: ‘ui’→‘ID’, ‘di’→‘OD’ y ‘ou’→‘MI’. Teniéndolas en cuenta, el bloque ‘ID XT OD NQ MI’, situado al final de la quinta línea del criptograma, corresponde, respectivamente, a:

ID XT OD NQ MI ID XT OD NQ MI oi ** ui er do ui ** di er ou

Con 1.1.c Con 1.1.d

El fragmento revelado con 1.1.c descubre la palabra ‘izquierdo’, mientras que con 1.1.d dicho fragmento no parece tener sentido alguno. Se sigue entonces que la configuración 1.1.c es la correcta; y que también son válidas las sustituciones a que ha dado lugar.

Además, la palabra ‘izquierdo’ produce una nueva transformación: ‘zq’→‘XT’. Mirando la figura 1.1.c vemos que forzosamente ha debido obtenerse con la primera regla de cifrado. Ello sitúa a la ‘Z’ en la columna de la ‘T’ y a la ‘X’ en la columna de la ‘Q’:

X * Z | | | Q R T ─ M

Pero entonces, el bigrama ‘MX’ debe ser el sustituto de otro cuya primera letra es la ‘q’. Puesto que detrás de la ‘q’ siempre viene la ‘u’, este bigrama es precisamente ‘qu’. Conseguimos la transformación ‘qu’→‘MX’, que figura dos veces en el criptograma; y además, tal transformación coloca a la ‘X’ en la misma fila que la ‘U’. La disposición de las letras en el cuadrado que determina la clave va quedando según el siguiente dibujo:

Page 81: Libro criptografia

4. CIFRADOS POLIGRÁFICOS

73

Q R T ─ M X * Z ─ U E N S ─ O * * * ─ I * * * ─ D

1.1.c

Se obtienen entonces dos nuevas transformaciones: ‘ue’→‘XO’, que está presente dos veces en el texto; y ‘su’→‘OZ’, que aparece una vez. Es hora ya de trasladar al criptograma todas las sustituciones descubiertas y observar como queda:

SH CQ HX XO IS QO SY BQ HE CH CE IZ CQ MN MT OA SR HQ

ue *o me *u ro nt

NM CE HO HC QI KM WD IH IH SH MI UD FK FO MS QP XO AB

or m* do mi to ue

OZ QN DV UD NS MS CH ON LZ NM MI OL FO AS MN XB QC MX

su re gi mi en to or do ro qu

SH BQ SQ VH XI MK VB NS OQ VD CE MS QF HT OD SR NM FH

et u* en em ig to ui nt or

DU AO SR EI QC IB QB MF QN GS HC SB ID XT OD NQ MI CZ

im nt o* re oi zq ui er do

FM SH QS TB NQ QN DV UD NS MS MX OH BQ IH NQ NO NQ AB

te er re gi mi en to qu er er

A pesar del número de sustituciones descubiertas, todavía no puede descifrarse por completo el criptograma. Pero ya falta poco. Fijémonos en el bloque siguiente, obtenido al juntar el final de la cuarta línea y el comienzo de la quinta:

HT OD SR NM FH DU AO SR EI ui nt or im nt o*

En él ya asoma ‘quinto regimiento’; y ello nos trae dos nuevas sustituciones: ‘eg’→‘FH’ y ‘ie’→‘AO’. Mirando el cuadro 1.1.c, esta segunda transformación sitúa la ‘A’ en la columna de la ‘E’, justo debajo de ella. Una vez colocada, observamos que la transformación ‘eg’→‘FH’ sólo puede haber sido producida por la primera regla. La ‘H’ debe estar en la misma columna que la ‘E’; en el único lugar que queda libre, debajo de la recién colocada ‘A’. La ‘F’ ha de situarse en la misma fila que la ‘E’; en uno de los dos

Page 82: Libro criptografia

4. CIFRADOS POLIGRÁFICOS

74

lugares que quedan libres: entre la ‘S’ y la ‘O’ o a la derecha de ésta última letra. La ‘G’ está obligada a ubicarse en la misma fila que la ‘H’ y en la columna de la ‘F’. Y dicha columna debe completarse con la ‘V’, en virtud de la ya olvidada sustitución ‘gi’→‘DV’. Todo este argumento revela nuevas posiciones de letras en la clave; pero abre también dos caminos, en función de la posición de la ‘F’:

Q R T * M Q R T M * X * Z * U X * Z U * E N S F O E N S O F A * * V I A * * I V H * * G D H * * D G

1 2

Aunque ya es fácil averiguar cual es el correcto. Las dos disposiciones anteriores nos traen las nuevas sustituciones ‘ah’→‘HQ’, ‘ei’→‘OA’ y ‘de’→‘HO’. Y también en ambas el bigrama ‘MT’ sustituye a otro cuya segunda letra es la ‘r’. Entonces, uniendo el final del primer renglón con el comienzo del segundo, se obtiene ya el siguiente bloque:

CQ MN MT OA SR HQ NM CE HO ro *r ei nt ah or de

Se revela el fragmento ‘treinta horas’. Esto significa que ‘MT’ reemplaza a ‘tr’, que es lo que sucede con la segunda disposición. Ella es entonces la correcta. Además, este mismo fragmento implica también la transformación ‘as’→‘CE’; que sitúa a la ‘C’ en la fila de la ‘A’ y en la columna de la ‘S’.

Y de este modo seguiríamos hasta descubrir todo el texto en claro y completar el cuadrado que determina la clave. El texto en claro es el siguiente:

El ataque comenzará a las cuatro treinta horas de la madrugada del domingo. Stop. Mueva su regimiento al sector dos dos cero y ataque la retaguardia enemiga. Stop. El quinto regimiento atacara por el flanco izquierdo. Stop. El tercer regimiento quedará de reserva.

La clave es la que se muestra a continuación:

Q R T M P X Y Z U W E N S O F A B C I V H K L D G

Si se efectúa una rotación cíclica de las filas y columnas que nos lleve la ‘O’ a la casilla de la primera fila y columna, se llegará a un cuadrado en el que se leerá la palabra ‘OFENSIVA’. En realidad, este segundo cuadrado es el que hemos usado para cifrar el

Page 83: Libro criptografia

4. CIFRADOS POLIGRÁFICOS

75

texto en claro. Como ya precisamos cuando presentamos la cifra Playfair, hay otros 24 cuadrados equivalentes que proporcionan el mismo cifrado. El anterior, el que hemos conseguido con el criptoanálisis, es uno de ellos.

Page 84: Libro criptografia
Page 85: Libro criptografia

77

5

CIFRADOS POR TRANSPOSICIÓN

Recordemos en primer lugar que con este genérico nombre se designa a cualquier criptosistema consistente en una reordenación de las letras de los textos en claro. Esta forma de cifrado hace su aparición en la historia de la Criptografía muy pronto, en el siglo V a. C., con el escítalo espartano descrito en el Capítulo 1. Pero su presencia es totalmente marginal hasta que, a mediados del siglo XIX, la Criptografía militar ve en las transposiciones la cifra de campo ideal. La razón de ello está en la sencillez de los procesos de cifrado y descifrado. Más simples que en los anteriormente estudiados criptosistemas poligráficos, la otra opción disponible después que Kasiski publicara su método de criptoanálisis para las sustituciones polialfabéticas. En contrapartida, la seguridad que ofrecen los cifrados por transposición es inferior a la de los poligráficos. Claro que esto no se supo hasta que no fueron sometidos a la acción de los criptoanalistas, ya en la Primera Guerra Mundial.

Se produce una transposición con sólo escribir el texto en claro siguiendo una trayectoria diferente a la que todos hemos convenido en utilizar, que en Occidente es de izquierda a derecha y de arriba abajo. Así, escribiendo de derecha a izquierda conseguimos un texto cifrado por transposición: ‘SEVERLAOTIRCSE’. Aunque, evidentemente, tarde o temprano todo el mundo se dará cuenta de ello. Pero simplemente escribiendo con una trayectoria no horizontal y a continuación reescribiendo en el modo habitual, obtenemos un cifrado que despistará a cualquiera no iniciado en el criptoanálisis.

Por ejemplo, uno de los métodos de cifrado empleado por el ejército confederado en la guerra de secesión americana fue el conocido como “rail fence”, que consiste en escribir primero en zigzag en dos o más renglones:

E I N Z S R T E Z G A C O I G

El texto cifrado es el siguiente: ‘EINZSRTEZGACOIG’.

Page 86: Libro criptografia

5. CIFRADOS POR TRANSPOSICIÓN

78

He aquí otra simpática muestra:

O D I U F R N O R A R C

M V S E A

A

C

S

Y el criptograma que se obtiene: ‘ODIUFRNORARCMVSEAACS’.

Más posibilidades se presentan si la escritura del texto en claro forma una figura geométrica regular como, por ejemplo, un cuadrado. Escribamos el texto ‘CIFRADO POR TRANSPOSICIÓN’ formando un cuadrado 5×5:

C I F R A

D O P O R

T R A N S

P O S I C

I O N

Podemos producir múltiples criptogramas reescribiendo las letras de diversos modos. He aquí algunos:

Por columnas: ‘CDTPIIOROOFPASNRONIARSC’.

Por filas, al revés: ‘ARFICROPODSNARTCISOPNOI’

En diagonal: ‘CIDFOTRPRPAOAOIRNSOSINC’.

En fin, no hay límites a las maneras de diseñar cifrados por transposición. Pero aún siendo simple el proceso de cifrado en los ejemplos anteriores, en él pueden distinguirse dos fases. La primera es aquella en la que escribimos el texto en claro (únicamente las letras) siguiendo un determinado diseño que, por lo general, conduce a formar una figura geométrica. En la segunda fase, se obtiene el texto cifrado reescribiendo las letras según el modo convenido entre el emisor y el receptor del mensaje. Este último, para recuperar el texto en claro, deberá deshacer los dos pasos anteriores.

Ahora bien, todavía no hemos mostrado ningún criptosistema por transposición; sólo las muchas opciones para su diseño. Recordemos que para definir un criptosistema es imprescindible hablar de las claves y de como actúan en los procesos de cifrado y descifrado. Es lo que haremos a continuación: presentar con precisión algunos criptosistemas por transposición, aquellos que consideramos más característicos. En todos ellos emplearemos nuestro alfabeto español de 27 letras y, por tanto, ignoraremos los espacios en blanco y los signos de puntuación que contengan los textos en claro.

El más sencillo de este tipo de criptosistemas es la transposición de columnas. También ha sido el más recurrido; con frecuencia en combinación con otro cifrado de

Page 87: Libro criptografia

5. CIFRADOS POR TRANSPOSICIÓN

79

distinta categoría como, por ejemplo, una sustitución. En la transposición de columnas se parte de una clave que consta de un entero n y una reordenación de los números 1, 2, 3, ..., n. En la práctica, estos datos se obtienen considerando una palabra o grupo de palabras; el entero n es el número de letras que tiene y la reordenación referida la proporciona el orden alfabético de sus n letras. Por ejemplo, consideremos la palabra de 13 letras ‘TRANSPOSICION’ y coloquemos debajo de sus letras el número que corresponde al orden alfabético:

T R A N S P O S I C I O N

13 10 1 5 11 9 7 12 3 2 4 8 6

Obtenemos la clave formada por el entero n = 13 y esta reordenación de los trece primeros números: 13, 10, 1, 5, 11, 9, 7, 12, 2, 4, 8, 6.

Fijada la clave, el texto en claro se dispone formando un rectángulo con exactamente n columnas. El texto cifrado se obtiene al escribir secuencialmente las columnas en el orden proporcionado por la clave. Un ejemplo aclarará completamente este proceso. Cifremos con la clave que proporciona la palabra ‘TRANSPOSICION’ el texto ‘REUNION EN EL CUARTEL GENERAL EL LUNES A LA UNA DE LA TARDE’. Primero formamos el rectángulo con 13 columnas:

T R A N S P O S I C I O N

13 10 1 5 11 9 7 12 3 2 4 8 6

R E U N I O N E N E L C U

A R T E L G E N E R A L E

L L U N E S A L A U N A D

E L A T A R D E

Y después escribimos secuencialmente las columnas según la clave: ‘UTUA ERU NEA LAN NENT UED NEAD CLA OGSR ERLL ILEA ENLE RALE’. Ahora bien, este texto no puede presentarse como texto cifrado. En él hemos insertado espacios en blanco separando las columnas para que éstas se observen; pero mantener dichos espacios en blanco en el texto cifrado revelaría ya el dato n, el número de columnas. Por ello, el texto cifrado es el texto anterior pero sin espacios en blanco. También puede seguirse el estándar de agrupar las letras en bloques de cinco; tal y como realmente se hacía en la práctica, para identificar posibles errores en las transmisiones telegráficas. Según este convenio, el texto cifrado quedaría así: ‘UTUAE RUNEA LANNE NTUED NEADC LAOGS RERLL ILEAE NLERA LE’.

Para descifrar este mensaje, el receptor del mismo ha de contar primero el número de letras que consta; 47 en este caso. Seguidamente, ha de dividir 47 entre 13 (el número de columnas). Se obtiene 3 como cociente y 8 de resto. Ello indica que las 8 primeras columnas del rectángulo constan de cuatro letras y las 5 restantes de tres. Teniendo esto

Page 88: Libro criptografia

5. CIFRADOS POR TRANSPOSICIÓN

80

en cuenta, el receptor ha de rellenar las columnas con el texto cifrado siguiendo el orden determinado por la clave. Cuando termine, recuperará el mensaje en claro.

Una clave con pocas letras puede facilitar el trabajo del criptoanalista, mientras que otra con muchas puede ser difícil de memorizar. Así pues, una buena elección práctica oscilaría entre 7 y 25 letras, por poner unas cifras. Incluso con estos límites el número de claves diferentes es muy elevado. Recordemos que, fijado un entero n, el número de reordenaciones de los números 1, 2, 3..., n es el factorial de n: n! = n·(n−1)·...·2·1, que enseguida es un número muy grande. Por ejemplo, 10! = 3628800.

Ya hemos dicho que la seguridad no es la principal característica de las transposiciones. Añadimos ahora que todas las que se llevaron a la práctica fueron criptoanalizadas a partir de texto cifrado únicamente. Dentro de esta categoría de cifrados, la transposición de columnas presenta una seguridad intermedia. Lo difícil de su criptoanálisis es descubrir el número de columnas e identificarlas, obtener después su orden correcto es más sencillo. Para no facilitar esta tarea al criptoanalista, la última fila del rectángulo debe quedar siempre incompleta. Si da la casualidad que tal fila se llena, han de añadirse algunas letras nulas al final del texto en claro para que éste continúe en una nueva pero incompleta fila.

La seguridad aumenta notablemente si se efectúa una doble transposición de columnas. Esto es, si el texto cifrado que resulta de una simple transposición de columnas es sometido de nuevo a una segunda transposición de este tipo. Habitualmente, esta segunda transposición está regida por la misma clave que la primera, pero puede utilizarse otra distinta. Efectuar una segunda transposición de columnas con el texto cifrado del ejemplo previo y con la misma clave ‘TRANSPOSICION’ produce el siguiente resultado:

T R A N S P O S I C I O N

13 10 1 5 11 9 7 12 3 2 4 8 6

U T U A E R U N E A L A N

N E N T U E D N E A D C L

A O G S R E R L L I L E A

E N L E R A L E

Texto cifrado: ‘UNGLA AIEEL LDLAT SENLA UDRLA CEREE ATEON EURRN NLEUN AE’.

La doble transposición de columnas es uno de los cifrados por transposición más seguros que hayan sido puestos en uso. Fue la cifra de campo preferida de muchos ejércitos hasta la Primera Guerra Mundial, entre ellos el alemán y el americano. También estuvo presente en la Segunda Guerra Mundial. Fue cifra de emergencia de la “Wehrmarcht” alemana y criptosistema habitual de la resistencia holandesa y el maquis francés.

Page 89: Libro criptografia

5. CIFRADOS POR TRANSPOSICIÓN

81

El siguiente criptosistema que vamos a introducir recibe el nombre de transposición de los nihilistas rusos, por ser usado por este grupo anarquista que surgió en la Rusia zarista de la segunda mitad del siglo XIX. Las claves son las mismas que en las transposiciones de columnas, pero el proceso de cifrado es más complicado y se entenderá mejor si lo describimos apoyándonos en un ejemplo. Consideremos entonces la clave que origina la palabra ‘COMUNA’ y cifremos con ella el texto en claro: ‘EL FIN POLITICO DE LOS NIHILISTAS RUSOS ERA UNA RUSIA SIN ESTADO’.

El primer paso del proceso de cifrado consiste en dividir el texto en claro en fragmentos de n2 letras y formar con cada uno de ellos un cuadrado n×n. (Recordemos que n es el número de letras de la clave). En el ejemplo que exponemos, como n = 6 y el texto contiene 53 letras, éste se divide en dos partes, una de 36 letras y otra más corta de sólo 17. Cada una de ellas se inscribe entonces en un cuadrado 6×6, resultando incompleto el segundo:

1 2 3 4 5 6 1 2 3 4 5 6

1 E L F I N P 1 U N A R U S

2 O L I T I C 2 I A S I N E

3 O D E L O S 3 S T A D O

4 N I H I L I 4

5 S T A S R U 5

6 S O S E R A 6

Cuadrado 1 Cuadrado 2

A continuación, se reescriben los cuadrados reordenando sus columnas de acuerdo con el orden determinado por la clave. Usando la palabra ‘COMUNA’, este orden es 2, 5, 3, 6, 4, 1. Por tanto, hay que colocar la segunda columna en primer lugar, la quinta en segunda posición, etc.:

Page 90: Libro criptografia

5. CIFRADOS POR TRANSPOSICIÓN

82

C O M U N A C O M U N A 2 5 3 6 4 1 2 5 3 6 4 1

1 L N F P I E 1 N U A S R U

2 L I I C T O 2 A N S E I I

3 D O E S L O 3 T O A D S

4 I L H I I N 4

5 T R A U S S 5

6 O R S A E S 6

Cuadrado 1 Cuadrado 2

Seguidamente, se repite la misma operación en las filas de cada cuadrado:

2 5 3 6 4 1 2 5 3 6 4 1 C 2 L I I C T O C 2 A N S E I I

O 5 T R A U S S O 5

M 3 D O E S L O M 3 T O A D S

U 6 O R S A E S U 6

N 4 I L H I I N N 4

A 1 L N F P I E A 1 N U A S R U

Cuadrado 1 Cuadrado 2

Hecho esto, el texto cifrado es la sucesión de filas de los cuadrados, tal y como han quedado: ‘LIICT OTRAU SSDOE SLOOR SAESI LHIIN LNFPI EANSE IITOA DSNUA SRU’.

El receptor del mensaje deberá seguir el proceso inverso para recuperar el mensaje: partir el texto cifrado en trozos de n2 letras, escribir cada uno en un cuadrado n×n y deshacer los reordenamientos de filas y columnas en los cuadrados. Tendrá que prestar atención con el último cuadrado, para que las casillas que resulten vacías sean las correctas.

Como acabamos de ver, tras la transposición de columnas los nihilistas rusos efectuaban otra transposición de filas. Con ello, estos anarquistas creían aumentar la seguridad de su método de cifrado. Ingenua suposición. Ni aunque hubieran efectuado varias alteraciones más de filas, columnas, diagonales... habrían conseguido un criptosistema mínimamente seguro. Su proceso de cifrado se inicia dividiendo el texto en claro en fragmentos de igual longitud: n2, que después son reordenados del mismo modo.

Page 91: Libro criptografia

5. CIFRADOS POR TRANSPOSICIÓN

83

Ello debilita considerablemente el criptosistema, independientemente de lo complicada que sea la reordenación. Más adelante explicaremos el porqué.

Antes, vamos a detenernos en un curioso criptosistema que fue popularizado por Julio Verne en su novela “Matías Sandorff”, publicada en 1885. Algunos textos lo atribuyen al coronel austríaco Eduard Fleissner von Wostrowitz, ya que está incluido en su obra “Handbuch der Kryptographie”, escrita en 1881. Pero su origen se remonta al menos al siglo XVIII, puesto que consta fue empleado por la administración holandesa a mediados de dicha centuria. Recibe el nombre de rejilla giratoria porque la clave es un cuadrado dividido en cuadrículas, con la cuarta parte de ellas perforadas y de modo que al girarla 90, 180 y 270 grados se descubran progresivamente todas las cuadrículas sin repetir ninguna. En la Figura 5.1 mostramos una rejilla 6×6 con nueve casillas agujereadas y verificando la condición que acabamos de describir.

Figura 5.1. Ejemplo de rejilla.

En la confección de la rejilla giratoria, la selección de las cuadrículas agujereadas no puede hacerse de cualquier manera. Nosotros hemos construido la rejilla de la Figura 5.1 siguiendo la estrategia que explicamos a continuación. Hemos dibujado un cuadrado 6×6 y numerado sus cuadrículas del siguiente modo:

1 2 3 7 4 1

4 5 6 8 5 2

7 8 9 9 6 3

3 6 9 9 8 7

2 5 8 6 5 4

1 4 7 3 2 1

Como puede observarse, esta numeración divide al cuadrado 6×6 en otros cuatro cuadrados de nueve casillas cada uno. Al rotar 90 grados, cada uno de estos cuatro cuadrados se traslada a otro adyacente de forma que cada una de sus cuadrículas va a

Page 92: Libro criptografia

5. CIFRADOS POR TRANSPOSICIÓN

84

parar a aquella con igual número. En consecuencia, si queremos que cada cuatro giros sucesivos de 90º se descubran todas las celdillas una única vez, hemos de perforar nueve de ellas sin hacerlo en dos con el mismo número. Puede comprobarse que en la clave de la Figura 5.1, los nueve números de las casillas descubiertas son todos distintos.

La argumentación anterior permite también contar cuantas rejillas 6×6 diferentes pueden construirse. Puesto que hemos de elegir una de las cuatro casillas con el número 1, otra de las cuatro con el número 2, etc. hay 49 maneras diferentes de hacerlo. Ahora bien, como una misma rejilla puede estar en cuatro posiciones distintas y cada una de ellas corresponde a una selección diferente de los nueve agujeros, el número anterior ha de dividirse por 4. En consecuencia, hay 48 = 65536 rejillas 6×6 diferentes. (Nótese que este argumento no ha considerado iguales a una rejilla y a la que se obtiene dándole la vuelta.)

En general, el número de rejillas distintas de dimensión n×n con n par, n = 2·k, es 12

4 −k . También pueden considerarse rejillas n×n con n impar, n = 2·k+1. En este caso, la cuadrícula central nunca debe agujerearse, ya que no cambia de posición durante los giros. Ahora, el número de rejillas diferentes es 12

4 −+kk . Por ejemplo, como 7 = 2·3+1, hay 1332

4 −+ = 4194304 rejillas distintas de dimensión 7×7.

Descritas las claves en este criptosistema de la rejilla giratoria y habiendo comprobado que hay un número considerable de ellas, expliquemos el proceso de cifrado. Como en ocasiones precedentes, se entenderá mejor si nos vamos ayudando de un ejemplo. Cifremos con la rejilla mostrada en la Figura 5.1 el siguiente texto: ‘LA REJILLA GIRATORIA ES UN METODO CLASICO DE CIFRADO POR TRANSPOSICION’. Puesto que usamos una rejilla 6×6, en primer lugar dividimos el texto en claro en fragmentos de 36 letras y colocamos cada uno de ellos en un cuadrado del mismo tamaño que la rejilla. Con nuestro texto resultan dos cuadrados, el segundo incompleto:

L A R E J I E C I F R A

L L A G I R D O P O R T

A T O R I A R A N S P O

E S U N M E S I C I O N

T O D O C L

A S I C O D

Cuadrado 1 Cuadrado 2

(Si la rejilla empleada fuese de dimensión n×n con n impar, se dividiría el texto en trozos de n2–1 letras y con ellos se formarían sendos cuadrados, dejando vacía la casilla central.)

Page 93: Libro criptografia

5. CIFRADOS POR TRANSPOSICIÓN

85

A continuación, colocamos la rejilla encima del cuadrado relleno con el primer fragmento. Puesto que la rejilla admite cuatro posiciones, hemos de convenir con el receptor del mensaje cual es la posición inicial. En el ejemplo que desarrollamos supondremos que esta posición es la que refleja la Figura 5.1. Al superponer la rejilla en el cuadrado, únicamente son visibles las letras situadas en las casillas perforadas. Estas son las primeras letras del texto cifrado. Seguidamente, giramos 90 grados la rejilla. Como el giro puede realizarse en dos direcciones, de nuevo hemos de concertar con el receptor la dirección. Supondremos que ésta es la determinada por el movimiento de las agujas del reloj. Después del giro, las cuadrículas agujereadas muestran otras letras del cuadrado. Son las siguientes del texto cifrado. Volvemos a girar otros 90º la rejilla y anotamos las nuevas letras reveladas. Repetimos una vez más la operación y hemos cifrado ya el primer bloque del texto en claro. Los siguientes dibujos resumen este proceso:

L R I

I A G

T R A A

S N

L T C

I O S

Posición inicial. LRITRSLIO Primer giro. IAGAANTCS

A E J

L L R

I O

U M E E

O D O

C D A

Segundo giro. AELIUMOCD Tercer giro. JLROEEDOA

De igual modo se cifran las sucesivas partes en que ha sido dividido el texto en claro. En nuestro ejemplo sólo hay un segundo trozo; ha dado lugar a un cuadrado incompleto, pero ello no perturba el proceso de cifrado. El criptograma, escrito en grupos de cinco letras separadas por un espacio en blanco, es el siguiente: ‘LRITR SLIOI AGAAN TCSAE LIUMO CDJLR OEEDO AEIRA SIAPO ROICF DPCOR OTNSN’.

Page 94: Libro criptografia

5. CIFRADOS POR TRANSPOSICIÓN

86

Para descifrar un mensaje cifrado con una rejilla giratoria, el legítimo receptor del mismo ha de seguir este otro proceso. Tras partir el texto cifrado en fragmentos de n2 letras (n2–1, si n es impar), se dibujan tantos cuadrados n×n como fragmentos. Con la rejilla en la posición de partida, se coloca ésta encima del primer cuadrado y se escriben las letras iniciales del primer trozo en las casillas abiertas, en modo secuencial. Seguidamente, se gira la rejilla y se continúa escribiendo letras del primer trozo en las cuadrículas abiertas, que ahora estarán todas en blanco. Se repite la operación dos veces más. Hecho esto, el cuadrado estará repleto de letras y podrá leerse el primer bloque del texto en claro. De igual modo se descifra el resto de los fragmentos de texto cifrado. Al proceder con el último, no ha de escribirse letra alguna en las cuadrículas cuyo orden supere la longitud de este postrero trozo. El orden al que nos referimos es el que proporciona la dirección de la escritura: de izquierda a derecha y de arriba abajo, de modo que la primera cuadrícula es la superior izquierda y la última la inferior derecha.

Hemos de señalar que los procesos de cifrado y descifrado que acabamos de describir pueden ser intercambiados, consiguiéndose así otra manera de usar la rejilla giratoria. No consideramos que sea necesario pararnos a explicar este otro modo recíproco, pero sí advertir que los criptosistemas resultantes son diferentes.

Obsérvese que, al igual que ocurría en la transposición de los nihilistas, el cifrado en la rejilla giratoria se inicia dividiendo el texto en claro en fracciones de igual longitud que luego son reordenadas de la misma manera. En general, los criptosistemas por transposición cuyo método de cifrado cumple tal característica se denominan regulares. No todas las transposiciones son regulares; por ejemplo, la de columnas es irregular.

Bien, según marca el guión del capítulo, tras la descripción de algunos cifrados por transposición corresponde hablar de criptoanálisis. Ante un criptograma, la primera tarea del criptoanalista es siempre averiguar el criptosistema que lo ha producido. Es fácil determinar si un criptograma ha sido cifrado por transposición. Como no es más que una reordenación de cierto texto en claro, las frecuencias de sus letras se mantienen en el criptograma y, en consecuencia, deben seguir el patrón de frecuencias de las letras del idioma en que se ha escrito el texto. Por tanto, un simple análisis de frecuencias permite averiguar si estamos ante un texto cifrado por transposición. Lo que no es tan sencillo es concretar, a partir de los criptogramas exclusivamente, qué cifrado por transposición ha sido empleado.

No obstante, si se dispone de varios criptogramas con exactamente la misma longitud, no es necesario averiguar antes que tipo de transposición los ha generado para que el criptoanálisis pueda comenzar. En este caso, el simple y efectivo método de los múltiples anagramas descubre los textos en claro. Para comprender tal método, consideremos los siguientes cuatro anagramas que resultan de reordenar de la misma manera sendas palabras de siete letras:

TLAUNER SODIAVA MORIPRE ARAGENÑ

Recuperar las palabras originales es difícil si se hace por separado; pero es sencillo con las cuatro a la vez, siguiendo la estrategia que explicamos a continuación. Escribimos

Page 95: Libro criptografia

5. CIFRADOS POR TRANSPOSICIÓN

87

los anagramas uno debajo de otro, formando un rectángulo de cuatro filas y siete columnas. Seguidamente, lo descomponemos recortando las columnas:

T L A U N E R S O D I A V A M O R I P R E A R A G E N Ñ

Se trata ahora de reordenar las columnas procurando que “casen las letras”. O dicho con mayor precisión: formando primero bigramas que sean frecuentes en nuestro idioma, a partir de ellos trigramas, luego tetragramas que no sean imposibles, y así hasta completar las palabras. Podemos comenzar considerando la última columna, que contiene una ‘Ñ’. Como a esta letra sólo puede seguirla una vocal, a la derecha de esta columna debe ir otra que contenga una vocal en cuarto lugar. La candidata es la tercera columna, que es la que produce los bigramas más comunes:

R A A D E R Ñ A

Con estos cuatro bigramas formamos otros tantos trigramas que no sean extraños en nuestro idioma. Luego los ampliamos a tetragramas, éstos a su vez a pentagramas... El siguiente esquema lo muestra:

R A T R A T R A L U T R A LA D S A D S A D O I S A D OE R M E R M E R O I M E R OÑ A

A Ñ A

A Ñ A R

G A Ñ A R

E U T R A L N E U T R A LV I S A D O A V I S A D OR I M E R O P R I M E R ON G A Ñ A R

E N G A Ñ A R

Con criptogramas en lugar de palabras el procedimiento es idéntico; aunque, evidentemente, mucho más lento. Pero funciona. De nuevo nos lo demuestra la historia de la Criptografía en varias ocasiones. La primera vez en 1878, cuando tres aficionados al criptoanálisis (los editores del “New York Tribune” John Hassard y William Grosvernor por un lado, y el matemático Edward Holden por otro), descifraron varios telegramas confirmando que el Partido Demócrata americano compró votos en las conflictivas elecciones presidenciales celebradas dos años antes. En esta ocasión, el método de cifrado empleado con los comprometedores telegramas fue una transposición de palabras en lugar de letras (previamente, los nombres propios y las palabras más significativas se reemplazaron por otros términos).

Page 96: Libro criptografia

5. CIFRADOS POR TRANSPOSICIÓN

88

El método de los múltiples anagramas también es aplicable a las transposiciones regulares, aunque no se disponga de varios criptogramas con el mismo número de letras. Para poder hacerlo, el criptoanalista debe conocer el periodo, que así se denomina a la longitud de los fragmentos en los que inicialmente se han partido los textos en claro. Una vez hallado, se dividen los criptogramas en trozos de longitud igual al periodo, se colocan éstos uno debajo de otro y se inicia el proceso de los anagramas. El problema está en que no hay método alguno para calcular el mencionado periodo a partir de los criptogramas únicamente. No obstante, es frecuente en la práctica que el periodo sea un número casi conocido de antemano. Así ocurre, por ejemplo, en la transposición de los nihilistas y en la rejilla giratoria, donde razones de efectividad obligan a manejar cuadrados de dimensiones limitadas que, en consecuencia, restringen los posibles periodos a unos pocos valores. En general, cualquier transposición regular cuyo periodo varíe entre unos pocos valores es atacable mediante anagramas, independientemente de lo complicado que sea su proceso de cifrado; y es, por tanto, menos segura que una transposición irregular.

Además del genérico método de los anagramas, cada transposición tiene su particular método de criptoanálisis. No vamos a exponer aquí todos ellos, ya que extenderíamos considerablemente el capítulo. Nos conformaremos con presentar uno sólo: el de la rejilla giratoria, aprovechando que la hemos descrito con cierto detalle. Con este objetivo consideramos el siguiente criptograma, obtenido al cifrar cierto texto en español con dicho criptosistema:

ELAUR EMEEO UAAJS NCTIG OAEUL EPDON NSUSD NLRIO IINIM YELMI LLMOS UNNAN TOYAJ RCEMR UIGOS REITE EITDL ISEAQ EETHO CLRNA TAFEP ECROC LUISN READS OESCS EACHE LNDEO ROLIR NAIER LIAEC FB

Criptograma

Ante una rejilla, el criptoanálisis debe partir de una suposición sobre la dimensión n×n. En teoría, el entero n puede tomar cualquier valor; pero cuando el criptosistema de la rejilla fue llevado a la práctica, n estuvo siempre entre 5 y 10. Rejillas 4×4 no se consideraban porque su número es reducido (sólo hay 64 diferentes), y valores de n por encima de 10 dan lugar ya a rejillas grandes de incómodo manejo. Siguiendo entonces estas observaciones prácticas, supondremos también que la rejilla empleada con el criptograma anterior está entre los límites de 5 y 10.

Hecha una hipótesis sobre el entero n, el proceso que a continuación explicaremos o bien nos permitirá descifrar el texto o nos llevará a un absurdo. En este segundo caso habrá que asignar otro valor a n y comenzar de nuevo. Por fortuna, con nuestro criptograma no es necesario iniciar tal proceso en los supuestos n = 5 ó 6, ya que pueden ser descartados gracias a la posición en la que ha quedado la única ‘Q’ presente. En las líneas que siguen demostramos esta afirmación cuando n = 5. La argumentación para n = 6 es muy similar y animamos a que la realice el lector.

Page 97: Libro criptografia

5. CIFRADOS POR TRANSPOSICIÓN

89

Como ya hemos señalado antes, la rejilla es un criptosistema regular. Cuando n = 5, el periodo es 24. Si dividimos el texto cifrado en fragmentos de 24 letras, la única ‘Q’ aparece en el siguiente:

‘GOSREITEEITDLISEAQEETHOC’.

Bajo la hipótesis n = 5, esta porción de texto cifrado es el resultado de transponer otro de texto en claro. En nuestro idioma, la ‘Q’ va siempre seguida de una ‘U’. Como tal vocal no figura en el fragmento anterior, ha de suceder que la ‘Q’ es la última letra del correspondiente trozo en claro y su acompañante ‘U’ la primera del siguiente. Entonces, en el proceso de cifrado, al rellenar con estos fragmentos los cuadrados 5×5, la ‘Q’ va a parar a la última cuadrícula de un cuadrado y la ‘U’ a la primera del siguiente. Por otro lado, como las letras se trasladan de los cuadrados al texto cifrado en bloques de 6 (que es el número de casillas agujereadas que tiene una rejilla 5×5) y la ‘Q’ es la decimoctava letra del fragmento, la rejilla debe estar en su tercera posición cuando destapa la cuadrícula de la ‘Q’. Después, tras dos giros, la rejilla vuelve a su posición inicial y descubre la primera casilla del siguiente cuadrado. En dicha casilla está la ‘U’ que, en consecuencia, debe encabezar el próximo fragmento de 24 letras de texto cifrado. Pero no, la primera letra de este otro trozo es una ‘L’. Tal contradicción anula el supuesto n = 5.

Cuando n = 7 no es posible el razonamiento previo. En este caso, el periodo es 48 y sucede que al partir el texto cifrado en fragmentos de 48 letras, la ‘Q’ queda ubicada en otro que contiene además otras dos ‘U’. Es con esta suposición n = 7 con la que iniciamos el proceso antes anunciado. En realidad, es una optimización del genérico método de los anagramas, adaptado al criptosistema de la rejilla. Se empieza del mismo modo. Primero dividimos el criptograma en trozos de 48 letras, resultando cuatro partes, la última con tan sólo 8 letras. Nos olvidamos de este residual trozo y con los otros tres formamos el siguiente rectángulo: E L A U R E M E E O U A A J S N C T I G O A E U L E P D O N N S U S D N L R I O I I N I M Y E L

M I L L M O S U N N A N T O Y A J R C E M R U I G O S R E I T E E I T D L I S E A Q E E T H O C

L R N A T A F E P E C R O C L U I S N R E A D S O E S C S E A C H E L N D E O R O L I R N A I E

A continuación, hay que recortar las columnas de este cuadrado para después reordenarlas procurando formar palabras del texto en claro. Pero en este particular método, este proceso se va a efectuar siguiendo unas reglas muy similares al conocido juego de cartas “el solitario”. Incluso se comprenderán mejor tales reglas si contemplamos las columnas del rectángulo como naipes de una baraja. Con esta idea, con las 48 columnas formamos los cuatro palos de la baraja. Las doce primeras constituirán el palo de picas: ♠, la siguiente docena el de trébol: ♣, las otras doce el de corazones: ♥, y la última docena el de diamantes: ♦. Dentro de cada palo, cada columna tendrá asignado un número que indicará el orden que ocupa. La baraja obtenida puede contemplarse en la Figura 5.2.

Page 98: Libro criptografia

5. CIFRADOS POR TRANSPOSICIÓN

90

1 ♠ 2 ♠ 12 ♠ 1 ♣ 2 ♣ 12 ♣ E L ... A A J ... U M I N T O I L R R O C S

1 ♥ 2 ♥ 12 ♥ 1 ♦ 2 ♦ 12 ♦ L E ... N L R ... L G O D L I C O E N D E E

Figura 5.2. La baraja de cartas.

Expliquemos las razones del diseño de la baraja. Como una rejilla 7×7 tiene doce cuadrículas perforadas, las doce primeras letras del texto cifrado son las letras que asoman por dichas cuadrículas al situar la rejilla en su posición inicial sobre el primer cuadrado. Las siguientes doce son las que aparecen al efectuar un primer giro de la rejilla. Y así sucesivamente. Por tanto, las letras de las cartas de igual palo fueron trasladadas al texto cifrado cuando la rejilla estaba en una misma posición. El palo de picas representa la posición inicial de la rejilla, el de tréboles la segunda posición, etcétera. Por otro lado, las doce letras que descubren las casillas abiertas de la rejilla se llevan siempre al texto cifrado según el orden habitual de la escritura: de izquierda a derecha y de arriba abajo. Este orden es precisamente el número de cada carta. Así, fijado un palo de la baraja, las letras de la carta numerada con el 1 son anteriores en el texto en claro a las del 2, las de ésta otra carta son previas a las del 3, etcétera.

Nuestra partida de criptoanálisis requiere disponer las cartas en una posición inicial. Su justificación está en una propiedad del criptosistema de la rejilla que al mismo tiempo constituye una debilidad: la simetría. Veamos en qué consiste. En primer lugar, distinguimos en un cuadrado n×n los pares de cuadrículas simétricas: dos de sus casillas se dicen simétricas si una va a parar al lugar de la otra cuando se gira el cuadrado 180º. Por ejemplo, en el siguiente cuadrado 5×5 las cuadrículas con el mismo número son simétricas:

1 2 3 4 5

6 7 8 9 10

11 12 13 12 11

10 9 8 7 6

5 4 3 2 1

En un criptograma obtenido con la rejilla giratoria, dos de sus letras se dicen simétricas si durante el cifrado ocuparon casillas simétricas de un mismo cuadrado. Fijada

Page 99: Libro criptografia

5. CIFRADOS POR TRANSPOSICIÓN

91

una carta de nuestra baraja, como todas sus letras ocuparon la misma cuadrícula de cuadrados diferentes, tiene sentido referirse a su simétrica como aquella que contiene las letras simétricas. Dicho esto, descubramos las cartas simétricas. Las picas representan la posición inicial de la rejilla. Al girarla 180º, la rejilla pasa a la 3ª posición, asociada a los corazones. Luego, corazones y picas son simétricos. Igualmente lo son tréboles y diamantes. Por otra parte, cuando rotamos 180 grados la rejilla, el orden de sus casillas agujereadas se invierte: la primera pasa a ser la última, la segunda va al antepenúltimo lugar, etcétera. En consecuencia, en nuestra baraja, la simétrica de una carta con el 1 es otra con el 12, la de una con el 2 es otra con el 11, etcétera. Ya hemos identificado las cartas simétricas.

Coloquemos ahora las cartas en su posición inicial. Formamos con ellas 8 montones de 6 cartas cada uno, todas puestas boca arriba. Un montón contendrá las seis primeras cartas de picas. La visible será el 1, debajo de ella estará el 2, luego el 3, etcétera. Con los otros tres palos formamos idénticos montones que situamos en una fila en línea con el primer montón. Y en una segunda fila, otros cuatro montones conteniendo cada uno de ellos las simétricas de las cartas del montón por encima, en el orden 12, 11, ..., 7 para respetar la simetría. Los ocho montones quedan como se muestra en la Figura 5.3.

1 ♠ 1 ♣ 1 ♥ 1 ♦ E A L L M T G L L O O D

12 ♥ 12 ♦ 12 ♠ 12 ♣ N L A U D C N I N E R S

Figura 5.3. Posición inicial de las cartas.

Uno de los cuatro “1” contiene las letras que estaban en la primera casilla de los cuadrados, la superior izquierda. (¿Por qué?) Su simétrica, un “12”, incluye las que se situaron en la última cuadrícula, la inferior derecha. En la primera jugada hemos de intentar adivinar estas dos cartas. Tal jugada consiste extraer de su montón una de las cartas de arriba, colocarla en lugar aparte y a su izquierda su simétrica, ligeramente desplazada hacia abajo para que casen las dos primeras letras de esta carta con las dos últimas de aquella. La Figura 5.4 muestra las cuatro opciones posibles.

Page 100: Libro criptografia

5. CIFRADOS POR TRANSPOSICIÓN

92

1 ♠ 1 ♣ 1 ♥ 1 ♦ 12 ♥ E 12 ♦ A 12 ♠ L 12 ♣ L

N M L T A G U L D L C O N O I D

N E R S

a) b) c) d)

Figura 5.4. Opciones para la primera jugada.

Si acertamos en esta primera jugada, formamos dos bigramas del texto en claro: aquellos que resultan de unir las últimas letras de los cuadrados primero y segundo con las primeras letras del segundo y tercero, respectivamente. Las cuatro opciones de la Figura 5.4 contienen bigramas posibles en nuestro idioma y, en consecuencia, a priori no hay que rechazar ninguna de ellas. Si hay que decidirse por una, ésta debe ser la que presente los bigramas más frecuentes; pero quizás sea preferible contemplar la segunda jugada antes de tomar la decisión.

Supongamos que elegimos la opción correcta en la primera jugada. Entonces, una de las cuatro cartas visibles en la fila superior incluye las letras que durante el cifrado se colocaron en la segunda casilla de los cuadrados (de nuevo invitamos al lector a reflexionar sobre esta afirmación), y su simétrica inferior contiene las que ocuparon las antepenúltimas cuadrículas. Estas son las dos cartas que debemos extraer en la segunda jugada. Las haremos casar con las anteriores, la de la fila superior por la derecha y su simétrica por la izquierda. Una vez hecho, los dos bigramas de antes se ampliarán a tetragramas y, además, se formarán dos nuevos bigramas que, si esta segunda jugada es correcta, pertenecerán al texto en claro.

De todas las combinaciones que se pueden dar con las dos primeras jugadas (16 en total), la que parece más adecuada es la que muestra la Figura 5.5, continuación de la opción d) en la primera jugada:

1 ♦ 1 ♣12 ♦ 12 ♣ L A

L U L T C I D O

E S

Figura 5.5. La segunda jugada.

En esta combinación es posible el fragmento ‘EL ULTIMO’ y un participio terminado en ‘CIDO’. Además, los dos nuevos bigramas que han surgido, ‘LA’ y ‘ES’, son de los más frecuentes. Y para confirmar que efectivamente hemos elegido la combinación correcta continuamos la partida, intentando recuperar el texto en claro con

Page 101: Libro criptografia

5. CIFRADOS POR TRANSPOSICIÓN

93

sucesivas jugadas. Así, después de la quinta jugada, nuestro solitario debe presentar el aspecto de la Figura 5.6.

2 ♠ 3 ♣ 1 ♥ 3 ♦ L S L I I Y G S R L O O

11 ♥ 10 ♦ 12 ♠ 10 ♣ D Y A A T H N R L A R A

1 ♦ 1 ♣ 2 ♦ 1 ♠ 2 ♣ 11 ♦ 12 ♥ 11 ♣ 12 ♦ 12 ♣ L A R E J

E N E L U L T I M O O D U C I D O E L C

I N D E S

Figura 5.6 Tras la quinta jugada.

Esta Figura 5.6 nos muestra que el criptoanálisis va por buen camino. Colocar el resto de las cartas parece ya tarea sencilla. Tras ello, accederemos al texto en claro. Y también a la clave, cuya obtención es inmediata: Rellenemos un cuadrado 7×7 con las 48 primeras letras del texto en claro, dejando vacía su casilla central. Las cuadrículas donde se sitúan las doce letras bajo el palo de picas son precisamente las casillas abiertas de la rejilla cuando está en su posición inicial.

Con la clave puede descifrarse el postrero y residual trozo de 8 letras de texto cifrado que, recordemos, lo dejamos a un lado. En fin, dejamos esta última parte del criptoanálisis al lector interesado y despedimos el capítulo mostrando el texto en claro. Es el siguiente fragmento extraído del libro “La Cryptographie Militaire” de Auguste Kerchoffs, publicado en 1883:

La rejilla es un procedimiento ingenioso, muy usada en el último siglo, y las mejoras que recientemente ha introducido el coronel austriaco Fleissner parecen hacerla indescifrable.

Page 102: Libro criptografia
Page 103: Libro criptografia

95

6

LA CRIPTOGRAFÍA EN LA PRIMERA GUERRA MUNDIAL

En enero de 1917, la primera guerra mundial iba ya por su tercer año y no se divisaba un final en un corto plazo. El Kaiser Guillermo II, que había prometido una rápida victoria cuando se inició la contienda, veía ahora a sus tropas atascadas en el frente francés en una guerra de trincheras. Su poderosa armada había sido superada por la Royal Navy y, como consecuencia de ello, Alemania se encontraba sometida a un bloqueo marítimo por parte de Inglaterra. Además, nuevos países habían decidido participar en la guerra al lado de los aliados. El Kaiser no anunciaba ya un triunfo inmediato. Ni siquiera estaba claro que la victoria fuese a caer del lado de las potencias de la Europa Central.

A no ser que los submarinos alemanes reanudasen la que se llamó “guerra sin restricciones”. Consistía en que cualquier barco, de guerra o mercante, enemigo o neutral, hallado en una zona de exclusión próxima a las costas de Inglaterra, sería hundido sin previo aviso. Con ello, Inglaterra pasaría a ser el país bloqueado. Tal situación asfixiaría a los ingleses y les obligaría a pedir la paz. Esa era la estrategia que conducía a la deseada victoria rápida.

Alemania ya había declarado antes la guerra sin restricciones, a comienzos de 1915. Sus ataques indiscriminados hundieron buques mercantes americanos, algunos con miles de pasajeros. Estas acciones estuvieron a punto de llevar a Estados Unidos a una declaración de guerra. Temerosos de que América entrara en la guerra al lado de los aliados, los alemanes abandonaron la guerra sin restricciones en otoño de 1915. Muy posiblemente su reanudación traería consigo la declaración de guerra por parte de Estados Unidos.

Eso no importaba ahora al alto mando militar germano. Estaba convencido de su victoria antes de que los grandes contingentes de tropas americanas pudiesen desembarcar en Europa. Pero no era tan optimista el gobierno alemán, quién pensaba que la participación en la guerra de Estados Unidos daría el triunfo a los aliados. Por ello, prepararon un atrevido plan que, de salir adelante, evitaría la presencia del ejército

Page 104: Libro criptografia

6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

96

americano en el frente europeo. El plan pasaba por una alianza con Méjico y Japón y consistía en que si Estados Unidos declaraba la guerra a Alemania, esos dos países atacarían a los norteamericanos en su propio territorio. Alemania ayudaría económica y militarmente a dichas naciones.

El plan era arriesgado pero no descabellado. Méjico todavía reclamaba sus antiguos territorios en Texas, Arizona, Nuevo Méjico y California, arrebatados por Estados Unidos en la guerra de 1848. Con la ayuda alemana, Méjico podía recuperarlos. Por otra parte, los análisis germanos daban como inevitable una futura guerra entre Japón y Estados Unidos por el control del Pacífico y que únicamente ahora Japón resultaría victorioso (la Historia ha demostrado la corrección de esta predicción.) Y en última instancia, si Méjico y Japón no aceptaban la propuesta, Alemania podía reconsiderar la guerra submarina sin restricciones.

Arthur Zimmermann, ministro de asuntos exteriores alemán, pensó que, dado lo delicado de los propósitos germanos, lo mejor era que su embajador en Méjico lo planteara con la mayor discreción al presidente mejicano. Sin embargo, tenía un problema: comunicar con sus embajadas al otro lado del Atlántico. En aquella época, los países europeos disponían ya de cables telegráficos transatlánticos por los que cursaban sus comunicaciones con el otro lado del océano. Pero los cables alemanes habían sido inutilizados por los británicos el primer día de la guerra. Para contactar con sus embajadas en América, Zimmermann debía hacerlo a través de los cables telegráficos de otras naciones. Dos países se lo permitían, la neutral pero pro germana Suecia y aquel contra el que iba a conspirar, los Estados Unidos.

El 16 de enero de 1917, Zimmermann cursó un telegrama su embajador en Washington, Johann H. von Bernstorff, conteniendo instrucciones para la delegación germana en Méjico. Lo envió por duplicado, para asegurarse que llegaba a su destino. Una copia se transmitió por las líneas suecas y la otra por las norteamericanas. Tres días más tarde, el embajador Bernstorff reenvió las instrucciones de Zimmermann a su homónimo en Méjico.

Obviamente, los telegramas iban cifrados. La diplomacia alemana utilizaba libros de códigos para este menester. Tales códigos consistían todos ellos en un amplio repertorio de cifras. El telegrama que desde Berlín se envió a Washington iba cifrado según el código identificado con el número 0075. El que desde Washington Bernstorff telegrafió a Méjico se cifró con el código 13042. La razón de este cambio de códigos está en que la embajada alemana en Méjico no usaba el código 0075. Puede contemplarse el telegrama que llegó a Méjico en la Figura 6.1.

Page 105: Libro criptografia

6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

97

Figura 6.1. El telegrama Zimmermann.

Tanto el cable de Suecia como el de Estados Unidos pasaban por Inglaterra y, naturalmente, estaban intervenidos. Los censores británicos obtuvieron las dos copias del telegrama procedente de Berlín. Al observar que estaba cifrado, las remitieron a la “Habitación 40”, que así era como se conocía a la oficina de criptoanálisis de la armada inglesa. Allí, dos de sus criptoanalistas, William Montgomery y Nigel de Grey, reconocieron que se trataba de un mensaje cifrado con el código 0075, que había sido puesto en servicio seis meses antes. Dado que el 0075 era un nuevo código, los ingleses sólo lo tenían recuperado parcialmente. Por este motivo, Montgomery y de Grey únicamente descifraron algunos trozos del mensaje. Tales partes revelaban un importante asunto, pero en absoluto permitían conocer con exactitud el plan alemán. Afortunadamente para los británicos, entre las partes reveladas del telegrama figuraba su primer párrafo. En él, Zimmermann ordenaba a Bernstorff reenviar secretamente a su embajada en Méjico el texto que seguía a continuación. En la Habitación 40 sabían que en Méjico no usaban el código 0075. Por tanto, dedujeron que el mensaje que Bernstorff debía enviar a Méjico tenía que cifrarse con otro código, seguramente más antiguo y

Page 106: Libro criptografia

6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

98

posiblemente en su poder. Con una copia de este segundo mensaje revelarían completamente su significado.

Un agente inglés la obtuvo en la oficina de telégrafos de la ciudad de Méjico. A primeros de febrero, dicha copia estaba ya en Londres. Como dijimos antes, iba cifrada con el código 13042; y como bien intuyeron en la Habitación 40, este código estaba ya en sus manos. Con él pudieron descifrar completamente el telegrama. La traducción al español del texto en alemán es la siguiente:

“Pretendemos comenzar el 1 de febrero la guerra submarina sin restricciones. No obstante, nos esforzaremos en mantener neutral a los Estados Unidos de América. En el caso que esto no suceda, hacemos a Méjico una propuesta de alianza en base a lo siguiente:

Hagamos la guerra juntos y obtengamos la paz juntos. Habrá ayuda financiera y acuerdo por nuestra parte para que Méjico reconquiste los territorios perdidos en Texas, Nuevo Méjico y Arizona. Le dejo a usted los detalles.

Informe de lo anterior al presidente de Méjico con el mayor de los secretos tan pronto como se inicie la guerra con los Estados Unidos. Sugiérale que, por propia iniciativa, invite a Japón a unirse inmediatamente y que medie entre Japón y nosotros.

Por favor, llame la atención al presidente que el empleo sin piedad de nuestros submarinos ofrece ahora la perspectiva de obligar a la paz a Inglaterra en unos pocos meses.”

El 24 de febrero, el telegrama Zimmermann fue dado a conocer por los británicos al embajador americano en Londres. Naturalmente, sólo le mostraron la copia sustraída de la oficina de telégrafos en Méjico y su trascripción siguiendo el viejo código 13042. Ni una palabra del telegrama cifrado con el código 0075 e interceptado en Inglaterra, ya que ello implicaría reconocer la intervención ilegal en los cables telegráficos de otros países.

El telegrama fue publicado por la prensa americana el primer día de marzo. Al principio, mucha gente puso en duda su autenticidad y alegaron que no era sino un complot inglés para llevar a Estados Unidos a una guerra que no quería. La duda la despejó el propio Zimmermann, quien honestamente admitió su autoría. Durante ese mes de marzo, las voces americanas que clamaban a favor de la guerra silenciaron por completo a aquellas que deseaban la paz. Hasta que el 2 de abril, el presidente Woodrow Wilson, que había sido reelegido con la promesa de mantener fuera de la guerra a Estados Unidos, llevó al Congreso una declaración de guerra. Ese día, Alemania estaba en guerra con Estados Unidos.

Mal acabó la intriga alemana que contenía el famoso telegrama Zimmermann. Además, ni siquiera llegó a ser expuesta a su destinatario, el presidente de Méjico. Y todo ello, por el empleo de un criptosistema poco seguro: el cifrado mediante libros de códigos. Con frecuencia, los usuarios de este modo de cifrado han creído en su seguridad si mantenían en secreto el correspondiente libro de códigos. Depositan esta confianza en

Page 107: Libro criptografia

6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

99

el elevado número de sustituciones que suele catalogar: varias decenas de miles. Pero de este elevado número, los usuarios sólo utilizan unos cuántos cientos, por lo específico del lenguaje que están obligados a emplear. De este modo, al llevar a la práctica el libro de códigos, lo han reducido a un nomenclátor como los que se emplearon antiguamente. Por tanto, la seguridad que proporciona el libro de códigos no puede ser mayor que la de su predecesor el viejo nomenclátor. Menos aún, porque ahora los criptoanalistas disponen de gran cantidad de texto cifrado con el mismo código, y a veces incluso de algún texto en claro. Ello es suficiente para recuperar los pocos cientos de palabras diferentes que se suelen emplear. Así recuperaron los criptoanalistas de la Habitación 40 los códigos diplomáticos involucrados en el telegrama Zimmermann. Nunca dispusieron de un ejemplar de tales libros.

El cifrado mediante códigos fue también el método elegido por la armada alemana para proteger sus comunicaciones. Pero antes de hablar de ello, conviene señalar que cuando se inició la contienda en agosto de 1914 ya habían transcurrido casi veinte años desde que la radio fue inventada. La radio permite a los almirantes en tierra un control inmediato y continuo de los navíos en alta mar. No obstante, la enorme posibilidad de comunicación que ofrece la radio tiene un “pequeño” inconveniente: las ondas aéreas por las que viajan los mensajes son públicas. Así, no sólo los barcos de guerra alemanes recibían las órdenes transmitidas por una potente emisora a las afueras de Berlín, sino también los receptores británicos. Evidentemente, los mandos alemanes eran conscientes de esta posibilidad y protegían sus mensajes cifrándolos mediante códigos, como ya hemos dicho. Y al igual que sus compatriotas diplomáticos, consideraban totalmente segura esta comunicación porque suponían que ningún intruso disponía de sus códigos.

Errónea suposición, porque tan sólo al mes siguiente de empezar la guerra, Inglaterra ya se había hecho con los códigos de la armada germana. Sucedió que a los pocos días del inicio de la contienda, el crucero alemán Magdeburgo encalló en el Báltico, cerca de la costa rusa. Ante la inmediata llegada de navíos rusos, el capitán alemán ordenó abandonar el crucero y, con las prisas, olvidó en un cajón el libro de códigos que empleaba la armada alemana. Los rusos registraron el navío encallado y encontraron el mencionado libro. Poco después, el libro fue enviado a Inglaterra.

El código Magdeburgo (así se conoce ahora al código del libro) constaba de palabras de cuatro letras en las que la primera y la tercera eran consonantes, y la segunda y la cuarta vocales. La razón de este diseño es clara: hacer pronunciables las palabras del código. Pero el disponer del código no era suficiente para revelar el significado de los mensajes germanos. El mando naval alemán, para conseguir mayor seguridad, después de codificar sus órdenes las cifraba. Por tanto, era obligado conocer también el método de cifrado empleado. Aún les llevó tres semanas a los criptoanalistas de la Habitación 40 descubrir que los alemanes cifraban el código mediante una sustitución monoalfabética en la que vocales se reemplazaban por vocales y consonantes por consonantes. (Con ello, el texto cifrado resultante seguía siendo pronunciable.) Sabiendo esto, ya no es difícil averiguar la clave de la sustitución usando que ciertas palabras del código eran más frecuentes que otras en virtud del contexto de los mensajes. Además, el diseño del código facilitaba la tarea. Naturalmente, dicho trabajo era necesario repetirlo cada vez que se cambiaba la clave. Al comienzo de la guerra ello sucedía cada tres meses. Tal periodo se

Page 108: Libro criptografia

6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

100

fue acortando conforme avanzaba la contienda, y ya en 1916 la clave era cambiada cada medianoche.

En las comunicaciones con los submarinos, los alemanes empleaban el mismo código que con los navíos de superficie, pero el método de cifrado posterior empleado era una transposición de columnas. La clave no se cambiaba muy frecuentemente. Como ya sabemos por el tema anterior, descifrar una transposición de columnas no es difícil y puede hacerse con texto cifrado únicamente. En consecuencia, al tener los códigos en su poder, los británicos accedieron también a las instrucciones que los alemanes transmitían a sus submarinos.

El código Magdeburgo no fue el único empleado por la armada alemana ni el único recuperado por los ingleses. Estos tomaron buena nota de los tesoros que podían contener los navíos enemigos hundidos o abandonados. Por ejemplo, en septiembre de 1916 se hicieron con los códigos en vigor registrando los restos de un zepelín abatido. En otra ocasión, un buzo rescató los libros de códigos de un submarino alemán hundido cerca de la costa inglesa. Fue condecorado por esta acción después de la guerra. La Habitación 40 reconoció haber descifrado unos 15.000 mensajes alemanes a lo largo de la guerra.

La Royal Navy también usó códigos para proteger sus comunicaciones radiotelegrafiadas. Sus voluminosos libros de códigos contenían un amplísimo repertorio de palabras y grupos de palabras codificadas con números de cinco dígitos. Incluían muchísimos homófonos. Algunas expresiones disponían de 15 homófonos. Había varias páginas de nulos que debían constituir el 25% del total del mensaje, según se indicaba en las instrucciones. Pero lo que más llama la atención es el empleo de polífonos; esto es, que un mismo número de código pueda representar significados distintos. Exactamente tres en los códigos ingleses. Para que el empleo de polífonos no imposibilite el descifrado correcto, en el libro de códigos los números no polífonos iban seguidos de una de las letras A, B, o C; mientras que los polífonos iban precedidos y seguidos de una de dichas letras. Al descifrar, para cada polífono había que elegir aquel significado cuya letra inicial coincidía con la letra final de la acepción elegida para el número anterior. Por ejemplo, el descifrado correcto del mensaje

13901 01581 47689

con el código

... A 01581 B Ammunition B 01581 A 4th July C 01581 B German

... − 13901 C Seen

... A 47689 B Prince of Walles B 47689 C Cruiser C 47689 A Wednesday

Page 109: Libro criptografia

6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

101

sería: ‘Seen German Cruiser’ (‘Visto crucero alemán).

La Royal Navy no cifraba el código resultante. Basaba toda la seguridad en las características de sus libros de códigos, que desde luego eran de los más complejos que se hayan confeccionado nunca. Desconocemos si los alemanes fueron capaces de penetrar en los códigos ingleses. Aunque seguro que no antes de 1916, ya que hasta entonces no pusieron en marcha su “Abhorchdienst” (servicio de interceptación).

Si mal les fue a los códigos de la diplomacia y armada alemanas con la Habitación 40, mayor derrota sufrieron las cifras del ejército de tierra germano en su enfrentamiento con los criptoanalistas de “le Bureau du Chiffre” francesa. Esta oficina dedicada al criptoanálisis había sido creada por el ejército francés a finales del siglo XIX. Cuando comenzó la guerra, le Bureau du Chiffre contaba ya con un equipo de criptoanalistas bien formados con el curso “La Cryptographie Militaire” de Auguste Kerchoffs. También había organizado una red de escuchas radiotelegráficas por toda Francia. No es de extrañar entonces que el ejército francés tuviese instrucciones de inutilizar completamente las líneas telegráficas antes de su repliegue. Así forzarían a los alemanes a emplear la radio y sus mensajes serían interceptados por la oficina francesa para un posterior criptoanálisis. El plan funcionó perfectamente.

Al estallar la contienda, el ejército de tierra alemán empleaba una cifra de campo que ellos llamaban “ÜBCHI” (abreviatura de ÜBungsCHIffre, cifra práctica) y era una doble transposición de columnas. En aquella época, el único método conocido para atacar este tipo de transposición con texto cifrado únicamente era el de los múltiples anagramas, descrito en el capítulo anterior. Como ya dijimos en dicho capítulo, este método de criptoanálisis funciona con cualquier cifrado por transposición; pero necesita dos o más criptogramas cifrados con la misma clave y de la misma longitud. Criptoanalizar una doble transposición de columnas mediante el método de los anagramas es un proceso muy lento, pero con paciencia se recuperan los textos en claro que esconden los criptogramas. Hecho esto, el siguiente paso es descubrir la clave haciendo uso de los textos en claro revelados. Tampoco es fácil, pero puede hacerse.

Los alemanes cambiaban la clave cada diez o quince días, un periodo de tiempo demasiado grande para el tráfico de mensajes que había. Y como, además, la mayoría de tales mensajes tenían una longitud que rondaba las cien letras, no era difícil encontrar dos de ellos con exactamente la misma longitud. Entonces el criptoanálisis podía iniciarse. Los franceses recuperaron por primera vez una clave ÜBCHI el 1 de octubre de 1914. Y todas las que siguieron hasta el 18 de noviembre de es mismo año, día en que los alemanes introdujeron un nuevo modo de cifrado. La razón del cambio en las cifras alemanas fue que el periódico francés “Le Matin” cometió la imprudencia de publicar que los mensajes germanos estaban siendo descifrados.

Sin embargo, el nuevo criptosistema era más débil. Consistía en un cifrado Vigenère con clave ABC seguido de una transposición de columnas. Los franceses le dieron el nombre de cifrado ABC. Tan sólo un mes después de la entrada en vigor de la nueva cifra, en le Bureau du Chiffre ya se había redactado un documento explicando un método para su criptoanálisis a partir de texto cifrado únicamente. El cifrado ABC estuvo

Page 110: Libro criptografia

6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

102

en vigor hasta mayo del año siguiente. Para entonces la guerra entró en una fase estática de trincheras, sin apenas movimientos de tropas. Ello trajo una reducción considerable en el volumen de mensajes radiados. Muchos de ellos eran intrascendentes y en ocasiones incluso se transmitían en claro.

A la cifra ABC le siguió la ABCD, que era un poco más complicada. Primero había que cifrar el texto en claro usando el sistema de Vigenère con clave ABCD pero de forma intermitente, y a continuación se efectuaba una transposición de columnas. La clave de la transposición regía también las intermitencias en el cifrado Vigenére previo. Tan sólo llevó dos semanas a le Bureau du Chiffre romper este nuevo cifrado. Los alemanes dejaron de usarlo en abril de 1916.

Fue reemplazado por una serie de cifrados polialfabéticos tan poco eficientes que con frecuencia confundían a las personas encargadas del cifrado y descifrado de los mensajes. No les quedó más remedio que abandonarlos y regresar a los cifrados por transposición. Esta vez emplearon rejillas giratorias, una diferente cada semana. Tampoco lograron burlar al criptoanálisis francés, que conocía perfectamente como atacar este tipo de transposiciones. Los alemanes emplearon las rejillas durante varios meses, hasta marzo de 1917. Después de esta fecha, reconociendo su incapacidad para diseñar una cifra de campo que derrotase a le Bureau du Chiffre, el ejército de tierra alemán recurrió a los códigos.

Durante todo este tiempo, sus enemigos en el frente, Francia e Inglaterra, sólo utilizaron una cifra de campo cada uno. Los británicos hicieron uso de su cifra Playfair estudiada en el Capítulo 4. La emplearon en todos los frentes. Consta que fue utilizada incluso por Lawrence de Arabia. Sus aliados franceses hicieron uso de una cifra basada en las transposiciones de columnas, pero con una curiosa variante que describiremos mejor con un ejemplo. Cifremos con la clave ‘LE BUREAU DU CHIFFRE’ el siguiente texto:

“Dos compañías enemigas atacan nuestra posición Stop Envíen refuerzos Stop Cuarto batallón”

Siguiendo el esquema de cifrado de una transposición de columnas, el texto en claro se escribe formando un rectángulo con tantas columnas como letras tiene la clave. Tales columnas se enumeran conforme al orden alfabético de las letras de la clave. Pero en esta variante francesa, antes de escribir secuencialmente las verticales según el citado orden de las columnas, se escriben primero algunas diagonales que parten de ciertas letras de la primera fila y cuya especificación exacta forma parte también de la clave. En nuestro ejemplo, tales diagonales comenzarán en las columnas 2, 6, 10, 11, 14, 15 y 17. Las tres primeras irán hacia la derecha y las otras cuatro hacia la izquierda, según se indica a continuación:

Page 111: Libro criptografia

6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

103

L E B U R E A U D U C H I F F R E 12 5 2 15 13 6 1 16 4 17 3 10 11 8 9 14 7

D O S C O M P A Ñ I A S E N E M I

G A S A T A C A N N U E S T R A P

O S I C I O N S T O P E N V I E N

R E F U E R Z O S S T O P C U A R

T O B A T A L L O N

El texto cifrado comienza con las diagonales especificadas: primero las que parten hacia la derecha, después las que van a la izquierda, respetando su orden numérico. Si alguna de las diagonales zurdas cruza por una letra perteneciente a una diagonal diestra, dicha letra no se vuelve a escribir. Tras las diagonales van las columnas, según el orden determinado por la clave. De nuevo, al transcribir las columnas, hay que omitir las letras ya escritas. El que sigue a continuación sería el texto cifrado (hemos incluido un espacio en blanco entre diagonales y columnas para que se observe su formación):

SAIRL MCSSN SSVU EEPSO MRP CSSR INZA PN IFB AUT ÑT OAEO AO IPNR NTC EI EO N DGOT OTET AEA CUA AAOL NO

El motivo de las diagonales en esta cifra francesa es romper la uniformidad en las longitudes de columnas, hecho en que se basa el criptoanálisis de las transposiciones de columnas. No obstante, este cifrado no es más seguro que la doble transposición de columnas que empleaban los alemanes al comienzo de la guerra (su cifra ÜBCHI). Tampoco lo es el famoso Playfair inglés. Y sin embargo, ambos métodos de cifrado no fueron rotos por los alemanes hasta tres años después de iniciada la contienda. La razón de ello ya la hemos señalado: hasta 1916 el ejército alemán no creó su oficina de criptoanálisis, la Abhorchdienst. Desde ese momento, la anterior cifra francesa y el Playfair inglés tenían los días contados.

Mientras tanto, el frente occidental había entrado en una fase estática. Los dos ejércitos contendientes se encontraban encerrados en dos enormes líneas de trincheras que iban desde el mar del Norte hasta la frontera suiza. Con los ejércitos inmovilizados en sus refugios subterráneos, el teléfono se convirtió en el medio ideal para establecer comunicación. Pero en el frente, los cables telefónicos estaban intervenidos por el enemigo. Los ingleses lo constataron en la feroz batalla de Ovillers-la-Boiselle (julio, 1916), en la que sufrieron miles de bajas para poder tomar una colina defendida por una guarnición alemana poco numerosa. Cuando por fin lo consiguieron, encontraron en las trincheras alemanas una trascripción completa de su plan de ataque. El mando inglés lo había transmitido en claro por una línea telefónica que los alemanes tenían interceptada. Como consecuencia de tales interceptaciones telefónicas, los aliados se vieron en la

Page 112: Libro criptografia

6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

104

necesidad de cifrar sus conversaciones. Para este menester recurrieron a unos códigos especiales que se llamaron códigos de trinchera.

Eran pequeños cuadernos que contenían unos pocos cientos de palabras codificadas con dos o tres letras. Tales palabras eran aquellos vocablos de uso frecuente en comunicaciones militares y cuyo significado era esencial para el entendimiento del mensaje. Estaban agrupados por categorías como infantería, artillería, números, lugares, verbos, etc. Cuando una orden militar se cursaba por teléfono, las palabras clave debían ser sustituidas por su correspondiente código para hacer incomprensible el mensaje al enemigo. Naturalmente, el problema que presentaba el uso de estos códigos era que podían caer fácilmente en manos del enemigo, ya que estaban cerca de sus líneas. Por tal motivo, los códigos de trinchera se cambiaban muy frecuentemente. Los primeros fueron diseñados por los franceses a comienzos de 1916. Después de su terrible experiencia en la citada batalla de Ovillers-la-Boiselle, los británicos emplearon también los códigos de trinchera. Incluso los americanos hicieron uso de ellos cuando sus primeras unidades llegaron a Europa a finales de 1917.

No obstante, los códigos de trinchera sólo servían para lo que habían sido diseñados. No eran útiles en las comunicaciones radiotelegrafiadas que el alto mando en la retaguardia empleaba con sus divisiones en el frente. En esta tarea, los aliados, después de constatar que la Abhorchdienst había roto sus cifras, emplearon a partir de 1916 códigos con un repertorio de varios miles de palabras. Y para mayor seguridad, los aliados sometían el código resultante a un cifrado posterior. Aún así, el servicio de interceptación germano penetró en numerosas ocasiones en tales comunicaciones. Los libros de códigos estaban demasiado cerca del enemigo y era difícil que no cayesen en su poder. De nuevo era obligado cambiar estos códigos lo más frecuentemente posible. En esta tarea, los americanos eran los más diligentes. Cambiaban sus códigos cada mes. Y ya al final de la guerra utilizaron un código que no necesitaba ser escrito en ningún libro: el lenguaje nativo de los indios Choctaw que formaban parte del ejército americano en Europa. Aunque ello no obedeció a una estrategia criptográfica premeditada, sino que fue algo improvisado. En cierta ocasión, un oficial americano en el frente necesitó comunicar urgente y secretamente con su alto mando. Sabiendo que sus códigos estaban en poder de los alemanes, se le ocurrió poner al teléfono a un Choctaw de su unidad y a otro de estos indios que servía en el puesto de mando americano. La idea funcionó y fue repetida en varias ocasiones. Hay que reconocer que emplear una lengua que nadie conoce en el bando enemigo es un modo muy efectivo de mantener comunicación segura, pero únicamente hasta el momento en el que uno de los hablantes de ese extraño idioma sea hecho prisionero. Los americanos volverían a utilizar a sus soldados aborígenes para este fin en la Segunda Guerra Mundial, en su lucha con los japoneses. En esta ocasión emplearían a los indios Navajos.

A comienzos de 1918, Alemania comprendió que si quería ganar la guerra debería hacerlo de forma inmediata. Aunque sus submarinos habían fracasado en el intento de aislar a Inglaterra y Estados Unidos le había declarado la guerra, el desmoronamiento ruso había liberado decenas de divisiones del frente Este y por vez primera Alemania disponía en el Oeste de más soldados que los aliados. Pero esta superioridad iba a durar poco, el tiempo que tardasen los americanos en reunir un gran contingente de tropas en

Page 113: Libro criptografia

6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

105

Europa. Además, los alemanes sabían que podían contar con el factor sorpresa. Los aliados nunca imaginarían que estuviesen planeando lanzar un ataque en la primavera. A primeros de marzo, el jefe del estado mayor germano, Erich von Ludendorff, había preparado en secreto una gran ofensiva.

Era evidente que el factor sorpresa se vendría abajo si los aliados interceptaban las comunicaciones alemanas previas al gran ataque. Para evitarlo, el mando alemán renunció al empleo de códigos y se decidió por las cifras de campo. Esta vez se escogió una nueva, elegida entre varias candidatas. Una que los criptoanalistas de la Abhorchdienst no pudieron romper. De hecho, estudios posteriores han demostrado que fue la cifra de campo más segura empleada en la primera guerra mundial. La llamaron GEDEFU 18 (GEheimschrift DEr FUnker 18: cifra de radiotelegrafistas 18), aunque a pasado a la historia de la Criptografía con el nombre de cifrado ADFGX. Fue diseñada por el coronel Fritz Nebel.

Nebel recuperó la idea del antiguo griego Polibios de representar las letras del alfabeto por un par de coordenadas. Así, en el cifrado ADFGX se comienza disponiendo las letras en un cuadrado de 25 casillas según el orden que determine la clave. Pero ahora, las cinco filas y columnas de este cuadrado no van numeradas del 1 al 5; sino que en su lugar Nebel empleó las letras A, D, F, G y X. Un ejemplo de tal configuración puede ser el siguiente:

A D F G X

A f r i t z D n e b l a F c d g h k G m o p q s X u v w x y

Tabla 6.1 Ejemplo de cifrado ADFGX.

En este ejemplo, la letra ‘A’ tiene coordenadas DX. La razón de utilizar las letras A, D, F, G y X en lugar de los números de 1 al 5 tiene que ver con la transmisión en código Morse. En este código, la representación de los números es parecida; pero la de las letras anteriores es suficientemente distinta y permite corregir los errores en la transmisión. El código Morse de tales letras se muestra a continuación:

A: ▪ ▬ D: ▬ ▪ ▪ F: ▪ ▪ ▬ G: ▬ ▬ ▪ X: ▬ ▪ ▪ ▬

Para cifrar, cada letra del texto en claro se sustituye por su par de coordenadas. Por ejemplo, usando la Tabla 6.1, el texto en claro ‘SE NECESITAN MUNICIONES’ se transformaría en esta otra secuencia de A, D, F, G, X:

Page 114: Libro criptografia

6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

106

S E N E C E S I T A N M U N I C I O N E S

↓ GX DD DA DD FA DD GX AF AG DX DA GA XA DA AF FA AF GD DA DD GX

Pero la secuencia obtenida no es el texto cifrado. Antes hay que someterla a una transposición de columnas con otra clave. Hagámoslo con la clave ‘LUDENDORFF’, por ejemplo. Primero formamos el correspondiente rectángulo:

L U D E N D O R F F 6 10 1 3 7 2 8 9 4 5

G X D D D A D D F A

D D G X A F A G D X

D A G A X A D A A F

F A A F G D D A D D

G X

A continuación colocamos secuencialmente las columnas en el orden que determina la clave:

DGGA AFAD DXAF FDAD AXFD GDDFG DAXG DADD DGAA XDAAX

Y este es ya el texto cifrado. Naturalmente, sin los espacios en blanco colocados de ese modo; ya que ello facilita su criptoanálisis. Nosotros los hemos colocado así para que se observen las columnas.

Los alemanes empezaron a radiotelegrafiar usando el cifrado ADFGX el 5 de marzo de 1918. Muy sorprendido se debió quedar el coronel François Cartier, jefe de le Bureau du Chiffre, cuando le llegaron los primeros criptogramas interceptados. Estaba ante un nuevo método de cifrado, uno que no se parecía en nada a los anteriores. Decidió que lo mejor era enviar los criptogramas a la mesa de su mejor criptoanalista.

Este era Georges Painvin, entonces capitán de artillería. Painvin no era militar de profesión, ni había tenido contacto con la Criptografía antes de la guerra. Era profesor de Paleontología, primero en la Escuela de Minas de Saint Etienne y después en la de París. Fue la amistad con el oficial encargado de las cifras en el regimiento de artillería en el que prestaba servicio lo que despertó su interés por la Criptografía. En poco tiempo encontró una simplificación en el método francés para romper el sistema ABC alemán. Esto le llevó a le Bureau du Chiffre.

La presencia de exactamente cinco letras distintas en los criptogramas llevó a Painvin a la conclusión de que se trataba de un cifrado tomográfico en el que cada letra del alfabeto en claro se debía reemplazar por una de las 25 parejas que pueden formarse

Page 115: Libro criptografia

6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

107

con las cinco letras distintas. Lo primero era averiguar si el cifrado consistía en una simple sustitución. Un análisis de frecuencias de los pares de letras permitió a Painvin descartar esta suposición. Después de la sustitución tomográfica el texto resultante se cifraba de algún otro modo. Seguramente, mediante una transposición o un sencillo cifrado polialfabético como, por ejemplo, el de Vigenère. Contempló varias posibilidades, pero no halló evidencia de cual era la correcta. Tras varios días de agotador trabajo, la única nueva conclusión que obtuvo fue que los alemanes cambiaban diariamente la clave. Así lo indicaban las frecuencias de las letras.

El 21 de marzo comenzó la gran ofensiva alemana. Tras horas de terrible fuego de artillería, 62 divisiones alemanas desbordaron las líneas aliadas. Franceses y británicos tuvieron que replegarse a poco más de 100 kilómetros de París donde lograron contener a la infantería germana. Como era lógico, la ofensiva alemana vino acompañada de un aumento considerable en el tráfico de mensajes. Ahora Painvin disponía de grandes cantidades de texto cifrado, pero de poca ayuda le sirvió.

Hasta que Painvin fijó su atención en los siguientes dos mensajes recibidos el 4 de abril, con trece minutos de diferencia entre ellos. Los hemos recogido del libro ya citado de Kahn “The Codebreakers”:

Mensaje 1: ADXDA XGFXG DAXXGX GDADFF GXDAG AGFFFD XGDDGA DFADG AAFFGX DDDXD DGXAXA DXFFD DXFAG XGGAGA GFGFF AGXXDD AGGFD AADXFX ADFGXD AAXAG

Mensaje 2: ADXDD XGFFD DAXAGD GDGXD GXDFG AGAAXD XGGAD DFADG AAFFF DDDFF DGDGF DXXXA DXFDA XGGAGF GFGXX AGXXA AGGAX AADAFF ADFFG AAFFA

Painvin observó que cada cinco o seis letras había siempre dos o más coincidentes (hemos subrayado todos esos pares repetidos de letras en uno y otro mensaje). Es lo que sucede cuando ciframos mediante una transposición de columnas dos textos con una misma cabecera. Al formar con los textos el rectángulo correspondiente y después escribir secuencialmente las columnas, la coincidencia de los mensajes se traslada a las primeras letras de las columnas. En consecuencia, Painvin acababa de descubrir el método de cifrado que seguía a la sustitución tomográfica: una transposición de columnas. Más aún, gracias a las repeticiones pueden determinarse las columnas en cada texto (las hemos separado insertando espacio en blanco entre ellas). En particular, como en ambos hay 20 columnas, esa debía ser la longitud de la clave que gobernaba la transposición ese día 4 de abril.

Painvin ya tenía identificadas las columnas en los dos mensajes. Esta es la parte más difícil del criptoanálisis de una transposición de columnas. Lo que sigue después, colocar las columnas en su orden correcto, es fácil si se hace uso de los bigramas y trigramas más frecuentes del idioma empleado. Sin embargo, aquí la sustitución tomográfica previa imposibilita esta técnica. Pero Painvin no se dio por vencido. Se fijó en el número de letras de los mensajes. El primero contiene 110 letras que hay que

Page 116: Libro criptografia

6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

108

repartir entre 20 columnas. Ello obliga a que diez de estas columnas contengan seis letras y otras diez tengan cinco letras. Del mismo modo, al tener el segundo mensaje 104 letras, en él tiene que haber cuatro columnas de 6 seis letras y dieciséis de cinco. Las columnas con más letras son las situadas a la izquierda en el rectángulo que ha de formarse para efectuar la transposición. Sus números son entonces los primeros en el orden que determina la clave. En consecuencia, las cuatro columnas que en ambos mensajes tienen seis letras deben ocupar las cuatro primeras posiciones del rectángulo. Estas son las columnas que en los mensajes ocupan las posiciones 3, 6, 14 y 18. Por tanto, éstos son los cuatro primeros números de la clave, aunque no en ese orden necesariamente. Las columnas con seis letras en el primer mensaje pero cinco en el segundo deben seguir a las cuatro anteriores. Son las siguientes: 4, 7, 9, 11, 16 y 19. Y, finalmente, las restantes diez columnas deben situarse a la derecha del rectángulo. Painvin ya tenía una primera aproximación al orden de las columnas determinado por la clave.

Pero esa era toda la información que podía extraerse de los dos mensajes con igual cabecera, insuficiente para recuperar la clave. Por fortuna, entre los demás mensajes interceptados ese mismo día, también había dos de ellos con un final común. De nuevo esta coincidencia permitía identificar sus columnas. Un razonamiento similar al anterior llevó a Painvin a la conclusión que las columnas 5 y 8 eran adyacentes y ocupaban las posiciones 11 y 12 del rectángulo, aunque no podía deducirse si en el orden 5-8 ó en orden 8-5. También se deducía que las columnas 12 y 20 se situaban en los lugares 19 y 20 del rectángulo, pero tampoco podía precisarse el orden.

No concluyó aquí el genio y la paciencia del criptoanalista francés. Consideró el resto de los mensajes del mismo día y en cada uno de ellos localizó las columnas 5 y 8. Puso una a continuación de la otra y formó pares de letras. Obtuvo así un número importante de ellos y efectuó un análisis de frecuencias. Estas frecuencias eran similares a las de las letras en alemán, siendo el par más frecuente el ‘GD’. Sin duda, la coincidencia de frecuencias confirmaba que Painvin iba por el camino correcto. A continuación repitió el proceso anterior con las columnas 19 y 20. Obtuvo resultados similares pero con los pares invertidos. Así, ahora el par más frecuente era el ‘DG’. Painvin comprendió entonces que como la longitud de la clave era par, dos claves distintas daban lugar al mismo cifrado. Fijada una de ellas, la otra se obtiene cambiando filas por columnas en el cuadrado 5×5 que determina la sustitución tomográfica de la primera fase del cifrado, y después reemplazando las letras en lugar impar por sus consecutivas par en la clave que rige la transposición de columnas. Bastaba con recuperar una de ellas. Por ejemplo, la que situaba las columnas 5 y 8 en ese mismo orden 5-8. En esta clave, el orden correcto de las columnas 12 y 20 era 20-12.

Painvin no sólo tenía ya el orden exacto de cuatro de las veinte columnas que se transponían, sino las casillas del cuadrado 5×5 que correspondían a las letras más frecuentes en alemán. Por ejemplo, como la letra más común en alemán es, con diferencia, la ‘e’, esta letra debe ocupar la casilla correspondiente al par ‘GD’, el más frecuente. Así, la ‘e’ debe figurar en la fila de la ‘G’ y en la columna de la ‘D’:

Page 117: Libro criptografia

6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

109

A D F G X

A D F G e X

El análisis de frecuencias que Painvin efectuó con las columnas 5, 8, 12 y 20 le hizo notar que las columnas situadas en lugares impares presentaban frecuencias similares de cada una de las letras A, D, F, G y X; pero diferentes de las columnas que se colocaban en un lugar par. Esta observación permitía descubrir la paridad del resto de las columnas. Hecho esto, el paso siguiente fue emparejar cada columna impar con su consecutiva par. Ello ya no es difícil. Por ejemplo, como las columnas 3, 6, 14 y 18 van a la izquierda del rectángulo, la pareja de la columna 3 debe ser una de las otras dos con paridad distinta. Las frecuencias de los pares de letras que resultan en cada una de las dos asociaciones candidatas determinarán cual es la correcta: aquella que más se parezca a la distribución de frecuencias del alemán. La parte difícil del criptoanálisis ya estaba hecha. El resto era sólo cuestión de paciencia y tiempo. Y por fin, el 26 de abril, Painvin concluyó este criptoanálisis que había iniciado tres semanas antes.

Posiblemente el significado de los mensajes que ahora se revelaban era ya de poca utilidad a los aliados, pero el esfuerzo de Painvin daría sus frutos los próximos días. En le Bureau du Chiffre ya sabían como recuperar una clave ADFGX cuando hubiese dos mensajes cifrados con ella con una misma cabecera. Varias personas trabajando en ello al mismo tiempo reducirían las tres semanas que empleó Painvin a unas pocas horas.

De repente, el 1 de junio los mensajes ADFGX incorporaron una sexta letra, la ‘V’. Los alemanes ampliaron el cuadrado 5×5 a otro 6×6 para incluir los dígitos del 0 al 9. Naturalmente, no se lo comunicaron a Painvin; pero fue lo primero que sospechó el criptoanalista francés. Al día siguiente ya estaba seguro de su conjetura y había descifrado los mensajes encriptados con el nuevo sistema.

Entre los criptogramas que el cuartel general alemán radiotelegrafió ese mismo día 1 de junio figuraban los dos siguientes. Uno con 106 letras y el otro con 108:

Mensaje 1: GAFFA FVAAG AVFGX XVFXD XXXAA VXVDXF ADFDF AXADD GGAXX XGXVG DFXVA XGFVA AXFGX FXVDA ADXXX DAXAA GAXVA FDGGX FGGGF DAAXD XAGXF

Mensaje 2: GGAXX VXXAA AXADD XAGXF DAXAA XDAAXD VXVDXF XGFVA XGXVG FVAAG FGGGF GAFFA ADXXX GAXVA FXVDA VFDGGX VDFDF DFXVA XVFXD AVFGX AXFGX

Painvin notó que había numerosos bloques de letras que eran comunes a ambos textos pero en posiciones distintas, la mayoría de cinco letras (hemos subrayado dos de dichos bloques, uno de cinco letras y otro de cuatro). Haciendo coincidir los trozos

Page 118: Libro criptografia

6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

110

iguales, Painvin observó que los dos mensajes quedaban divididos en 21 partes (las hemos separado insertando espacio en blanco en los mensajes anteriores). Como puede observarse, todas las partes del primer criptograma tienen cinco letras excepto la que ocupa la sexta posición, que tiene seis. En el segundo texto hay tres trozos de seis letras, los situados en los lugares 6, 7 y 16. El resto es de cinco letras. Estos 21 bloques en que hemos dividido los mensajes son precisamente las columnas de la transposición a la que han sido sometidos. La coincidencia de las columnas es debida a que los textos en claro son casi idénticos, sólo se diferencian en unas pocas letras en su inicio.

Descubierta la longitud de la clave utilizada en la transposición, el paso siguiente que dio Painvin fue obtenerla. La siguiente argumentación le condujo a ella. Puesto que el único trozo de seis letras en el primer criptograma es el sexto, debe ser la primera columna del rectángulo. Por tanto, el primer número de la clave es el 6. El segundo criptograma tiene dos letras más que el primero. Luego las letras que en el primer mensaje ocupan una determinada columna se trasladan dos columnas a la derecha en el segundo mensaje. El sexto bloque del primer texto coincide con el séptimo en el segundo texto. En consecuencia, el tercer número de la clave es el 7. El séptimo bloque del primer mensaje y el decimoséptimo del segundo coinciden en sus cuatro últimas letras, luego 17 es el quinto número de la clave. Y así se obtienen los números de la clave situados en una posición impar. Pero el mismo razonamiento permite descubrir también los números de los lugares pares: Las letras que en el primer mensaje ocupan la última columna van a parar a la segunda columna en el segundo mensaje. Puesto que la última columna tiene asociada el número 18 de la clave y el trozo decimoctavo de primer criptograma coincide con las cinco últimas letras del decimosexto del segundo, entonces 16 es el segundo número de la clave. Y continuando con el argumento se recuperan los demás números de los lugares pares. De este modo, Painvin completó la clave que regía la transposición de columnas: 6, 16, 7, 5, 17, 2, 14, 10, 15, 9, 13, 1, 21, 12, 4, 9, 19, 3, 11, 20, 18.

El próximo objetivo era descubrir el cuadrado 6×6 que constituía la clave de la sustitución tomográfica. Era ya fácil. Sólo había que deshacer la transposición de columnas en los mensajes de ese día 1 de junio, dividirlos en pares de letras A, D, F, G, V, X y efectuar un análisis de frecuencias con ellos. Esta tarea la concluyó Painvin el día siguiente. El cuadrado 6×6 era el que se muestra a continuación:

A D F G V X

A c o 8 x f 4 D m k 3 a z 9 F n w l 0 j d G 5 s i y h u V p 1 v b 6 r X e q 7 t 2 g

El texto en claro del primer criptograma era el siguiente:

“14 ID XX Gen Kdo ersucht vordere linie sofort drahten XX Gen Kdo 7.”

Page 119: Libro criptografia

6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

111

En este mensaje, el cuartel general alemán requería a la división de infantería nº 14 un informe urgente sobre la situación en el frente. El segundo de los textos en claro coincidía casi exactamente con el primero. La única diferencia era que comenzaba por 216 ID, ya que iba dirigido a la división nº 216. Una redacción diferente en el segundo texto habría hecho imposible el criptoanálisis de Painvin.

En verdad, no parece que el contenido del par de mensajes previos hubiera sido de interés para la estrategia militar francesa, pero sí que lo fue el de otros mensajes que pudieron descifrarse con la clave descubierta. En aquella fecha, el ejército alemán estaba a unos 60 kilómetros de París y su artillería de largo alcance bombardeaba sin cesar la capital francesa. Era inminente un próximo ataque germano que, de triunfar, pondría París a sus pies. Los mensajes descifrados revelaron que dicho ataque iba a tener lugar sobre la línea francesa entre Montdidier y Compiègne. En efecto, el 9 de junio quince divisiones alemanas se lanzaron sobre un ejército francés que estaba prevenido. Fueron aniquiladas.

Muy pocas veces más contaron los aliados con la ventaja que da el conocer los planes del enemigo. De hecho, los franceses sólo recuperaron diez claves ADFGVX alemanas durante la guerra, cuando eran posibles las técnicas que aquí hemos presentado. Painvin no logró encontrar una solución general para esta cifra alemana. Después de la contienda, Painvin volvió a sus clases de Paleontología y terminó dedicándose al mundo de los negocios. Nunca más tuvo contacto alguno con la Criptografía. No obstante, el cifrado ADFGVX continuó siendo objeto de estudios posteriores.

La primera guerra mundial marcó un punto de inflexión en la historia de la Criptografía Militar. Antes de ella, únicamente el ejército francés contaba con oficiales formados en códigos y cifras. Después de la guerra, todos los ejércitos crearon unidades especializadas en Criptografía. Por otra parte, en la lucha que mantuvieron diseñadores de cifras y códigos con sus adversarios criptoanalistas, es clara la victoria de estos últimos. A pesar de la variedad de códigos y cifras que se emplearon, el triunfo de los criptoanalistas fue contundente. Y eso que la mayoría de ellos eran ajenos a la Criptografía antes de la guerra. Claro, que contaron con un par de ayudas inestimables. La primera: la gran cantidad de texto cifrado que proveían las interceptaciones del telégrafo y, sobre todo, la radio. La segunda, más importante: la falta de una seria instrucción criptográfica en las personas que manejaban la información encriptada.

Pero a pesar de tan humillante derrota, no se desanimaron los creadores de cifras. Pronto volverían a la lucha. Esta vez armados no sólo con lápiz y papel, sino con máquinas electromecánicas. Pero antes demos paso al álgebra, que quiere poner un poco de orden en esta pacífica batalla.

Page 120: Libro criptografia
Page 121: Libro criptografia

113

7

ÁLGEBRA Y CRIPTOGRAFÍA

En 1929, la revista “American Mathematical Monthly” publicaba un artículo de siete páginas con el título “Cryptography in an Algebraic Alphabet”. Su autor, Lester S. Hill, ideaba un criptosistema en el que los procesos de cifrado y descifrado se describían mediante ecuaciones algebraicas. Era la primera vez que a alguien se le ocurría algo semejante. En realidad, el cifrado que se proponía era mucho menos seguro y práctico que los que ya se utilizaban en aquellos días, cuyo diseño no requería emplear herramienta matemática alguna; pero gracias al trabajo de Hill el Álgebra hizo su entrada en el mundo de la Criptografía. Y una vez dentro, ha ido ocupando poco a poco un espacio cada vez más amplio, hasta el punto que toda la Criptografía actual se formula en términos algebraicos. El presente capítulo trata de explicar aquellas ideas de Hill que abren la puerta de la Criptografía moderna.

Comencemos considerando una ecuación algebraica como la siguiente: y = 5x + 11, donde x e y son indeterminadas. Si cambiamos la x por un número cualquiera, entonces la y toma el valor que proporciona el resultado obtenido tras las operaciones. Por ejemplo, si x = 2, entonces y = 5·2 + 11 = 21; si x = 18, y = 101. En consecuencia, podemos ver la ecuación anterior como una regla que transforma un número x en otro y. Imaginemos ahora que disponemos de una “suma” y un “producto” en un alfabeto; que dadas dos de sus letras, las podemos sumar o multiplicar y obtener una tercera letra. Entonces podemos considerar ecuaciones similares a la anterior, donde ahora los coeficientes son letras del alfabeto en lugar de números. Por ejemplo: y = T·x + B . Estas ecuaciones proporcionan reglas para transformar unas letras en otras y, en consecuencia, pueden ser la base de una forma de cifrado. Desarrollemos esta idea.

Definamos en primer lugar una suma y un producto entre las letras de un alfabeto. Una manera de hacerlo puede ser a través de la suma y producto de números enteros, operaciones fáciles de realizar. Para concretar, consideremos nuestro alfabeto español de 27 letras. Identificamos sus letras con los números comprendidos entre 0 y 26, asociando a cada letra un entero diferente. Por ejemplo, el que indica el orden que ocupa la letra en el alfabeto, empezando a contar desde el 0. La siguiente Tabla 7.1 muestra esta identificación:

Page 122: Libro criptografia

7. ÁGEBRA Y CRIPTOGRAFÍA

114

A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

Tabla 7.1. Identificación de letras y números.

Hecha esta asociación entre letras y números, la suma de letras se obtiene sumando los números correspondientes y sustituyendo después el resultado por la letra asociada. Naturalmente, puede ocurrir que la suma exceda a 26. En tal caso, 27 sería otra vez la A, 28 la B, 29 la C y así sucesivamente. Por tanto, bastará restar 27 a dicho resultado para obtener la letra suma. Los siguientes ejemplos aclaran esta definición:

F + J = Ñ (5 + 9 = 14) D + T = W (3 + 20 = 23) M + X = J (12 + 24 = 36 → 36 – 27 = 9)

De un modo similar se define la multiplicación de letras: multiplicando los números asociados, restando sucesivas veces 27 al producto hasta conseguir un número entre 0 y 26, y reemplazando este entero por la letra correspondiente. En este caso, como el resultado puede sobrepasar en mucho a 27, para evitar restar una y otra vez dicho número, se puede dividir entre 27 y tomar el resto. De nuevo los ejemplos resuelven cualquier duda sobre esta otra operación:

D·G = R (3·6 = 18) E·K = N (4·10 = 40 → 40 – 27 = 13) L·P = Ñ (11·16 = 176 = 6·27 + 14 → 14)

El lector con conocimientos en matemáticas habrá reconocido que hemos definido las operaciones anteriores recurriendo a la que en Álgebra se denomina aritmética modular. Habrá notado que en realidad las letras del alfabeto se han identificado con las clases de congruencia módulo 27 y que la suma y el producto de letras corresponden fielmente a la suma y producto de clases. Por otra parte, el lector que desconozca esta terminología puede perfectamente ignorarla. Tranquilamente puede operar con las letras como si fueran números, ya que las operaciones con letras que hemos definido antes presentan las mismas propiedades que sus homónimas con números enteros. Si lo desea, puede convencerse de ello comprobando igualdades como las siguientes:

M·Z = O = Z·M (Propiedad conmutativa) F·(J + L) = S = F·J + F·L (Propiedad distributiva)

Definidas ya una suma y un producto en nuestro alfabeto, podemos considerar ecuaciones similares a aquella de partida: y = 5x + 11; pero con letras en lugar de números. Por ejemplo, al sustituir los números por sus letras asociadas, esa misma ecuación adquiere el aspecto y = F·x + L; ya que el 5 se identifica con la F y el 11 con la L. Haciendo en esta ecuación x = C, entonces y = F·C + L = U (5·2 + 11 = 21); si x = R,

Page 123: Libro criptografia

7. ÁLGEBRA Y CRIPTOGRAFÍA

115

y = T. Como decíamos antes, tenemos una regla que cambia una letra x por otra y. Puede ser un método de cifrado que transforme un texto en claro en un criptograma:

Claro: A T A C A M O S A L A M A N E C E R0 20 0 2 0 12 15 19 0 11 0 12 0 13 4 2 4 18

↓ y=F·x+L (y=5x+11)

11 3 11 21 11 17 5 25 11 12 11 17 11 22 4 21 4 20 Cifrado: L D L U L Q F Y L M L Q L V E U E T

Ahora bien, para que esta transformación sea en efecto un modo de cifrar, ha de resolverse antes el siguiente problema: ¿cómo descifra el mensaje el receptor del mismo? Éste conoce la ecuación que ha producido el criptograma y cada una de sus letras, que son los valores que va tomando la indeterminada y; pero, ¿cómo recupera los de x, las letras del texto en claro? Tal vez despejando x en la ecuación que ha originado el criptograma:

F·x + L = y → F·x = y − L → x =F

L−y

No, no es tan sencillo. Hemos procedido como si de una ecuación con coeficientes numéricos se tratara y, dejándonos llevar por el hábito con estas ecuaciones, hemos recurrido a la resta primero y a la división después. No hemos analizado si están disponibles estas operaciones en nuestra aritmética de letras. Hay que despejar x con más cuidado.

En primer lugar, eliminar la L de la suma F·x + L requiere añadir a esta misma suma la opuesta de L. Este concepto se entenderá mejor si recordamos antes su homónimo para números enteros. El opuesto de un número es aquel que al sumar ambos resulta 0, el neutro para la suma. Como es bien sabido, el opuesto de un entero se obtiene cambiándole el signo. Sin embargo, las letras de nuestro alfabeto carecen de signo y no es tan inmediato obtener sus opuestas. Aunque tampoco es difícil. La letra que resulta neutra para la suma es la A, precisamente la que hemos identificado con el 0. Por tanto, la opuesta de una letra es aquella otra que al sumar ambas se obtiene A. Así, la opuesta de A es ella misma porque A+A = A; la de B es Z, ya que B+Z = A; la de C es Y porque C+Y = A; etcétera. La opuesta de L es P y con ella cancelamos L en la suma F·x + L:

F·x + L = y → F·x + L + P = y + P → F·x + A = y + P → F·x = y + P

Eliminar F en el producto F·x se consigue de un modo similar, pero operando ahora con su inversa. La inversa de una letra es aquella que al multiplicar ambas resulta la neutra para el producto; que es la letra B, la asociada al 1. Calcular inversas en esta aritmética de letras es más complicado que hallar opuestas. Sucede que no todas las letras tienen inversa. Por ello, siguiendo la terminología algebraica, denominaremos unidades a las letras que poseen inversa. Estas letras unidades se caracterizan por ser primo con 27 su número asociado (así se dice cuando el máximo común divisor de dos enteros es 1). Razonar esta caracterización de las unidades escapa al nivel de este texto y remitimos al

Page 124: Libro criptografia

7. ÁGEBRA Y CRIPTOGRAFÍA

116

lector interesado a los textos de Álgebra que tratan con la citada aritmética modular. La hemos incluido aquí porque permite determinar fácilmente qué letras son unidades: aquellas cuyo entero asociado no es múltiplo de 3, que es el único divisor primo de 27. Esta es entonces la lista de letras unidades:

Unidades: B, C, E, F, H, I, K, L, N, Ñ, P, Q, S, T, V, W, Y, Z.

Afortunadamente, entre estas letras está la F y, en consecuencia, posee inversa. El mejor modo de calcular la inversa de una letra es emplear un algoritmo que a tal efecto dispone la aritmética modular; pero de nuevo su compresión supera el nivel que aquí pretendemos. No importa, tampoco es imprescindible. Podemos obtener la inversa de una letra multiplicándola por cada una de las letras de la lista anterior hasta dar con ella. Como la lista no es muy amplia, no tardaremos más de unos minutos en calcular la inversa de cada letra. He aquí el resultado de los cálculos:

Unidad: B C E F H I K L N Ñ P Q S T V W Y Z Inversa: B Ñ H L E Q S F Y C V I K W P T N Z

Tabla 7.2. Unidades y sus inversas.

La inversa de la F es la L. Con ella despejamos completamente x:

F·x = y + P → L·F·x = L·(y + P) → B·x = L·y + L·P → x = L·y + Ñ

Con esta ecuación, el receptor puede ya descifrar el mensaje:

Cifrado: L D L U L Q F Y L M L Q L V E U E T11 3 11 21 11 17 5 25 11 12 11 17 11 22 4 21 4 20

↓ x=L·y+Ñ (x=11y+14)

0 20 0 2 0 12 15 19 0 11 0 12 0 13 4 2 4 18Claro: A T A C A M O S A L A M A N E C E R

Notemos que este modo de cifrar a partir de ecuaciones de la forma y=a·x+b responde a la noción de criptosistema. Las claves son los pares de letras (o sus equivalentes numéricos) formados por el coeficiente a y el término independiente b, con la condición que a sea una unidad para que el descifrado responda a una ecuación similar. En el ejemplo desarrollado antes, la clave es a=F y b=L. Algunas publicaciones utilizan el término criptosistema afín para referirse a este modo de cifrar.

En este criptosistema afín el número de claves es muy reducido. El coeficiente a puede tomar el valor de una de las 18 unidades del alfabeto, mientras que b puede ser cualquiera de las 27 letras. En total: 18·27 = 486 claves diferentes. Un número que permite el criptoanálisis comprobando una a una todas las claves posibles. Por otro lado, cada ecuación de la forma y=a·x+b, con a unidad, determina de hecho una sustitución de las letras del alfabeto y, en consecuencia, el criptosistema afín puede ser visto como un

Page 125: Libro criptografia

7. ÁLGEBRA Y CRIPTOGRAFÍA

117

“subcriptosistema” del cifrado por sustitución. Esto implica que el criptoanálisis basado en el análisis de frecuencias es también aplicable al criptosistema afín. Más aún, una combinación del análisis de frecuencias y la resolución de sistemas de ecuaciones puede permitir criptoanalizar textos muy reducidos. Veamos un ejemplo. Consideremos el siguiente criptograma, obtenido al cifrar un breve texto en español mediante cierta ecuación del tipo y=a·x+b:

HBCOB TTJIG IRTSH KTWGJ JCVIT TSFJT VCBCA HTCJH FYHAR GAHTI KTNYH CRYHI ATCKT CAGHT CJHAY GFRVN YHDGH SVKTY CH

Criptograma

En él, la letra más frecuente es la T, que aparece 14 veces; la siguiente en frecuencia es la H, con 13 apariciones; después la C, en 10 ocasiones; y a continuación vienen cuatro letras que se repiten 6 veces cada una. Aunque el texto es muy corto para que su distribución de frecuencias siga el patrón de frecuencias de nuestro idioma, es probable que dos de las tres letras anteriores sean las sustitutas de las vocales E y A, las letras más frecuentes en español. Hagamos la suposición que la E se transforma en la T y la A en la H. Entonces, si en la ecuación de descifrado x=c·y+d cambiamos y por T, x adquiere el valor E; y si sustituimos y por H, el nuevo valor de x es A. Ello permite plantear el siguiente sistema de dos ecuaciones y dos incógnitas c y d:

=+=+

AHET

d·cd·c

Para resolverlo procedemos como si de ecuaciones numéricas se tratara, empleando opuestas e inversas de letras. Imitando la notación numérica, a la opuesta de una letra la denotaremos con el signo “−” delante; y a la inversa situando el signo “–1” detrás de ella. También escribiremos T−H en lugar de T+(−H). Así, al emplear esta notación surge la resta de letras, que en realidad es la suma de una de ellas con la opuesta de otra. Despejemos ya c restando a la primera ecuación la segunda:

c·(T−H) = E−A → c·N = E → c = E·N–1 = E·Y = S

Nótese que para poder despejar c hemos necesitado utilizar N–1 (=Y), la inversa de N. Obtenida c, la otra incógnita d se obtiene despejándola en una de las dos ecuaciones de partida:

c·T + d = E → d = E−c·T = E−S·T = E−C = C

De este modo, la hipótesis que la E se transforma en la T y la A en la H ha conducido a un sistema de ecuaciones cuya resolución ha proporcionado la ecuación de descifrado x=S·y+C. Si la suposición anterior es correcta, esta ecuación permitirá el descifrado del criptograma. En otro caso, habrá que efectuar otras conjeturas con la procedencia de las letras T y H y resolver los correspondientes sistemas de ecuaciones,

Page 126: Libro criptografia

7. ÁGEBRA Y CRIPTOGRAFÍA

118

hasta dar con la ecuación de descifrado correcta. No será necesario resolver muchos de ellos.

La seguridad del criptosistema afín se aumenta ampliamente si en lugar de partir de una ecuación del tipo y=a·x+b, lo hacemos de un sistema con varias ecuaciones y varias indeterminadas x e y; tal y como hizo Hill en su publicación. Por ejemplo, consideremos el siguiente sistema de cuatro ecuaciones, cuatro indeterminadas x y otras tantas y:

y1 = C·x1 + D·x2 + B·x3 + B·x4

y2 = B·x1 + F·x2 + B·x3 + E·x4

y3 = G·x1 + D·x2 + H·x3 + F·x4

y4 = L·x1 + B·x2 + F·x3 + D·x4

Si en este sistema cambiamos las x por letras, entonces las y toman el valor que proporciona el resultado de efectuar las operaciones indicadas en cada ecuación. Por ejemplo, cambiemos x1 por A, x2 por T, x3 por A, x4 por C y hagamos operaciones según nuestra aritmética de letras:

y1 = C·A + D·T + B·A + B·C = I (2·0+3·20+1·0+1·2=62→ 8) y2 = B·A + F·T + B·A + E·C = A (1·0+5·20+1·0+4·2=108→ 0) y3 = G·A + D·T + H·A + F·C = P (6·0+3·20+7·0+5·2=70→ 16) y4 = L·A + B·T + F·A + D·C = Z (11·0+1·20+5·0+3·2=26)

Obtenemos entonces las cuatro letras I, A, P y Z. Estamos ahora ante una regla que transforma una cuaterna de letras en otra y que puede dar lugar a un método de cifrado. Del tipo poligráfico, ya que antes de cifrar hay que dividir el texto en claro en bloques de cuatro letras:

Claro: A T A C A M O S A L A M A N E C E R X X

↓ ↓ ↓ ↓ ↓ Cifrado: I A P Z P P T J R V M T R W W M C Y O L

(Nótese que hemos añadido dos letras nulas al final del texto en claro para aumentar el número de sus letras a un múltiplo de cuatro y poder así dividirlo en trozos de cuatro letras cada uno.)

De nuevo se presenta el mismo problema que antes: ¿cómo descifra el mensaje el receptor del mismo? La solución también es idéntica: despejando las indeterminadas x en el sistema de ecuaciones que ha producido el criptograma. Ello puede hacerse despejando sucesivamente una incógnita en una ecuación y sustituirla en las restantes; pero este proceso es largo y tedioso con la aritmética de letras. Más cómodo resulta recurrir al cálculo matricial, que esperemos no sea del todo desconocido por el lector. Para ello, escribamos el anterior sistema de ecuaciones en forma matricial:

Page 127: Libro criptografia

7. ÁLGEBRA Y CRIPTOGRAFÍA

119

=

4

3

2

1

4

3

2

1

DFBLFHDGEBFBBBDC

xxxx

yyyy

Llamando Y a la matriz de las indeterminadas y, X a la de las x y M a la matriz de letras, la igualdad anterior se abrevia Y = M·X. Despejar X en esta igualdad requiere multiplicar ambos miembros por M–1, la inversa de la matriz M; y hacerlo por la izquierda, ya que el producto de matrices no es conmutativo:

M·X = Y → M–1·M·X = M–1·Y → I·X = M–1·Y → X = M–1·Y

(Como es habitual en el cálculo matricial, la letra I denota a la matriz identidad, la neutra para el producto.) Pero claro, para que la manipulación algebraica anterior sea válida debe existir M– 1. Es lo que verificamos a continuación.

El lector que haya manejado matrices antes sabe que no todas poseen inversa, y tiene ya en mente la regla que dice que las matrices con inversa son aquellas que su determinante es distinto de cero. En nuestra aritmética de letras, esta regla adquiere la forma siguiente: una matriz (cuadrada) posee inversa si y sólo si su determinante es una unidad. El cálculo del determinante de M puede efectuarse directamente con la aritmética de letras, haciendo uso de las propiedades de los determinantes. Otra posibilidad es considerar la matriz numérica que se obtiene al sustituir cada una de las letras de M por su equivalente numérico, hallar su determinante empleando la aritmética habitual y reemplazarlo por la letra correspondiente. Quien no esté familiarizado con la aritmética modular preferirá esta segunda opción:

346

35111573641511132

DFBLFHDGEBFBBBDC

=→

El determinante numérico es entonces 346. Al dividirlo entre 27 resulta un resto de 22, que corresponde con la letra V. Por consiguiente: |M| = V y como esta letra es una unidad (su inversa es P), entonces existe M– 1.

Hallémosla. La manera más rápida es hacerlo directamente con la aritmética de letras y empleando el conocido método de Gauss, que puede adaptarse a esta singular aritmética. También es posible el cómputo de M–1 sin usar esta adaptación, obteniendo antes la inversa de la matriz numérica asociada y escribiendo sus elementos como fracciones cuyo denominador común es |M| = 346:

Page 128: Libro criptografia

7. ÁGEBRA Y CRIPTOGRAFÍA

120

−−−−−−−

=

34634

34612

346130

346216

34656

34691

34692

34681

34626

3461

34618

346155

34650

34638

3468

34681

35111573641511132

A continuación se calcula la letra que corresponde a cada una de estas fracciones: se cambian los números por los restos de la división entre 27, se sustituyen éstos por las letras asociadas y se realizan operaciones, teniendo en cuenta que dividir no es sino multiplicar por la inversa. Por ejemplo:

( ) T20128168I·PI·VVI

228

3468 1- =→====→→ ·

( ) N132561616P·PL·VVL

2211

34638 1- =→===−=−→−→− ·

Las letras obtenidas componen la matriz inversa:

=−

EXBAVYNAPLJWQNTT

1M

Y calculada esta matriz, el receptor del mensaje puede descifrar el mismo a partir de la ecuación matricial X = M–1·Y:

Cifrado: I A P Z P P T J R V M T R W W M C Y O L

↓ X = M–1·Y

Claro: A T A C A M O S A L A M A N E C E R X X

Este modo de cifrar a partir de ecuaciones matriciales de la forma Y = M ·X es el criptosistema de Hill que mencionamos al comienzo del capítulo. La clave es la matriz M, que debe ser cuadrada y regular (así se llaman las matrices que tienen inversa). En nuestro ejemplo, la matriz M empleada es de tamaño 4×4, con 4 filas y 4 columnas; pero perfectamente pueden considerarse matrices con cualquier otra dimensión. No obstante, manejando sólo matrices regulares 4×4, el número de claves es ya enorme. Puede demostrarse que, con nuestro alfabeto español, el número de tales matrices se eleva a 44956345164157176721920. Y como este número representa un poco más de la mitad del total de matrices 4×4 (exactamente: el 56,36%), la búsqueda de matrices regulares puede hacerse de modo aleatorio: eligiendo unas pocas al azar, muy probablemente alguna de ellas es regular y puede emplearse como clave. No obstante, no es necesario recurrir al azar para encontrar tales matrices: el álgebra matricial dispone de sencillos métodos que

Page 129: Libro criptografia

7. ÁLGEBRA Y CRIPTOGRAFÍA

121

permiten obtener amplias colecciones matrices regulares y sus inversas, del tamaño que se desee. Con ellos, la generación de claves en este criptosistema no constituye ningún problema.

Resulta curioso notar que al emplear como clave matrices cuyas filas y columnas son nulas a excepción de un único elemento que es un 1, el cifrado resultante es una transposición regular (véase el Capítulo 5). Por ejemplo, de este tipo es la matriz 5×5 que figura en la siguiente ecuación matricial:

=

5

4

3

2

1

5

4

3

2

1

·

0000110000001000100000010

xxxxx

yyyyy

Esta ecuación transforma la palabra de 5 letras ‘CLAVE’ en ‘LVAEC’ y, en general, reordena las letras de un pentagrama en el orden 2ª, 4ª, 3ª, 5ª y 1ª. Por tanto, el cifrado resultante es una transposición regular de periodo 5. Recíprocamente, cualquier transposición regular de periodo n puede describirse mediante una ecuación matricial en la que interviene una matriz n×n con unos y ceros. Naturalmente, no es aconsejable recurrir al cálculo matricial para manejar transposiciones.

Como ya hemos señalado antes, el criptosistema de Hill responde al modelo de los cifrados poligráficos: si la matriz empleada como clave es dimensión n×n, se divide el texto en claro en trozos de longitud n y cada uno de ellos se cifra de manera diferente. En consecuencia, el criptoanálisis a partir de texto cifrado únicamente es muy complicado si n es al menos 4. Sólo sería posible si en los criptogramas aparecen trozos repetidos de longitud n y corresponden con los de alguna palabra probable que ha sido identificada. Algo muy difícil de observar para valores altos de n. No obstante, la clave en el criptosistema de Hill está comprometida si se dispone de un pequeño fragmento de texto en claro y su correspondiente cifrado. Para mostrarlo, consideremos el siguiente criptograma

HAHPT ÑMDDZ JGQGE TDOBF YAGÑL DKNTG EZPVR HUMPX IJFPI QRJOV BZIIG FÑVVN BZÑHU KFP

Criptograma.

Sabemos que ha sido originado con el criptosistema de Hill cifrando cierto texto que comienza así: “EN NOMBRE DE LA REINA...”. Esta información va a ser suficiente para obtener la matriz M que constituye la clave. O mejor aún, su inversa M–1 que permite el descifrado.

En primer lugar, examinemos cuál puede ser el tamaño n×n de estas matrices. Puesto que el criptograma es la concatenación de bloques de n letras, su longitud total ha

Page 130: Libro criptografia

7. ÁGEBRA Y CRIPTOGRAFÍA

122

de ser un múltiplo de este entero n. Dado que tal longitud es 68 y sus divisores son 2, 4 y 17, éstos son los valores posibles de n. Y como emplear matrices 2×2 no es muy seguro y las de tamaño 17×17 son poco manejables, contemplaremos como primera opción de n el valor 4. Entonces, dividiendo el fragmento de texto en claro y su correspondiente cifrado en tetragramas, tenemos el siguiente esquema de descifrado:

Cifrado: H A H P T Ñ M D D Z J G Q G E T D . . .

↓ ↓ ↓ ↓

Claro: E N N O M B R E D E L A R E I N A . . .

Consideremos la ecuación que suponemos produce tal descifrado: X = M–1·Y. Si en esta ecuación cambiamos Y por uno de los tetragramas en que se ha dividido el texto cifrado, la matriz X debe tomar el valor del correspondiente tetragrama de texto en claro. Gracias al conocimiento del fragmento de texto en claro, podemos plantear las siguientes cuatro ecuaciones matriciales:

=

=

=

=

−−−−

TEGQ

NIER

GJZD

ALED

DMÑT

ERBM

PHAH

ONNE

1111 ·M,·M,·M,·M

Equivalen a una única ecuación matricial, la siguiente:

=

TGDPEJMHGZÑAQDTH

NAEOILRNEEBNRDME

1·M

Llamemos C a la matriz de la izquierda en la igualdad anterior y D a la de la derecha. Tal ecuación se abrevia entonces C = M–1·D. La matriz D es cuadrada y quizás sea regular. En tal caso, podremos despejar M–1:

M–1·D = C → M–1·D ·D –1 = C ·D – 1→ M–1 = C ·D –1

Afortunadamente, existe tal matriz D– 1. Su cómputo puede realizarse de la manera indicada antes. Resulta la siguiente matriz:

=−

KÑGUCAFHSUUFQÑMJ

1D

Page 131: Libro criptografia

7. ÁLGEBRA Y CRIPTOGRAFÍA

123

Entonces:

=

== −−

CQRWQXPTRPFRWTRJ

KÑGUCAFHSUUFQÑMJ

NAEOILRNEEBNRDME

11 ·D·CM

Y calculada M–1, el texto en claro que esconde el criptograma está ya a nuestro alcance.

Podría haber ocurrido que la matriz D fuese singular; esto es, que no tuviese inversa. En tal caso, no hubiera sido posible despejar M– 1 en la ecuación C = M–1·D. Pero el criptoanálisis no se detiene. Sucede entonces que dicha ecuación admite más de una solución M–1, incluida la única que descifra correctamente el criptograma. Ahora bien, resolver esa ecuación indeterminada precisa manejar con cuidado la aritmética modular.

Hemos de señalar que el criptosistema que aquí hemos presentado es una versión simplificada del que en realidad ideó Hill. Propuso usar matrices cuyos elementos fuesen también matrices. Esto es, ecuaciones matriciales como la siguiente:

=

87

65

43

21

87

65

43

21

·

ZNJÑ

LHMF

KLMN

HACB

xxxx

xxxx

yyyy

yyyy

Notemos que con una ecuación matricial como ésta se cifran 8 letras de una vez, el doble de las que se cifrarían empleando una matriz estándar 4×4. Ello hace el criptosistema resultante más resistente a un ataque con texto cifrado únicamente, ya que es mucho menos probable que haya octogramas repetidos en los criptogramas que tetragramas. No obstante, es igualmente inseguro ante un ataque con texto pleno y su correspondiente cifrado. La matriz que permite el descifrado se obtiene resolviendo una ecuación matricial similar a la anterior C = M–1·D.

Es interesante observar que criptosistemas de otra naturaleza pueden describirse también en términos de ecuaciones algebraicas. Ya lo hemos comprobado para las transposiciones regulares. Mostremos a continuación que también el criptosistema de Vigenère, estudiado en el Capítulo 3, tiene su representación algebraica. Por ejemplo, describamos con ecuaciones los procesos de cifrado y descifrado que se consiguen a partir de la Tabla 3.2 y la palabra clave ‘ROSA’. A tal efecto, denotemos con la letra griega π a la sustitución que genera la mencionada Tabla 3.2:

Page 132: Libro criptografia

7. ÁGEBRA Y CRIPTOGRAFÍA

124

A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z

π ↓ ↑ π–1

c r y p t o g a f i b d e h j k l m n ñ q s u v w x z

Entonces, las ecuaciones de cifrado son las siguientes:

+=+=+=+=

A)(S)(O)(R)(

44

33

22

11

xπyxπyxπyxπy

El lector puede comprobar que estas ecuaciones transforman el texto en claro ‘CLAVEL’ en el cifrado ‘qzñuuz’, el mismo que si hubiésemos utilizado la Tabla 3.2. (Quizás necesite recordar que la igualdad y=π(x) significa que x se transforma en y mediante π. Por ejemplo, como la sustitución π aquí considerada cambia A por c, se escribe c=π(A)).

Despejando las indeterminadas x en las ecuaciones previas se obtienen las de descifrado. Naturalmente, en esta operación necesitamos π–1, la sustitución inversa de π:

−=−=−=−=

A)(S)(O)(R)(

41

4

31

3

21

2

11

1

yπxyπxyπxyπx

En fin, concluyamos el capítulo señalando que tanto el cifrado de Hill como esta descripción del de Vigenère muestran como puede emplearse el Álgebra en el diseño de criptosistemas. Lo podemos resumir así: primero se identifican letras de un alfabeto (o, más generalmente, bloques de letras) con números u otros objetos matemáticos entre los que haya definida una aritmética; y a continuación se transforman según una ecuación de la forma

y = f(x, k),

donde f(x, k) es una expresión algebraica que involucra tanto al texto en claro x como a la clave k. En el anterior cifrado de Vigenère esta expresión algebraica consiste en aplicar la sustitución π a una suma, en el de Hill es un producto de matrices. En ambos casos resultan ecuaciones sencillas que no proporcionan un cifrado seguro; pero pueden emplearse otras más complejas que quizás aumenten esta seguridad. El problema está en considerar ecuaciones en las que resulte “fácil” despejar x, para que el receptor pueda descifrar el mensaje; pero “imposible” despejar k, para que el criptoanalista no acceda a la clave.

Page 133: Libro criptografia

125

8

MÁQUINAS DE ROTORES

A comienzos del siglo XX, la máquina de escribir estaba ya presente en numerosas oficinas de todo el mundo; también en los departamentos encargados de cifrar la correspondencia confidencial. Seguro que muchos empleados de estas dependencias pensaron en las ventajas que supondría disponer de un instrumento similar que, pulsando las teclas de las letras de los textos en claro, proporcionase el texto cifrado ya mecanografiado. Se ahorraría gran cantidad de trabajo. Y, lo que es más importante, se eliminarían numerosos errores ocasionados por el inevitable factor humano. No tardó en llegar esta demanda a oídos de inventores y fabricantes que vieron en ella la posibilidad de un gran negocio. Gobiernos, ejércitos y empresas de todo el mundo estarían interesados en adquirir máquinas de escribir cifradoras. Y así, con la vista puesta en el dinero que generarían tales inventos, se pusieron manos a la obra.

La historia de la Criptografía muestra que antes del siglo XX ya se habían concebido mecanismos para aliviar los procesos de cifrado y descifrado. Quizás el primero de ellos sea el disco de Alberti de 1466, descrito al comienzo del tercer capítulo. Mediante dos discos concéntricos giratorios con letras en sus bordes, Alberti implementaba un sencillo criptosistema polialfabético. Esta idea de Alberti se repite después en varias ocasiones. Muy conocido fue el criptógrafo diseñado por Charles Wheatstone (el mismo que inventó la cifra Playfair) y presentado en la exposición universal de París de 1867. Puede contemplarse en la Figura 8.1. En ella se observan dos alfabetos formando sendas circunferencias, una dentro de otra, y dos manecillas como las de un reloj, apuntando cada una a un alfabeto. Las letras del alfabeto exterior están fijas y ordenadas del modo habitual, las del interior pueden extraerse y ordenarse según la clave (en el ejemplar mostrado en la Figura 8.1 faltan dos de estas letras que han debido extraviarse). Para cifrar, se desplaza la manecilla grande hasta la posición que en el alfabeto exterior ocupa la letra correspondiente. Al mismo tiempo, un engranaje mueve la manecilla pequeña hasta otra letra del alfabeto interior. Esta segunda letra es la transformada de la primera. El cifrado que resulta es polialfabético debido al espacio en blanco que contiene el alfabeto exterior: cuando la manecilla grande completa una circunferencia, la pequeña ya no señala la misma letra sino la que está al lado. Pero aunque fácil de manejar y ocultar, el criptosistema que Wheatstone proponía con su

Page 134: Libro criptografia

8. MÁQUINAS DE ROTORES

126

criptógrafo era inseguro. Para entonces, Kasiski ya había publicado su método de criptoanálisis para los cifrados polialfabéticos. Por eso, llama la atención que el ejército del general Franco emplease versiones modificadas de este criptógrafo durante la Guerra Civil y después de ella.

Figura 8.1. Criptógrafo de Wheatstone

El que fuera coautor de la declaración de independencia de Estados Unidos y su tercer presidente, Thomas Jefferson, inventó un interesante y sencillo mecanismo criptográfico que mostramos en la Figura 8.2. La conocida como rueda de Jefferson es un cilindro formado con 36 discos de madera de igual tamaño que se identifican con números del 1 al 36. En el borde de los discos van grabadas las 26 letras del alfabeto en un orden que es diferente en cada disco. El centro de los discos está agujereado para que estos puedan montarse sobre un eje de hierro y de modo que sea posible su giro respecto al eje. El orden en que se montan los discos sobre el eje es precisamente la clave convenida entre el emisor y el receptor. (El número total de claves es el factorial de 36, un número con 42 dígitos.) Para cifrar, el emisor divide primero el texto en claro en fragmentos de 36 letras. A continuación, gira convenientemente los discos de la rueda para que pueda leerse el primer fragmento en una de las 26 generatrices del cilindro. Entonces, considera aleatoriamente una de las 25 generatrices restantes; las letras de que consta es el cifrado del primer fragmento. De igual modo se cifra el resto. El cifrado resultante es poligráfico; también homófono, ya que hay 25 posibilidades para un mismo bloque. Esto último no dificulta el proceso de cifrado. De nuevo se giran adecuadamente los discos para que en una de las generatrices del cilindro vayan apareciendo los fragmentos de texto cifrado. La única generatriz con sentido gramatical es el correspondiente bloque de texto en claro.

Page 135: Libro criptografia

8. MÁQUINAS DE ROTORES

127

Figura 8.2. La rueda de Jefferson.

Jefferson ideó su rueda durante la década que va de 1790 a 1800. Durante los cuatro primeros años de este periodo, Jefferson fue secretario de estado encargado de la política exterior. La necesidad de cifrar la correspondencia trajo su interés por la Criptografía. No obstante, el departamento del que Jefferson era secretario nunca hizo uso de la rueda y continuó empleando el nomenclátor como criptosistema. Por esta razón, el invento de Jefferson cayó rápidamente en el olvido; y ahí continuaría si algún historiador interesado por la Criptografía no lo hubiese rescatado de la biblioteca del Congreso americano.

La rueda de Jefferson fue reinventada en 1891 por el experto en cifras del ejército francés Etiénne Bazeries, quien con seguridad desconocía su existencia. La única diferencia entre el cilindro ideado por Bazeries y el de Jefferson está en que el primero emplea 20 discos con 25 letras en lugar de los 36 discos y 26 letras del segundo. Bazeries estaba convencido que su cilindro era indescifrable y, presumiendo de ello, lo sometió al criptoanálisis de sus compañeros en el ejército francés. Uno de ellos, el marqués Gaétan Henri Léon de Viaris, no descansó hasta que dos años después logró derrotar al cilindro. De Viaris había inventado en 1888 una ingeniosa máquina de cifrar que incluso imprimía el texto cifrado, pero fue ridiculizada por el criptoanálisis de Bazeries. Esta fue la razón de su empeño.

Curiosamente, el ataque de De Viaris fue posible por el modo en que Bazeries dispuso el orden de las letras en los discos de su cilindro. En catorce de los veinte discos, Bazeries colocó las letras ordenándolas a partir de frases mnemotécnicas como “Dieu protège la France”, “Honneur et patrie”, “Instruisez la jeunesse”, etc. Al hacerlo así, cualquiera que sea la posición de los discos en el cilindro, en él hay siempre generatrices con letras repetidas. Ello permite iniciar el criptoanálisis mediante el método de De Viaris, el cual no describiremos aquí. Si Bazeries hubiese ordenado las letras de los 20 discos de modo que girándolos convenientemente resultasen generatrices sin letras repetidas, el ataque de De Viaris no habría sido posible. (Tal ordenación de letras en los discos puede conseguirse mediante cuadrados latinos, nombre que reciben las

Page 136: Libro criptografia

8. MÁQUINAS DE ROTORES

128

disposiciones rectangulares en las que no se repiten elementos ni en las filas ni en las columnas).

Esto fue observado por los criptoanálistas del ejército americano dirigidos por William Friedman, quienes estudiaron con detenimiento el cilindro de Bazeries y el método de De Viaris. Con la deficiencia de Bazeries corregida, el ejército americano introdujo en 1922 un cilindro similar para ser empleado como criptosistema de seguridad intermedia. Estuvo en vigor hasta 1943. Consta de 25 discos de aluminio de pequeño tamaño que giran sobre un eje de once centímetros de longitud. Le dieron la identificación militar de M−94 y puede contemplarse en la Figura 8.3.

Figura 8.3. El M−94 del ejército americano.

Aún con los alfabetos elegidos correctamente, el cilindro criptográfico puede ser criptoanalizado a partir de texto cifrado exclusivamente. Ello fue probado en 1944 por un equipo de criptoanalistas alemanes integrado por matemáticos y lingüistas. En esta ocasión rompieron el M−138, un criptosistema equivalente a un cilindro criptográfico pero con tiras de cartón deslizantes en lugar de discos. El M−138 disponía de cien tiras de las que únicamente se empleaban treinta a la vez. Fue utilizado por el ejército y la diplomacia americana hasta casi el final de la Segunda Guerra Mundial.

Pero recuperemos el proyecto de una máquina de escribir cifradora que tenía ocupados a varios inventores al iniciarse el siglo XX. No era sencillo llevarlo a cabo con las garantías de éxito comercial pretendidas. Aunque por entonces la tecnología había avanzado considerablemente, ésta todavía no permitía automatizar el cifrado de varias letras a la vez. Ya que ello requiere su almacenamiento previo, lo que hoy llamamos memoria; y tal tecnología no se desarrolló hasta los años cuarenta. En consecuencia, el dispositivo cifrador que se incorporase a una máquina de escribir únicamente transformaría la letra correspondiente a la tecla pulsada en cada instante. Ello descarta la posibilidad de implementar criptosistemas poligráficos o transposiciones, y obliga considerar únicamente los polialfabéticos. Pero claro, contra estos estaba el método de Kasiski, que permite recuperar el periodo e iniciar el criptoanálisis. Ahora bien, si el periodo es enorme, muy superior a la longitud de los textos que se manejan, el método de Kasiski es inoperante y entonces se consigue la necesaria seguridad. Había que diseñar un mecanismo que proporcionase un criptosistema polialfabético cuyo periodo fuera un número muy grande. Y curiosamente, casi al mismo tiempo y de forma independiente, en

Page 137: Libro criptografia

8. MÁQUINAS DE ROTORES

129

varias partes del mundo se llegó a la misma solución: el rotor. Tratar de explicar su funcionamiento es el objeto de los siguientes párrafos.

Un rotor es un disco delgado fabricado con material aislante y con contactos eléctricos en sus dos caras, en número igual a las letras del alfabeto que se emplee. (En la Figura 8.11 se muestra un rotor de la máquina Enigma.) Cada contacto de una cara se conecta aleatoriamente con otro de la cara opuesta mediante un cable eléctrico. Por otra parte, los contactos de una cara rozan con otros que enlazan con las letras del alfabeto en claro y, análogamente, los contactos de la cara opuesta lo hacen con otros que conectan con las letras del alfabeto cifrado. Cuando se pulsa una tecla, una corriente eléctrica atraviesa el rotor transformando la letra de la tecla pulsada en otra. Ayudémonos de un ejemplo para entender mejor esta idea. Para simplificar, consideremos un rotor con cinco contactos únicamente, correspondiente a un alfabeto con ese número de letras. Es el que hemos esquematizado en la Figura 8.4.a).

Figura 8.4. Esquema de un rotor.

En esta figura puede observarse que si la corriente fluye de derecha a izquierda, las letras del alfabeto en claro sufrirán la siguiente transformación:

A B C D E

↓ C E D B A

Tras pulsar una tecla, el rotor gira una o varias posiciones. Esto trae consigo una conexión diferente entre los contactos de las letras del alfabeto en claro y las del alfabeto cifrado. Se obtiene así una nueva sustitución con la que se cifra la siguiente letra. En la Figura 8.4.b) mostramos el mismo rotor anterior después de haber girado una posición. Da lugar a esta nueva transformación del alfabeto en claro:

Cifrado Cifrado ClaroClaro

a) Posición inicial b) Tras un giro

Page 138: Libro criptografia

8. MÁQUINAS DE ROTORES

130

A B C D E

↓ D C A E B

Notemos que esta segunda sustitución puede obtenerse a partir de la primera: la transformada de una letra mediante la segunda sustitución es la letra anterior en el orden alfabético de la transformada mediante la primera sustitución de la que sigue a la letra en claro. Por ejemplo, si la letra en claro es la ‘A’, la que sigue a ésta es la ‘B’. Mediante la primera transformación la ‘B’ se cambia por la ‘E’. La anterior a la ‘E’ es la ‘D’. Esta última letra es, por tanto, la transformada de la ‘A’ mediante la segunda sustitución.

Los sucesivos giros del rotor producen nuevas sustituciones con las que se cifran las siguientes letras del texto en claro. Generalmente, habrá tantas sustituciones diferentes como posiciones alcance el rotor en su revolución y serán tantas como letras haya en el alfabeto. En el rotor que nos sirve de ejemplo son las que figuran en la Tabla 8.1. Obsérvese que en las diagonales que la cruzan en sentido ascendente de izquierda a derecha, las letras van correlativas.

Posición A B C D E 1 C E D B A2 D C A E B 3 B E D A C 4 D C E B A 5 B D A E C

Tabla 8.1. Las 5 sustituciones del rotor.

Para identificar la posición del rotor en cada momento, este lleva inscrito en su borde números o letras en el orden habitual. Antes de empezar a cifrar el texto, el emisor debe situar el rotor en una posición inicial convenida con el receptor autorizado. Precisamente, esta posición inicial es la clave. A continuación, cifra el texto tecleando una a una sus letras. Por ejemplo, imaginemos que disponemos de una máquina que implementa el rotor de cinco contactos que nos viene ayudando en esta explicación y que en su borde figuran números de 1 al 5, correspondiendo con sus diferentes posiciones conforme a la Tabla 8.1. Si situamos el rotor en la posición inicial que indica el ‘3’, la palabra ‘DECADA’ se cifraría como ‘AAACEB’. La citada Tabla 8.1 permite efectuar tal cifrado.

Para descifrar un mensaje, se deben generar las inversas de las sustituciones empleadas en el proceso de cifrado. Un modo muy sencillo de obtenerlas es haciendo pasar la corriente eléctrica por el rotor en sentido contrario. Así se hizo habitualmente, incorporando en las máquinas de rotores un mecanismo al efecto. Tras activarlo, el receptor del mensaje colocaba el rotor en la posición inicial indicada por la clave y, al teclear las letras del texto cifrado, la máquina revelaba el texto en claro.

Page 139: Libro criptografia

8. MÁQUINAS DE ROTORES

131

En las líneas anteriores hemos tratado de describir el cifrado que produce una máquina con un rotor. Si lo hemos hecho con mediana claridad, el lector habrá reconocido que es polialfabético y con periodo y claves limitados por el número de letras del alfabeto. Un número demasiado pequeño para alcanzar una mínima seguridad. Cualquier criptoanalista, con muy poco texto cifrado solamente, construiría sin mucho esfuerzo una tabla similar a la 8.1. Y con ella descifraría rápidamente todos los mensajes.

Pero la situación cambia radicalmente si en lugar de un único rotor se utilizan varios, concatenando uno a continuación de otro. En la Figura 8.5 mostramos como hacerlo, de nuevo con un alfabeto de 5 letras para simplificar el dibujo. En él, los rotores están en una de las 125 posiciones posibles. Con nuestro alfabeto completo de 27 letras, al concatenar tres rotores el número de claves se eleva ya a 273 = 19683. Y este número es también el de sustituciones distintas que pueden generarse. Un periodo tan grande que cada letra del texto en claro se puede cifrar con una transformación diferente. Incluso se tendrían que cifrar muchos mensajes para volver a utilizar la misma sustitución. Tal cifrado debe ser seguro; o, al menos, así lo creyeron los inventores del rotor.

Figura 8.5. Tres rotores concatenados.

Según David Khan, el que hizo los primeros dibujos de un sistema de rotores fue el americano Edward H. Hebern en 1917, y un año después construyó la primera máquina con dicho dispositivo. En 1921 mostró uno de sus inventos a expertos en cifras de la armada americana, quienes quedaron impresionados. Meses después, Hebern, animado por el interés de la armada y creyendo que las máquinas de rotores gobernarían el mundo de las cifras, fundó la “Hebern Electric Code”, la primera industria destinada a fabricar máquinas cifradoras. La idea de un gran negocio animó a numerosos inversores, y en poco tiempo la factoría llegó a contar con un capital de un millón de dólares y unos 1500 empleados. Sin embargo, en los siguientes cinco años posteriores a su creación, la Hebern Electric Code apenas vendió una docena de sus máquinas y fue a la bancarrota.

En verdad, la armada americana estuvo muy interesada en la máquina de Hebern y en 1924 lo tenía todo preparado para incorporarla como su sistema de cifras. Pero la armada, queriendo constatar la seguridad del criptosistema que proporcionaba, remitió 10

Cifrado Claro

Page 140: Libro criptografia

8. MÁQUINAS DE ROTORES

132

mensajes cifrados a la oficina de cifras del ejército de tierra, el “Army Signal Corps”. Y allí, para desgracia de la Hebern Electric Code, los criptogramas toparon con el genio del mejor criptoanalista del momento, el antes mencionado William Friedman, quien descifró los 10 criptogramas en seis semanas. Esta fue la causa de la quiebra de la empresa de Hebern.

La referida máquina de Hebern se muestra en la Figura 8.6. Consta de cinco rotores concatenados que se pueden extraer y volver a colocar en otro orden, incluso invertidos. En total, de 3840 maneras distintas. Los cinco rotores van situados entre dos ruedas de trinquete de aluminio, cuya función es gobernar su movimiento. Como los rotores, las ruedas también giran y llevan grabadas en su borde las 26 letras del alfabeto inglés, en correspondencia con sus posibles posiciones.

Figura 8.6. Máquina de rotores de Hebern.

En el esquema de cifrado propuesto por Hebern, la clave determina la disposición de los rotores y debe cambiarse diariamente. Una vez colocados los rotores, el emisor del mensaje elige aleatoriamente siete letras y gira las dos ruedas y los cinco rotores para que se contemplen alineadas en cierto punto marcado en la máquina al efecto. Las siete letras deben ser diferentes para cada mensaje y se transmiten en claro al receptor. A continuación, el emisor sitúa una palanca en posición “DIRECT” y la máquina está lista para cifrar. Cada vez que se presiona una tecla, una corriente eléctrica atraviesa el banco de rotores de izquierda a derecha e ilumina en el panel encima del teclado la lámpara correspondiente a la letra cifrada. Seguidamente, un mecanismo hace girar alguno de los rotores. El emisor debe anotar en papel aparte la letra iluminada antes de cifrar la siguiente. Para descifrar el mensaje, el receptor del mismo ha de disponer de una máquina idéntica y seguir el mismo procedimiento que el emisor; pero situando la palanca en posición “REVERSE”, para que la corriente eléctrica atraviese los rotores en sentido contrario.

Page 141: Libro criptografia

8. MÁQUINAS DE ROTORES

133

El movimiento de los rotores es el punto débil de la máquina de Hebern. Se consigue mediante un complicado sistema de engranajes que involucra a las citadas ruedas de trinquete. Durante el cifrado, los rotores segundo y cuarto permanecen fijos. Cada vez que se pulsa una tecla, el quinto rotor avanza una posición. También lo hace la rueda de trinquete situada a la derecha. Y cuando la letra ‘N’ de su borde llegue al punto marcado en la máquina, tanto el primer rotor como la rueda de la izquierda adelantarán una posición en la siguiente pulsación. La rueda de la izquierda rige el movimiento de tercer rotor de modo similar, avanzándolo una posición después que la letra ‘N’ de su borde llegue al punto señalado. Un ejemplo de la sucesión de siete letras que pueden leerse en el citado punto puede ser el que mostramos a continuación. La primera letra corresponde a la rueda de la izquierda, la segunda al primer rotor, la tercera al segundo rotor, etc.

I 1 2 3 4 5 D M H B P X V M M H B P X W N N I B P X X O N I B X X Y P

La secuencia de letras se repite al cabo de 263 = 17576 teclas pulsadas. Un periodo bastante elevado para asegurar que cada letra del mensaje se cifra con una sustitución diferente. Pero el movimiento de los rotores es bastante regular y se limita casi exclusivamente al quinto. En un mensaje, el primer rotor sólo se moverá unas pocas veces y el tercero lo hará una única vez como mucho. Seguro que el criptoanálisis de Friedman aprovechó esta particularidad. Pero en absoluto fue sencillo este trabajo. Los 10 criptogramas que la armada le envió iban todos cifrados conforme al esquema propuesto por Hebern, con los rotores en un mismo y secreto orden pero en diferentes y públicas posiciones iniciales. Friedman también conocía el modo en que operaba la máquina porque disponía de un modelo comercial; pero ignoraba las conexiones internas de los rotores, ya que fueron alteradas en el aparato empleado por la armada. Tras el criptoanálisis, Friedman redactó un informe que se ha mantenido secreto hasta 1996.

A pesar del revés sufrido, Hebern no abandonó la idea de hacerse rico con las máquinas cifradoras y en 1931 ofreció otra máquina de rotores a la armada americana. Este nuevo modelo mantiene los cinco rotores y las dos ruedas de trinquete como el anterior, aunque ahora los rotores se eligen entre seis disponibles. Otra diferencia menor es que la corriente eléctrica fluye en sentido opuesto en el nuevo modelo. La gran novedad está en el movimiento de los rotores, como era de esperar. Los cinco rotores son móviles y lo pueden hacer de 50 maneras distintas, cada una de ellas determinada por la posición de tres palancas. Al pulsar cada tecla, siempre dos o tres rotores avanzan un paso. Otro rotor lo hace después de 26 letras cifradas. Y tras 650 letras, otros dos rotores adelantan también un paso. Con este movimiento tan irregular, Hebern consiguió aumentar considerablemente la seguridad en su nueva máquina.

Pero en comparación, más había crecido la potencia de criptoanálisis del Army Signal Corps. Friedman disponía ahora de un equipo de criptoanalistas en el que figuraban nombres como Frank Rowlet, Solomon Kullback o Abraham Sinkov; y contaba

Page 142: Libro criptografia

8. MÁQUINAS DE ROTORES

134

también con las posibilidades de cómputo que ofrecían algunas máquinas automáticas, predecesoras de los ordenadores. La máquina de Hebern fue vencida de nuevo.

Esta nueva derrota apagó por completo la ilusión de Hebern de hacerse millonario vendiendo máquinas criptográficas. Pero no disminuyó el deseo del ejército americano de poseer una máquina cifradora impenetrable. Trabajando sobre el modelo de Hebern, en 1934 consiguieron una máquina de rotores que superó todos los tests de criptoanálisis a los que fue sometida. Recibió el nombre de “Electric Cipher Machine (ECM) Mark I”. Más aún, poco antes de comenzar la Segunda Guerra Mundial, el ejército americano logró la que sin duda ha sido la máquina de rotores más segura: la ECM Mark II, más conocida como “Sigaba”. Es la que se muestra en la Figura 8.7. En esta máquina, el movimiento de los cinco rotores que intervienen en el cifrado es complicadísimo: tras pulsar una tecla, de uno a cuatro de estos rotores avanzan guiados por una señal electrónica que se esconde al atravesar otros diez rotores que a su vez se mueven mediante un dispositivo mecánico. Hasta 1959, Sigaba ha cifrado la correspondencia más confidencial del ejército americano. No porque entonces su seguridad estuviera ya comprometida, sino porque era demasiado lenta para el de tráfico de mensajes que debía soportar. Todavía hoy es objeto de estudios de criptoanálisis en departamentos de universidades americanas.

Figura 8.7. La máquina americana Sigaba.

Y no podemos concluir esta breve reseña histórica sobre la máquina de rotores americana sin mencionar que en 1947 Hebern demandó a las fuerzas armadas. Reclamaba una indemnización de 50 millones de dólares, por considerar que el ejército se había apropiado de sus ideas en la fabricación de los miles de Sigabas que empleó durante la Segunda Guerra Mundial. Tras un largo proceso judicial, Hebern recibió en 1958 la compensación de treinta mil dólares. Pero para entonces hacía ya ocho años que había muerto.

Page 143: Libro criptografia

8. MÁQUINAS DE ROTORES

135

En 1923, la compañía alemana “Chiffrienmaschinen Aktien Gesellschaft” exhibía en el congreso de la “International Postal Union”, celebrado en la ciudad suiza de Berna, el primer modelo de una larga serie de la que sería la máquina de rotores más famosa de la Segunda Guerra Mundial: “Enigma”. Su popularidad la ha llevado a aparecer en varias películas cinematográficas, a ser objeto de estudio en muchos libros y a hablar de ella en miles de páginas web por todo el mundo.

La primera versión, conocida como Enigma A, seguía fielmente el diseño patentado en 1918 por el ingeniero alemán Arthur Scherbius, patente que contiene ideas del inventor holandés Hugo Alexander Koch. Un voluminoso y pesado aparato muy similar a una máquina de escribir que, de hecho, puede emplearse como tal. La Figura 8.8 muestra una fotografía suya.

Figura 8.8 Enigma A.

Consta de cuatro rotores cuyo giro es causado por la acción de los dientes de otras tantas ruedas. Estas cuatro ruedas avanzan una posición cada vez que se pulsa una tecla, completando una revolución cada 11, 15, 17 y 19 pulsaciones, respectivamente. El número de dientes de las ruedas es inferior a estos números, por lo que hay ciertas posiciones de cada rueda en las que el rotor que guía no avanza. Este diseño determina un movimiento de los rotores bastante irregular, dependiente incluso de las posiciones iniciales de las ruedas. Los rotores disponen de 28 contactos, ya que éste es el número de letras del alfabeto de la máquina. Las claves son cada una de las posiciones posibles de los rotores y las ruedas; en total: 11·15·17·19·284, cifra que supera los treinta mil millones. Todas estas características hacen de Enigma A una máquina de rotores muy interesante, de difícil criptoanálisis. No obstante, apenas se vendieron unas pocas unidades. Y eso que la máquina gozó de enorme publicidad.

Ello no desanimó a la firma alemana y en breve lanzó al mercado una nueva versión de la máquina, Enigma B. Muy parecida al modelo A, con la única diferencia significativa de contener el alfabeto estándar de 26 letras. De nuevo fue un fracaso comercial.

La compañía alemana entendió que la ansiada venta masiva de máquinas de cifrar se lograría con un aparato de reducido tamaño, que fuera fácilmente transportable. Con esta idea comercializó Enigma C en 1926. Naturalmente, la disminución de peso y volumen en la máquina trajo consigo importantes cambios respecto a los modelos

Page 144: Libro criptografia

8. MÁQUINAS DE ROTORES

136

anteriores. El más interesante que uno de los cuatro rotores es un reflector. Este es un rotor con contactos en una sola cara, conectados por parejas para que la corriente eléctrica que llega a un contacto se “refleje” por el otro al que se conecta. Es lo que ocurre en la máquina durante el cifrado. El fluido eléctrico llega al reflector después de atravesar los tres rotores y al reflejarse los vuelve a cruzar en orden inverso. La Figura 8.9 muestra un esquema de cómo circula la corriente eléctrica por el banco de rotores en el modelo C. Las flechas indican la dirección del flujo eléctrico.

Figura 8.9. Esquema de los rotores en Enigma.

Con el empleo del reflector, las sustituciones que se obtienen son involutivas. Esto significa que si una letra se transforma en otra, ésta también se transmuta por aquella. De este modo, no es necesario alterar el sentido del flujo eléctrico para descifrar. El receptor del mensaje sólo tiene que situar los rotores en el mismo orden y en las mismas posiciones que lo haya hecho el emisor. En consecuencia, el reflector trae consigo una simplificación en la mecánica y en el uso de la máquina. Incluso sus creadores pensaron que al atravesar dos veces la corriente eléctrica el banco de rotores, el cifrado resultante era más seguro, equivalente al de una máquina con el doble número de rotores. Pero todo lo contrario, el reflector impide que una letra se transforme en sí misma y esto constituye una de las debilidades de Enigma, lo que no pasaría inadvertido a los criptoanalistas.

En Enigma C, el reflector se coloca en una de dos posibles posiciones y permanece estático durante el cifrado. A su derecha van los tres rotores, en el orden que se desee. Cada rotor puede situarse en 26 posiciones diferentes, ya que éste es el número de sus contactos. Para identificar esta posición, los rotores llevan en su borde un anillo bien con el alfabeto estándar de la ‘A’ a la ‘Z’, bien con los números del 1 al 26. La letra (o número) correspondiente a la posición del rotor es la única visible al usuario a través de una pequeña ventana en la máquina. Curiosamente, el anillo puede girar con respecto al cuerpo del rotor y, en consecuencia, su rotación respecto al corazón del rotor forma parte de la configuración de la máquina antes de empezar a cifrar. Teniendo todo esto en cuenta, el número de claves es el resultado de multiplicar las dos posiciones del reflector por las seis ordenaciones posibles de los rotores, por 263, que son sus distintas posiciones

Reflector Rotor Rotor Rotor Teclado

Page 145: Libro criptografia

8. MÁQUINAS DE ROTORES

137

iniciales, y otra vez por 263, debido al desplazamiento de cada anillo. En total, 3706989312.

El modo en que se mueven los rotores es otra de las simplificaciones de la versión C de Enigma. Sus rotores incorporan en una de sus caras una rueda dentada y en la otra una muesca destinada a encajar los dientes de la rueda de otro rotor. Al pulsar una tecla, y antes de que circule la corriente eléctrica por el banco de rotores, el rotor de la derecha gira una posición. Cuando llega a cierto punto en su revolución, la muesca atrapa un diente del rotor central y le hace avanzar un paso. Y de igual modo mueve el rotor de en medio a su vecino de la izquierda, adelantando ambos una posición cuando el rotor central alcanza determinado punto en su rotación. Por ejemplo, suponiendo que la muesca de un rotor atrapa un diente cuando la ‘Z’ de su anillo es visible por la ventanilla, de modo que en la siguiente pulsación hará avanzar al rotor contiguo, una sucesión de letras en dicha ventanilla podría ser esta:

H Y Y H Y Z H Z A I A B I A C

El periodo de los rotores es entonces 26·25·26 = 16900. Cifra suficientemente elevada pero conseguida con un movimiento muy regular, lo que de nuevo constituye una debilidad. Por otro lado, dado que las muescas que giran el rotor adyacente están situadas en el cuerpo del rotor y no en su anillo, las sustituciones que producen los sucesivos avances de los rotores son independientes del desplazamiento inicial del anillo respecto al cuerpo del rotor. Por tanto, tal desplazamiento no aumenta la seguridad de la máquina. Incluso puede suprimirse de la disposición inicial antes de cifrar. Se reduce así el número efectivo de claves a sólo 2·6·263 = 210912.

A diferencia de los dos modelos previos, Enigma C no imprime el texto cifrado. En su lugar, al igual que en la máquina de Hebern, cada vez que se pulsa una tecla se ilumina en un panel situado encima del teclado la lámpara correspondiente a la letra transformada. Por supuesto, ello era un inconveniente para el usuario; pero de nuevo supuso una reducción importante en el peso y volumen de la máquina, que era la razón principal de su diseño. Se logró que el aparato cupiese en un pequeño maletín.

Tan sólo un año después, en 1927, apareció la siguiente versión de Enigma, el modelo D. Con únicamente dos diferencias respecto a Enigma C. La primera, que el teclado va configurado según el estándar alemán, en el orden “QWERTZ...” en lugar del alfabético “ABCD...” presente en el modelo C. Ello trae consigo una permutación entre las teclas y los contactos que dan entrada al banco de rotores, en el llamado “Stator”. Permutación que también debe realizarse entre estos contactos y las lámparas, para mantener involutivo el cifrado. La segunda diferencia citada está en el reflector, que ahora puede situarse en 26 posiciones posibles en lugar de las dos permitidas en Enigma C; aunque tampoco gira durante el cifrado. Esta pequeña diferencia multiplica por 13 el número de claves. Enigma D se muestra en la Figura 8.10.a).

Page 146: Libro criptografia

8. MÁQUINAS DE ROTORES

138

Las conexiones internas de los rotores con que se equipó a Enigma D se presentan en la Tabla 8.2. La hemos elaborado con datos del libro de C. A. Deavours y L. Kruh que incluimos en la bibliografía. Expliquémosla. Según el mencionado texto, los contactos de los rotores están numerados del 1 al 26 pero en orden inverso a como lo hacen las letras del anillo exterior, de modo que si se hace coincidir la ‘A’ con el contacto 1, entonces la ‘Z’ lo hace con el 2, la ‘Y’ con el 3, etcétera. Situando así los anillos en los tres rotores, sus contactos se pueden identificar ya por letras. Hecha esta identificación, las letras en negrita de la primera fila de la tabla representan a los contactos de la cara del rotor por la que entra la corriente por vez primera, y las letras de las filas de los rotores corresponden a los contactos homónimos en la otra cara. Van colocadas en el orden que indica la conexión. Por ejemplo, en el rotor 1 el contacto ‘A’ se conecta con el ‘L’. La aclaración anterior no es necesaria para el reflector, ya que su anillo no se desplaza. En su fila hemos agrupado entre paréntesis los pares de contactos conectados. Por ejemplo, los contactos ‘B’ y ‘M’ están conectados en el reflector. Imaginemos ahora que, sin girar los anillos, colocamos los rotores en la máquina en la posición en que es visible la letra ‘A’ por la ventanilla. Entonces los contactos del rotor derecho tocaran a los del Stator y ello nos permite identificar también con letras a sus contactos. En tal situación, la segunda fila de la tabla contiene la permutación que tiene lugar entre las teclas y los contactos de Stator. Y para completar la descripción de Enigma D, señalemos que en los tres rotores la muesca que hace avanzar al rotor contiguo va junto al contacto 21 (‘G’ en la configuración anterior) y producirá tal avance después de verse el contacto 2 (‘Z’) en la ventanilla.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Stator: J W U L C M N O H P Q Z Y X I R A D K E G V B T S F

Rotor 1: L P G S Z M H A E O Q K V X R F Y B U T N I C J D W Rotor 2: S L V G B T F X J Q O H E W I R Z Y A M K P C N D U Rotor 3: C J G D P S H K T U R A W Z X F M Y N Q O B V L I E

Reflector: (AI) (BM) (CE) (DT) (FG) (HR) (JY) (KS) (LQ) (NZ) (OX) (PW) (UV)

Tabla 8.2. Especificaciones de los rotores de Enigma D

Enigma D fue un gran éxito comercial. Se vendió por todo el mundo. Lógicamente, la popularidad de la máquina llegó a oídos de muchos ejércitos, quienes consideraron emplearla como sistema de cifras. Entre ellos el propio ejército alemán, naturalmente. Pero enseguida se dieron cuenta de las debilidades de Enigma D; de hecho, llegaron a saber como criptoanalizarla. Conocimiento que mantuvieron en secreto. Por una razón evidente: para poder acceder a las comunicaciones de ejércitos de otros países que estuvieran cifrando con Enigma.

El criptoanálisis de Enigma D derivó también en una versión militar alemana de Enigma, con dos modificaciones importantes respecto a la comercial que elevaron considerablemente la seguridad. Este modelo militar se llamó Enigma I y apareció en junio de 1930.

Page 147: Libro criptografia

8. MÁQUINAS DE ROTORES

139

La primera modificación, la más significativa desde el punto de vista criptográfico, es la sustitución de la permutación fija entre el teclado y el Stator por la transformación variable que proporciona el “Steckerverbindung”. Así denominaron a un panel con 26 enchufes colocado en la parte frontal de la máquina. Puede observarse el “Stecker” en la Figura 8.10.b), que muestra una imagen de Enigma I.

Figura 8.10. Versiones comercial y militar de Enigma.

Cada enchufe del Stecker va asociado a una letra del alfabeto. Mediante cables se conectan pares de enchufes dando lugar a una permutación involutiva que actúa doblemente, entre el teclado y el banco de rotores y entre éste y el panel de lámparas. Así, cada vez que se pulsa una tecla y tras producirse el avance de los rotores, se origina una corriente eléctrica que circula primero por el Stecker antes de adentrarse en el banco de rotores. Si un cable conecta el enchufe correspondiente a la letra pulsada con otro, esta letra se transforma en la asociada al otro enchufe. Tras abandonar el banco de rotores, la corriente eléctrica pasa de nuevo por el Stecker antes de concluir su viaje en el panel de lámparas, produciendo el mismo efecto que antes. Esta doble entrada del flujo eléctrico en el Stecker mantiene el carácter involutivo del cifrado.

Por otro lado, el Stecker aumenta considerablemente el número de claves. Por ejemplo, según consta en el manual de operaciones de la Wehrmacht de noviembre de 1939, se empleaban diez cables que conectaban veinte enchufes. Ello puede hacerse de más de 150 billones de modos diferentes.

a) Enigma D b) Enigma I

Page 148: Libro criptografia

8. MÁQUINAS DE ROTORES

140

La otra diferencia de Enigma I respecto al modelo comercial afecta al movimiento de los rotores. En la Figura 8.11 mostramos una fotografía de un rotor de Enigma I. En ella puede verse que la muesca que ocasiona el avance del rotor adyacente está situada en el anillo exterior, denominado ahora “Ringstellung”. De este modo, el hecho que el Ringstellung pueda girar con respecto al cuerpo del rotor adquiere sentido criptográfico en Enigma I. Ahora, la sucesión de sustituciones que genera el movimiento de los rotores depende de su posición inicial y de la situación del Ringstellung en los rotores central y diestro. Por lo demás, tal movimiento es idéntico al de la versión comercial. En contrapartida a esta mejora, el reflector de Enigma I sólo puede colocarse en una única posición, la cual es invariante durante el cifrado.

Figura 8.11. Un rotor de Enigma I.

Teniendo en cuenta tales modificaciones, una clave en la Enigma militar de 1930 consta de los siguientes cuatro datos: el orden de los tres rotores, que se pueden disponer de 6 modos distintos; la configuración inicial del Ringstellung, elegida entre 263=17576 posibles; las posiciones iniciales de los rotores, que de nuevo hay 17576 distintas; y, finalmente, las conexiones en el Stecker. En total, empleando diez cables en el Stecker, el número de claves consta de 24 dígitos.

Obviamente, las conexiones internas de los rotores y el reflector de Enigma I son también diferentes de la versión comercial. Las hemos incluido en la Tabla 8.3. Las explicaciones que dimos para la Tabla 8.2 son válidas también para esta otra. Sólo hemos de añadir que la última columna contiene la letra del anillo de cada rotor que se ve en la ventanilla cuando éste va a mover el rotor contiguo en la siguiente pulsación. Los tres rotores con que se dotó la máquina de 1930 se identifican en la Tabla 8.3 con los números ‘I’, ‘II’ y ‘III’, y el reflector con la letra ‘A’. Figuran también otros rotores y reflectores que fueron apareciendo posteriormente. En 1938 se pusieron en servicio los rotores ‘IV’ y ‘V’, aumentando a cinco el número de rotores disponibles. (Con ello, el número de selecciones ordenadas de tres de ellos se eleva a 5·4·3 = 60). Un año antes, el reflector ‘B’ había reemplazado al inicial ‘A’; y en 1941 apareció otro reflector, el ‘C’, que se utilizó conjuntamente con aquel. Por entonces, en plena Segunda Guerra Mundial, varios miles de Enigmas estaban siendo empleadas.

Page 149: Libro criptografia

8. MÁQUINAS DE ROTORES

141

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Rotor I: E K M F L G D Q V Z N T O W Y H X U S P A I B R C J Q Rotor II: A J D K S I R U X B L H W T M C Q G Z N P Y F V O E E Rotor III: B D F H J L C P R T X V Z N Y E I W G A K M U S Q O V Rotor IV: E S O V P Z J A Y Q U I R H X L N F T G K D C M W B J Rotor V: V Z B R G I T Y U P S D N H L X A W M J Q O F E C K Z Rotor VI: J P G V O U M F Y Q B E N H Z R D K A S X L I C T W M, Z Rotor VII: N Z J H G R C X M Y S W B O U F A I V L P E K Q D T M, Z Rotor VIII: F K Q H T L X O C B J S P D Z R A M E W N I U Y G V M, Z

Rotor β: L E Y J V C N I X W P B Q M D R T A K Z G F U H O S Rotor γ: F S O K A N U E R H M B T I Y C W L Q P Z X V G J D

Reflector A: (AE) (BJ) (CM) (DZ) (FL) (GY) (HX) (IV) (KW) (NR) (OQ) (PU) (ST) Reflector B: (AY) (BR) (CU) (DH) (EQ) (FS) (GL) (IP) (JX) (KN) (MO) (TZ) (VW) Reflector C: (AF) (BV) (CP) (DJ) (EI) (GO) (HY) (KR) (LZ) (MX) (NW) (TQ) (SU)

Reflector B dünn: (AE) (BN) (CK) (DQ) (FU) (GY) (HW) (IJ) (LO) (MP) (RX) (SZ) (TV) Reflector C dünn: (AR) (BD) (CO) (EJ) (FN) (GT) (HK) (IV) (LM) (PW) (QZ) (SX) (UY)

Tabla 8.3. Especificaciones de los rotores en la versión militar de Enigma.

La armada alemana siempre dudó de la seguridad que ofrecía Enigma y no cesó en añadir modificaciones que dificultaran el trabajo de posibles criptoanalistas. A partir de 1939 añadió tres nuevos rotores a los cinco que empleaba el resto del ejército: los rotores ‘VI’, ‘VII’ y ‘VIII’. Estos tres rotores exclusivos de la armada tienen la característica de presentar dos muescas en el Ringstellung en lugar de una, lo que produce un movimiento más frecuente del rotor adyacente. A partir de 1942, los submarinos alemanes emplearon una Enigma con cuatro rotores. Su cuarto rotor, identificado con la letra griega ‘β’, no gira durante el cifrado; aunque puede situarse en las 26 posiciones posibles, entre el reflector y los otros tres rotores. Un año después, un similar rotor ‘γ’ fue puesto en uso. Para asegurar la compatibilidad de la nueva máquina de cuatro rotores con la antigua de tres, dos nuevos reflectores ‘B dünn’ y ‘C dünn’ deben emplearse conjuntamente con los rotores ‘β’ y ‘γ’, respectivamente. Así, el cifrado con reflector ‘B’ de la máquina de tres rotores es el mismo que el producido con el reflector ‘B dünn’ y el rotor ‘β’ en la Enigma de los submarinos. Y en 1944, la armada introdujo dos modificaciones más en su Enigma. La primera el reflector ‘D’, con la posibilidad de variar sus conexiones internas. La segunda un dispositivo especial, el ‘Uhr box’. Esta caja se acoplaba al Stecker mediante 20 cables, haciendo no involutiva su permutación. Además, cada hora se movía un dial en el Uhr box que alteraba dicha permutación.

Y todavía hubo otras versiones diferentes de Enigma. Una muy conocida es el modelo ‘Abwehr’, empleado por el servicio secreto alemán. Este aparato no incorpora el Stecker. En realidad es el modelo comercial ‘D’ con una variación en el movimiento de los rotores y en sus conexiones internas. Estos, incluido el reflector, se mueven en el modelo Abwehr mediante un sistema de engranajes en lugar del mecanismo de muescas y dientes explicado antes.

Page 150: Libro criptografia

8. MÁQUINAS DE ROTORES

142

En fin, creemos haber dedicado ya suficientes párrafos a la descripción de las múltiples variantes de la famosa Enigma alemana. Nos la volveremos a encontrar en el siguiente capitulo, que dedicamos íntegro a su criptoanálisis; quizás el episodio más interesante y relevante de la historia de la Criptografía.

Naturalmente, además de la americana y la alemana, hay otras máquinas de rotores. Casi todos los ejércitos que intervinieron en la Segunda Guerra Mundial tenían su propia máquina de rotores, diferente del resto. Muy conocidas son también la inglesa “Typex” y la japonesa “Purple”. No vamos a entrar en su descripción. Aunque no concluimos aquí esté capítulo. Queda hablar de la máquina de rotores sueca, la que sin duda fue la más vendida y permitió a su inventor hacer una gran fortuna.

Es la identificada por su creador, el ingeniero sueco Boris Hagelin, con las siglas C−38. Apareció en 1938. Un ingenio mecánico de tamaño de bolsillo que funciona sin corriente eléctrica y que, incluso, imprime el texto cifrado. Con estas características, no es extraño el éxito comercial que tuvo. Como no emplea la energía eléctrica, no responde al modelo de máquina de rotores que aquí hemos expuesto. La C−38 es una máquina de tipo “pin and lug”, mecanismo ideado por el propio Hagelin tres años antes. Trataremos de explicar su principio describiendo al mismo tiempo el funcionamiento de la C−38. Aclarará la exposición la Figura 8.12, en la que se muestra la versión de esta máquina empleada por el ejército americano: el famoso convertidor M−209.

Figura 8.12. El M−209 americano.

Page 151: Libro criptografia

8. MÁQUINAS DE ROTORES

143

Puede observarse en la mencionada figura que la máquina contiene un banco de seis rotores. Estos llevan en su anillo exterior unos pines en número distinto en cada rotor: 26, 25, 23, 21, 19 y 17, respectivamente. Los pines se identifican con sendas letras del alfabeto. Cada pin puede estar en dos posiciones, una activa y otra inactiva. Junto al banco de rotores hay un eje horizontal que lleva seis pequeñas barras verticales, una por cada rotor. Si al girar el rotor un pin activo llega a cierta posición, la diminuta barra correspondiente se levanta; si el pin esta inactivo, dicha barra se retrae. Puesto que cada vez que se cifra una letra todos los rotores avanzan una posición, se obtiene una sucesión de estados (levantados o retraídos) de las seis barritas. El periodo de esta sucesión puede llegar a ser el maximal: 26·25·23·21·19·17 = 101405848, ya que estos factores no tienen ningún divisor primo en común.

Detrás del eje de pequeñas barras se encuentra un cilindro con 27 varillas dispuestas horizontalmente, asemejándose a una pequeña jaula. Cada varilla lleva dos diminutas asas (“lugs”). Las asas pueden deslizarse a lo largo de la varilla y colocarse en una de las ocho posiciones destinadas a ello. Dos de estas posiciones son neutras. Cada una de las otras seis permite que el asa haga contacto con la pequeña barra asociada al correspondiente rotor, si es que está elevada. Al cifrar una letra la jaula da una revolución completa. Si durante esta rotación un asa de una varilla contacta con una barra levantada, la varilla se desliza hacia la izquierda. Como hay 27 varillas, un número entre 0 y 27 de ellas sufrirán un desplazamiento en la codificación de una letra; y este número es diferente cada vez, puesto que así lo es el estado de las seis barras asociadas a los rotores.

Con este ingenioso mecanismo Hagelin consigue generar una sucesión de enteros entre 0 y 27, prácticamente aleatorios y cuyo periodo es un número muy grande, coincidente con el de la serie de estados de las barras. Cada número se utiliza para cifrar una letra en la manera que explicamos a continuación. En la parte izquierda de la máquina figura una rueda con las 26 letras del alfabeto en el orden habitual. Para cifrar una letra se gira esta rueda hasta que dicha letra llega a una posición señalada al efecto. Al mismo tiempo, el eje de la rueda gira otra que contiene en su borde el alfabeto de cifrado pero con las letras en orden inverso. Seguidamente, se acciona una manivela situada en la parte derecha de la máquina. La manivela ocasiona primero un giro completo de la jaula, imprime el carácter cifrado después y, por último, hace adelantar un paso los seis rotores. Al revolucionar la jaula, cada desplazamiento de sus varillas ocasiona un avance de la rueda que contiene el alfabeto de cifrado, trayendo una nueva letra de este alfabeto a la posición marcada. Seguidamente, el dispositivo de impresión es activado por la acción de la manivela y graba la letra resultante en una cinta de papel. Las varillas deslizadas retornan a su posición inicial y, por último, los seis rotores avanzan un paso trayendo una nueva configuración de las pequeñas barras y concluyendo así el ciclo de cifrado.

La codificación de una letra puede describirse mediante una ecuación si hacemos uso de la aritmética de letras introducida en el tema anterior. Como allí hicimos, identifiquemos la ‘A’ con el 0, la ‘B’ con el 1, la ‘C’ con el 2, etcétera. Tanto el alfabeto en claro como el de cifrado están grabados en el borde de sendos discos unidos por un mismo eje. Este segundo alfabeto sigue el orden inverso y ello ocasiona que la ‘A’ del alfabeto en claro se corresponda con la ‘Z’ del alfabeto de cifrado, la ‘B’ con la ‘Y’, la

Page 152: Libro criptografia

8. MÁQUINAS DE ROTORES

144

‘C’ con la ‘X’ y así sucesivamente. La ecuación que relaciona una letra α del alfabeto en claro con otra β del de cifrado es entonces β=25−α. El mecanismo de cifrado no hace sino girar un número de pasos π el eje de los alfabetos. Añadiendo π al lado derecho de la ecuación anterior, tenemos ya la expresión que nos relaciona una letra α con su cifrada β:

β=25−α+π.

Despejando α en esta igualdad, α=25−β+π . La misma ecuación. Ello significa que la máquina produce un cifrado involutivo. La misma clave sirve a la vez para cifrar y descifrar.

Hablar de ellas es lo único que falta para describir completamente el criptosistema que implementa el ingenio de Hagelin. Cada clave está constituida por los siguientes tres datos: el estado activo o inactivo de los pines, la posición inicial de los rotores y la disposición de las pequeñas asas o lugs. Hay en total 131 pines que se pueden configurar de 2131 modos diferentes. El número de posiciones iniciales de los seis rotores es el ya mencionado producto 26·25·23·21·19·17 = 101405848. Las dos asas de una varilla pueden colocarse de (8·7)/2=28 modos diferentes. Como hay 27 varillas obtenemos 27·28=756 maneras distintas de colocar las asas. El producto 2131·101405848·756 da el número de claves disponibles, una cifra que supera a 1050. En la práctica, la máquina se utilizaba manteniendo la misma configuración de pines y lugs durante un periodo de tiempo determinado, un día o una semana por ejemplo; pero la posición inicial de los rotores variaba con cada mensaje. Usando así la máquina, la posición inicial de los rotores debe transmitirse en claro junto con el mensaje cifrado.

Además de escribir el texto cifrado, la máquina incorpora un contador que muestra el número de letras cifradas en cada momento. En caso de error, un botón permite regresar al estado anterior para corregirlo. Si la máquina se queda sin papel puede verse la letra cifrada en la rueda correspondiente. En fin, toda una maravilla mecánica. Su único punto débil es la seguridad del criptosistema que proporciona. En un ataque con texto pleno, un criptoanalista puede recuperar la configuración de pines y lugs y a partir de ahí el resto de mensajes cifrados con esa misma configuración. También es posible un ataque con texto cifrado únicamente, pero se requiere una alta capacidad de cálculo.

Al igual que otras máquinas anteriores de Hagelin, la C−38 tuvo una buena acogida en algunos países europeos. En 1940, cuando Hitler ya había conquistado media Europa, Hagelin viajó secretamente de Estocolmo a Washington con 50 ejemplares de la C−38. La máquina encantó al ejército americano y decidió incorporarla como sistema criptográfico de nivel medio, sustituyendo al cilindro criptográfico M−94. En 1942, la compañía de máquinas de escribir “Smith & Corona” inició la producción en serie del criptógrafo de Hagelin con la denominación militar de convertidor M−209. Más de ciento cuarenta mil unidades fueron fabricadas.

Al terminar la guerra, el ahora multimillonario Boris Hagelin regresó a Suecia. Enseguida se dio cuenta que el negocio de la Criptografía no había concluido con la guerra. Los nuevos países que surgieron de ella constituían un mercado potencial mayor incluso que el que había antes del conflicto. En 1948, Hagelin fundó en la pequeña ciudad

Page 153: Libro criptografia

8. MÁQUINAS DE ROTORES

145

suiza de Zug la compañía “Crypto AG”, dedicada exclusivamente a la Criptografía. La razón del traslado a Suiza fue el obstáculo que el gobierno sueco puso al desarrollo de esta disciplina, freno inexistente en Suiza. Desde su fundación y aún en la actualidad, Crypto AG ha sido una empresa boyante, cuya producción no ha conocido crisis alguna.

Page 154: Libro criptografia
Page 155: Libro criptografia

147

9

CRIPTOANÁLISIS DE ENIGMA

En 1974, el que fuera oficial del servicio de inteligencia británico, Frederik W. Winterbotham, se atrevió a revelar en su libro “The Ultra Secret” lo que todavía era un secreto oficial: que durante la Segunda Guerra Mundial los aliados habían descifrado regularmente la correspondencia militar alemana y que ello les había proporcionado una gran ventaja en sus confrontaciones bélicas con el ejército alemán. El libro despertó un gran interés en Gran Bretaña y Estados Unidos, y acabó vendiéndose por todo el mundo. No era la primera publicación acerca de tal hecho, pero sí la que despertó la curiosidad por el tema de numerosos historiadores y criptógrafos. Tras el de Winterbotham, una sucesión de textos fueron descubriendo poco a poco como se logró penetrar en Enigma. Es, con diferencia, el episodio más contado de toda la historia de la Criptografía. También el más fascinante.

Explicar detallada y razonadamente los diferentes métodos que se emplearon en el criptoanálisis de Enigma es complicado, requiere un libro entero. Y emplear unas matemáticas que superan el nivel elemental que aquí hemos decidido no sobrepasar. Limitados entonces por los objetivos marcados en este texto, nos conformaremos con un amplio resumen. Su lectura requerirá estar familiarizado con la máquina. De ella se hizo una descripción detallada en el capítulo anterior y a él nos remitimos.

Hay que comenzar con el criptoanálisis de las versiones comerciales de Enigma. Esta labor se inició a finales de los años veinte, en la Government Code & Cypher School (GCCD), la oficina de inteligencia británica que sucedió a la Habitación 40 tras la Primera Guerra Mundial. Uno de sus miembros, Hugh Foss, encontró un complicado método para penetrar en el cifrado de Enigma. Pocos años después, el también perteneciente a la GCCD, Alfred ‘Dilly’ Knox, desarrolló y perfeccionó dicho método. El mismo Knox lo puso en práctica durante la Guerra Civil española, criptoanalizando la máquina Enigma empleada por la armada italiana. (La Enigma comercial identificada con la letra K, pero con las conexiones internas de los rotores alteradas. Este modelo K era muy similar al que llamamos D en el tema anterior.) Según los británicos, el trabajo de Knox fue de enorme ayuda a la Royal Navy en la trágica batalla del cabo Matapán, en 1941. En ella, la flota italiana sufrió enormes pérdidas.

Page 156: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

148

Tratar de explicar el método de Knox, al que los ingleses denominaron ‘rodding’, es el objetivo de los siguientes párrafos. Exactamente: mostraremos como criptoanalizar un texto cifrado con Enigma D en el supuesto que se disponga de un ejemplar de la máquina y que se haya identificado un pequeño fragmento de texto en claro. En tal caso, el método de Knox proporciona la clave. Con ella se puede descifrar completamente el mensaje.

Acceder a un ejemplar de Enigma sólo está al alcance de unos pocos y nosotros no estamos entre ellos. Por fortuna, el ordenador puede suplir esta carencia. No es difícil elaborar un programa que simule el cifrado de una máquina de rotores. Naturalmente, se necesita conocer su mecanismo y las conexiones internas de los rotores. Aprovechando la detallada descripción que de Enigma D hicimos en el capítulo anterior, y con los datos de la Tabla 8.2, hemos construido en el ordenador un simulador de esta máquina. Con él hemos cifrado cierto texto en claro. El criptograma resultante, agrupando las letras en bloques de cinco, es el siguiente:

WUZKV OKXKW ARHZO THRQC AKVBA NBKOV KTESD LUAVO DOKIP RMLRJ EYBXU MLQSS CJHNY KKCVJ SAR

Del texto en claro sabemos que comienza por ‘CGXINFORMAX...’ (CG es abreviatura de Cuartel General. La X se utiliza como separador de palabras, hecho común en cifrados con Enigma). Este pequeño trozo va a ser suficiente para determinar la clave que, recordemos, consta de los siguientes datos: la posición inicial de los anillos respecto al cuerpo de los rotores, el orden de éstos al colocarlos en la máquina y la posición inicial de rotores y reflector.

En primer lugar, como ya señalamos en la descripción de Enigma D efectuada en el capítulo anterior, girar inicialmente los anillos de sus rotores es una operación redundante ya que ello no afecta al movimiento de los mismos. Así, por ejemplo, girar un anillo de un rotor situando la A sobre el contacto 4 y luego colocar el rotor en la máquina viendo la N por la ventanilla equivale a colocar la A del anillo encima del contacto 1 y disponer el rotor viendo la K por la mencionada ventanilla. En consecuencia, en nuestro criptoanálisis, podemos muy bien suponer que los anillos de los rotores están situados con la A junto al contacto 1.

Hecha esta aclaración, fijémonos en la Figura 9.1, que esquematiza el cifrado de Enigma al pasar la corriente eléctrica por el banco de rotores. Primero atraviesa el Stator, luego los rotores derecho, central e izquierdo, se refleja en el reflector y deshace el camino anterior hasta concluir su viaje en el panel de lámparas. Antes de ello, se ha producido el avance de los rotores. Pero este movimiento se limita casi exclusivamente al rotor derecho, que adelanta un paso con cada letra. El central lo hace cada 26 letras, y el izquierdo cada 650. Así, hay fragmentos de 26 letras en los que únicamente el rotor derecho se mueve. El bloque formado por el reflector y los rotores izquierdo y central permanece inmóvil, se comporta como un reflector fijo. Este es el punto débil de Enigma que aprovecha el método que concibió Knox. Veámoslo.

Page 157: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

149

Figura 9.1. Esquema de cifrado en Enigma D.

El punto de partida es que la máquina ha transformado el fragmento de texto en claro ‘CGXINFORMAX’ en las once primeras letras del criptograma: ‘WUZKVOKXKWA’. Como disponemos de la máquina, conocemos la sustitución que proporciona el Stator. En consecuencia, podemos determinar el transformado del trozo en claro tras su paso por el Stator. Y también el correspondiente fragmento de texto cifrado antes de atravesar dicho Stator. La ya citada Tabla 8.2 incluye la sustitución del Stator; con ella deshacemos su acción:

Supongamos ahora que con los nuevos fragmentos de texto repetimos la acción anterior, empleando un rotor en lugar del Stator. Obtenemos otros dos trozos. Llamemos C1 al transformado del fragmento ‘UNTHXMIDYJT’ y D1 al de ‘BGFQVIQTQBJ’. Sucede que si el rotor empleado es el rotor derecho de la clave y en la posición inicial correcta, entonces C1 y D1 son “isomorfos”, según explicamos a continuación. En el proceso de cifrado, C1 se transforma en D1 mediante la acción del bloque constituido por el reflector y los rotores izquierdo y central. Si durante esta transformación tal bloque ha permanecido inmóvil, ha actuado como un reflector fijo; esto es, ha tenido lugar una sustitución involutiva. Ello implica que, por ejemplo, si una A en C1 se cambia una vez por una P en D1, entonces toda A de C1 se transforma en P en D1 y viceversa: toda P de C1 se sustituye por A en D1. En esto consiste el isomorfismo. Puede suceder que, durante la transformación de C1 en D1, el rotor central haya avanzado (recordemos que ello ocurre tras verse la Z del rotor derecho en la ventanilla correspondiente.) En tal caso, puesto que los fragmentos de texto tienen sólo once letras, lo habrá hecho una o dos veces seguidas (en este segundo caso, el rotor central habrá movido también al izquierdo.) Ello rompe el isomorfismo entre C1 y D1. Aunque entonces estos fragmentos se parten en dos trozos en los que el rotor central está inmóvil y, en consecuencia, son isomorfos.

Por lo general, si C1 y D1 se obtienen con un rotor diferente al rotor derecho de la clave o con el mismo rotor pero en una posición inicial distinta, entonces C1 y D1 no son isomorfos.

UNTHXMIDYJT

BGFQVIQTQBJ

Stator CGXINFORMAX

WUZKVOKXKWA

WUZKVOKXKWA

CGXINFORMAX

Texto en claro

Texto cifrado Reflector Rotor Rotor Stator

Page 158: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

150

El isomorfismo permite averiguar el rotor derecho de la clave y su posición de partida. Para ello, hemos de contemplar todas las posibilidades para C1 y D1 y determinar cuando o bien son isomorfos o bien se parten en dos trozos que lo son. Puesto que hay tres rotores disponibles y 26 posiciones iniciales, el número de textos C1 y D1 diferentes es 3·26 = 78. Su cómputo es posible porque conocemos las conexiones internas de los rotores (figuran en la Tabla 8.2). Si se hace “a mano”, empleando lápiz y papel únicamente, es un proceso muy lento y tedioso que requiere disponer de sendas tablas en las que figuren las 26 sustituciones de un rotor en función de su posición en cada momento. Por ejemplo, la Tabla 9.1 contiene estas transformaciones para el rotor número 1 de Enigma D. La letra de la primera columna representa la letra que se observa en la ventanilla en cada posición y la fila de letras que sigue indica la sustitución que tendrá lugar en esa posición. Así, por ejemplo, si el rotor está en la posición K, al pulsar la tecla L esta letra se transforma en R.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Z: L P G S Z M H A E O Q K V X R F Y B U T N I C J D W A: O F R Y L G Z D N P J U W Q E X A T S M H B I C V K B: E Q X K F Y C M O I T V P D W Z S R L G A H B U J N C: P W J E X B L N H S U O C V Y R Q K F Z G A T I M D D: V I D W A K M G R T N B U X Q P J E Y F Z S H L C O E: H C V Z J L F Q S M A T W P O I D X E Y R G K B N U F: B U Y I K E P R L Z S V O N H C W D X Q F J A M T G G: T X H J D O Q K Y R U N M G B V C W P E I Z L S F A H: W G I C N P J X Q T M L F A U B V O D H Y K R E Z S I: F H B M O I W P S L K E Z T A U N C G X J Q D Y R V J: G A L N H V O R K J D Y S Z T M B F W I P C X Q U E K: Z K M G U N Q J I C X R Y S L A E V H O B W P T D F L: J L F T M P I H B W Q X R K Z D U G N A V O S C E Y M: K E S L O H G A V P W Q J Y C T F M Z U N R B D X I N: D R K N G F Z U O V P I X B S E L Y T M Q A C W H J O: Q J M F E Y T N U O H W A R D K X S L P Z B V G I C P: I L E D X S M T N G V Z Q C J W R K O Y A U F H B P Q: K D C W R L S M F U Y P B I V Q J N X Z T E G A O H R: C B V Q K R L E T X O A H U P I M W Y S D F Z N G J S: A U P J Q K D S W N Z G T O H L V X R C E Y M F I B T: T O I P J C R V M Y F S N G K U W Q B D X L E H A Z U: N H O I B Q U L X E R M F J T V P A C W K D G Z Y S V: G N H A P T K W D Q L E I S U O Z B V J C F Y X R M W: M G Z O S J V C P K D H R T N Y A U I B E X W Q L F X: F Y N R I U B O J C G Q S M X Z T H A D W V P K E L Y: X M Q H T A N I B F P R L W Y S G Z C V U O J D K E

Tabla 9.1. Las sustituciones del rotor nº 1.

El cálculo a mano de todos los fragmentos C1 y D1 se acelera notablemente empleando tiras de papel deslizantes confeccionadas con las columnas de estas tablas. De ahí el nombre de ‘rodding’ al método de Knox. Imaginamos que en tiempos de Enigma los criptoanalistas ingleses utilizarían máquinas electromecánicas con las que obtendrían rápidamente todos los fragmentos C1 y D1 posibles. Hoy en día, el ordenador lo hace al instante. Con su ayuda hemos elaborado la Tabla 9.2, en la que figuran los textos C1 y D1 para cada posición inicial del rotor 1 de Enigma D. En ella, hemos situado C1 sobre D1 para que se observe mejor si son isomorfos. A su lado, en la izquierda, figura la posición

Page 159: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

151

inicial del rotor. A partir de la posición P los textos están partidos en dos. Ello es porque el rotor ha llegado a la posición Z durante su movimiento, ocasionando a continuación el avance del rotor central. Este momento lo representa el espacio en blanco que parte en dos los fragmentos.

NQGNLWLJZLI JZOHDXUDOXC DODLXRJH DPG Z: PZYQSSWEVHJ I: HONUROXYJBN R: BDCPFPTV YFI HDZGBOYCRJO PSAAWANWGND EGWWQSB SVIZ A: FCBJGLCHNAC J: AQPFAURZMUY S: URQZXJG TAQS AVFQMMQMUCA BKUUGQFQIYW XJJCKL EYJSF B: QLKDJYVXBKW K: KIHLBNJSVOE T: OUTAVB YMSWT GXYRSFSNDWU VYMNHBTJAEJ KSBOD VNKMTY C: WMLWZQNIELP L: LGFXUFMCWHQ U: HKJTO EAGQIM ZPQKEZKGEPM NBPTAHWPYQB CTDI JWOECMQ D: IFECKSBOUEV M: EZYRETVDPNK V: NVUG INSZJCZ RNEXYSITXVP QRYMNTMIRKD EMV ACPHWNZE E: CPOVQKEAFRO N: RTSJFWWWZGC W: GBA YBOQFDUR FGHPQYBLHOY ZCZEFNXALCV WW TDUCRZTRH F: UQPNCIUULJG O: JMLMYMPJAYF X: YN MAHHJYWXT IAXRTRVNIGZ AISSHFDOEF T U XMMIUSIFTX G: XJIBWBFMXLU P: LSRVLXZBTM O Y: M HGSARDQCGL YTIJCJOFBUS TUCVZIPRK OM H: GWVEOVLPRDX Q: DLKWDDADG PP

Tabla 9.2. Los fragmentos C1 y D1.

Fijémonos, por ejemplo, en los trozos C1 y D1 obtenidos con el rotor 1 en su posición inicial Z. No son isomorfos porque en D1 figuran dos S consecutivas y encima de ellas dos letras diferentes en C1. Observemos ahora los primeros trozos de C1 y D1 correspondientes a la posición inicial U. Vemos una K sobre una H y a continuación una S sobre una K. Si fueran isomorfos, la S debería ser H. En cambio, los textos que figuran al lado de la posición G sí son isomorfos: la I y la X se emparejan tres veces, la R y la B dos. Muy probablemente, el rotor derecho de la clave es el número 1 y en la posición G. Aunque también es posible la posición W, la única que no permite confirmar o descartar el isomorfismo por no repetirse las letras en ninguno de los dos trozos en que se han partido C1 y D1. Continuemos el criptoanálisis suponiendo que el rotor derecho de la clave es el número 1 en la posición inicial G. Si llegamos a una contradicción, habrá que considerar la posición W. Si de nuevo se alcanza una contradicción, habrá que probar con otro rotor.

El siguiente paso es averiguar el rotor central y su posición inicial. Para ello, es necesario observar el cambio de isomorfismo que se produce en los textos C1 y D1 cuando avanza el rotor central. Como ya hemos dicho en varias ocasiones, tal avance se produce tras llegar el rotor derecho a la posición Z. Si éste parte de la G, llegará a la Z tras 19 letras codificadas. En consecuencia, el cambio de isomorfismo no se observará en fragmentos con menos de 20 letras. Es lo que sucede con nuestros C1 y D1: sólo tienen once letras. Si no los ampliamos más allá de 20 letras, nuestro criptoanálisis se detendrá.

Page 160: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

152

Podemos ampliar el fragmento D1 más allá de 20 letras porque disponemos de la totalidad del texto cifrado. Sólo tenemos que repetir el proceso anterior con una porción mayor de texto cifrado. Pero, en principio, esto no es posible con C1 ya que desconocemos como continúa el trozo de texto en claro del que hemos partido. Aunque quizás nos ayude el isomorfismo descubierto. Veámoslo. En primer lugar, alarguemos D1 repitiendo lo anterior con las 26 primeras letras del texto en claro:

D1: XJIBWBFMXLUQHCXPNRX NPSAHMM

El espacio en blanco que hemos añadido corresponde al momento que el rotor llega a la posición Z. Hasta ese espacio, podemos añadir letras a C1 en virtud del isomorfismo ya conocido: encima de la X una I, sobre la N una M... Descubrimos cuatro nuevas letras en C1:

C1: IAXRTRVNIGZ***I*MBI D1: XJIBWBFMXLUQHCXPNRX

Obtengamos las letras del texto en claro que corresponden a las cuatro letras recuperadas. Para ello, las sometemos primero a la acción inversa del rotor número 1 y después a la del Stator. Por ejemplo, efectuemos esta operación con la I que ocupa el decimoquinto lugar. Después de quince pasos, el rotor ha llegado a la posición U. En la Tabla 9.1, la I de la fila correspondiente a la posición U está en la columna D; por tanto, la sustitución inversa del rotor cambia la I por la D. Y como según la Tabla 8.2 la D es la transformada de la R mediante el Stator, resulta que la R es la letra decimoquinta del texto en claro. De igual modo procederíamos con las otras tres letras y descubriríamos sus asociadas en el texto en claro. Tras hacerlo, éste queda así:

Texto en claro: CGXINFORMAX***R*QUI C1: IAXRTRVNIGZ***I*MBI

Hemos de completar los trozos reemplazando los asteriscos por las letras correctas. El modo de hacerlo es conjeturar con letras que den sentido al texto en claro y que, al transformarlas, mantengan el isomorfismo entre C1 y D1. O, recíprocamente, suponer letras en C1 que no contradigan el isomorfismo y que al trasladarlas al texto en claro conserven el significado. Esta es la parte más delicada del criptoanálisis, donde la intuición es más eficaz que la argumentación. Por ello, mejor presentamos ya los trozos completos:

Texto en claro: CGXINFORMAXSEXREQUI C1: IAXRTRVNIGZOPDIHMBI D1: XJIBWBFMXLUQHCXPNRX

Ya hemos llegado hasta el espacio en blanco en C1. Pero debemos superar la barrera que representa. Sólo es posible recurriendo de nuevo al texto en claro. En él parece asomar una forma impersonal de los verbos requerir o requisar. Probemos con ‘requiere’. Si acertamos, habremos prolongado correctamente C1 con tres letras más.

Page 161: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

153

Pasando ‘ERE’ primero por el Stator y después por el rotor 1 (que ha llegado a la posición Z), obtenemos:

C1: IAXRTRVNIGZOPDIHMBI GYX D1: XJIBWBFMXLUQHCXPNRX NPS

Notemos como ha cambiado el isomorfismo tras el espacio en blanco: Antes de él, la G se emparejaba con la L, después va asociada a la N. Como decíamos, tal cambio permite descubrir el rotor central y su posición inicial en la clave. Y del mismo modo que antes: Sometemos los textos C1 y D1 a la acción de otro rotor en cada una de sus 26 posiciones iniciales. Aquella en la que los textos resultantes presenten el mismo isomorfismo antes y después del espacio en blanco será, muy probablemente, la posición correcta en la clave. Si tal circunstancia no se observa en ninguna posición, habrá que probar con el otro rotor.

En la Tabla 9.3 se presentan los 26 transformados de los textos C1 y D1 con el rotor 2 en cada una de sus posiciones iniciales posibles. Esta tabla puede obtenerse rápidamente incluso a mano, ya que el rotor central sólo avanza una vez, tras el espacio en blanco. Naturalmente, necesitamos una tabla similar a la 9.1, en la que figuren las sustituciones que produce el rotor número 2 en cada una de sus 26 posiciones. Si examinamos la Tabla 9.3, únicamente en la posición Q se observa idéntico isomorfismo antes y después del espacio en blanco. Ello es porque, en efecto, el rotor central es el número 2 y su posición inicial es la Q.

Ya no es necesario prolongar los nuevos fragmentos para revelar completamente la clave. Sometemos los dos textos proporcionados por el rotor 2 en su posición inicial Q a la acción del tercer y último rotor, en sus 26 posiciones iniciales posibles. (Durante esta operación, este rotor no gira porque el central no llega a la posición Z.) Obtendremos una tabla similar a la 9.3. Seguidamente, nos ayudamos de otra tabla en la que figuren las 26 sustituciones involutivas del reflector en función de su posición inicial. Debe haber una casilla en cada una de estas dos últimas tablas en las que se observen los mismos emparejamientos de letras. Tales casillas corresponderán, respectivamente, a la posición inicial del rotor izquierdo y del reflector. Pero no detallamos esta última parte del criptoanálisis y dejamos que el lector interesado complete la clave y descifre el mensaje.

Page 162: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

154

JSNYMYPWJFUIRGJXELJ WTC YSEUHULIYOVGZFYARKY ZUB Z: NQJLCLTENHKZXVNRWYN HYL M: EDYKXKMREBTJAWEZIUE FIG JSNYMYPWJFUIRGJXELJ WTC CJBOSOWFCZRYIMCXHVC WQT A: NQJLCLTENHKZXVNRWYN HYL N: BPCVDVNHBQKTXEBIFOB XSR PKCZJZBHPWRQYAPIVUP HQS OUTFJFCXOWIHSKOBEDO AHP B: CNPUMUEVCDOXIFCYHZC PWI O: TZODADYETGVNBLTSXFT GMI MTSKNKLPMHJXWRMOGEM NIP YCPQUQZGYATRMLYNWKY MSG C: SFMEBEVGSUAYOZSWPKS WXM P: POYKSKVWPDBENJPMGQP QDT EDPHZHAWENSVXCELOYE KRH NJGHAHRQNMBLDWNXFIN WAR D: PBEYRYGOPFKJLQPXWHP UIY Q: GENIOIZFGVYPXKGDQHG KOZ AXHLJLQUAKCWITADVPA CBQ DHRSXSNKDWICOTDMPJD LHZ E: HSAPOPMVHNZGDBHIULH VFI R: RBDJFJLPREQGMVROKSR BFW ROQXYXNVRCWHFERZTAR YVA AIZYPYEBALGNFXACJUA BFG F: QDRAGAJTQUPKZSQFVXQ GJX S: ZTAUQUVJZOMRCSZFBYZ MQO CZAHOHFGCYNEJKCQURC PMU STGVLVPMSBHEQJSZARS YGE G: ALCRPRBUASMWQDAJGHA DVN T: GCSRYRKAGIDXZWGQMVG DWK KQUWLWODKPYIVHKBFCK AXL BQENCNXDBYSPWTBRLVB QRF H: USKCZCXFUTEGBJUVDWU HFK U: EMBVFVALEZOURIEWDNE OTB RBLMDMYHRAPUFZRJCIR IOW LUFJNJEOLQPVTILACHL ZOQ I: LQRITIOCLENVJGLFHML TUC V: FGLHDHXCFKWMASFTOJF ULM PHWJMJSTPIAEUVPQGFP PZN FGQAVACUFZTSLYFKNRF JSN J: WRPFKFZGWBXLQYWUTJW DKL W: QXFRERPNQBDIKHQLUAQ RHU QENBWBJDQPGTKMQOSXQ NFY WQNLCLDRWJFKHVWETGW DER K: NCQXVXHSNFRIOUNKDBN SHV X: NIWGPGYTNMBZEXNHRLN JYB BWYKQKUSBNDJHXBPCTB OCE HFRTATOJHDPGYNHVQWH UDN L: YZBTMTOCYRIAPLYHSKY IZP Y: RZHWMWIQRSCKVURYJTR FRA

Tabla 9.3. Transformados de los textos C1 y D1.

Recordemos que el laborioso criptoanálisis anterior ha partido del supuesto que se disponga de un ejemplar de Enigma D y que se haya identificado un pequeño fragmento de texto en claro. En tiempos de Enigma, tal situación no era irreal en la práctica. El volumen de las comunicaciones que ya tenía lugar entre las unidades de un ejército requería emplear muchas máquinas cifradoras. Tarde o temprano, alguna caía en manos enemigas. Por otro lado, muchos mensajes militares se estructuraban siempre de la misma manera, incluyendo en su cabecera o su final fragmentos que indicaban quien emitía el mensaje y a quien iba dirigido. Con frecuencia, la identificación del emisor y del receptor de estos mensajes proporcionaba trozos de texto en claro. En la GCCS llamaron cribs (chuletas) a estos fragmentos de texto en claro.

Los alemanes también conocían el método anterior. Está comprobado que lo emplearon para acceder a las comunicaciones suizas durante la Segunda Guerra Mundial. Suiza, al igual que Italia y otras naciones europeas, empleaba una versión comercial de Enigma. Fruto del criptoanálisis alemán es la inclusión del panel de enchufes en la parte frontal de la versión militar, el Stecker. Con él, la seguridad de Enigma aumenta de forma considerable. Incluso hubiera sido indescifrable de no ser por... Pero mejor lo contamos más despacio.

Tras la Primera Guerra Mundial, el tratado de Versalles trajo la reducción del ejército alemán a poco más de 100.000 hombres y el desmantelamiento de gran parte de

Page 163: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

155

sus estructuras militares. Una de ellas, su oficina de cifras. Como consecuencia, las pocas comunicaciones cifradas se hacían de un modo muy simple, frecuentemente mediante transposiciones. Eran fácilmente criptoanalizadas por los servicios de inteligencia de los países vencedores de la Primera Guerra Mundial. Pero esta situación duró muy poco. A finales de los años veinte, los aliados interceptaron algunas comunicaciones militares alemanas que ya no seguían los simples patrones empleados hasta ese momento. Eran las pruebas que el ejército alemán estaba realizando con el nuevo criptosistema que pensaba adoptar, basado en la versión militar de Enigma. Entró en vigor en junio de 1930. A partir de entonces, los aliados dejaron de acceder a las comunicaciones de un ejército alemán en expansión.

El análisis de los mensajes cifrados mostraba que la nueva cifra alemana era un sistema polialfabético, con un periodo que superaba la longitud de los textos y con una clave que cambiaba diariamente. Todo indicaba que Alemania había adoptado un criptosistema basado en una máquina de rotores y contra el que no se conocía criptoanálisis alguno. Por otra parte, el mencionado análisis reveló una curiosa norma que afectaba a las seis primeras letras de los criptogramas y que enseguida fue observada por los criptoanalistas: Todos los textos cifrados de un mismo día que coincidían en su primera letra, lo hacían también en la cuarta. La misma regla seguían la segunda y quinta letras. Y también la tercera y sexta. Pero estas coincidencias no abrieron ninguna grieta en la cifra alemana. Parecía impenetrable.

La razón de la regla anterior está en el modo de cifrar con Enigma que inicialmente se escogió y que permaneció vigente hasta el 15 de septiembre de 1938. Hasta esa fecha, antes de cifrar un mensaje, el operador encargado de hacerlo debía disponer la máquina según la configuración inicial que se indicaba en la correspondiente “Tageschlüssel”, o clave del día. Cada una de ellas constaba de los siguientes datos:

1. El orden de los tres rotores disponibles (“Walzenlage”) y la posición de sus anillos (“Ringstellung”).

2. Las conexiones del Stecker, que hasta noviembre de 1936 fueron seis exactamente. Después de esta fecha y hasta fin de 1938, su número varió entre cinco y ocho.

3. La posición inicial de los rotores en la máquina (“Grundstellung”), determinada por las letras visibles en la ventanilla.

El Grundstellung y las conexiones del Stecker eran diferentes en cada Tageschlüssel. Pero el orden de los rotores y el Ringstellung se mantenían durante un trimestre. No obstante, este periodo se redujo a un mes a partir de enero de 1936. Y desde octubre de ese mismo año, todos los datos variaron ya diariamente.

Un ejemplo de Tageschlüssel es el siguiente:

Page 164: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

156

Walzenlage Ringstellung Stecker Grundstellung I III II X P R AT DS IJ MO WZ XY D E O

Tabla 9.4. Ejemplo de Tageschlüssel.

Una vez situada Enigma en la posición indicada en la clave del día, el emisor del mensaje elegía tres letras al azar y las cifraba dos veces. Las seis letras resultantes encabezaban el texto cifrado. Por ejemplo, si el trío de letras escogidas por el operador es ‘amx’, éste cifraba el fragmento ‘amxamx’. Si, por ejemplo, obtenía ‘PHBCJZ’, estas seis letras eran la cabecera del mensaje cifrado. Seguidamente, giraba los rotores hasta leer las tres letras escogidas en la ventanilla (‘amx’, en este caso). En esta nueva posición cifraba el mensaje propiamente dicho. El texto resultante se añadía a la cabecera anterior, obteniéndose el criptograma que se transmitía. El receptor del mismo, con Enigma en la posición señalada en la Tageschlüssel, descifraba primero las seis letras de la cabecera, recuperando así las tres letras elegidas por el emisor. A continuación, situaba los rotores en la posición marcada por esas tres letras y tecleaba el resto del criptograma, obteniendo el mensaje en claro. Los alemanes denominaban “Spruchschlüssel” (clave del mensaje) al trío de letras elegido por el operador.

De este modo, cada mensaje se cifraba con una posición diferente de los rotores, con la que elegía el operador que lo transmitía. A su vez, esta posición se radiaba cifrada con la clave indicada en la Tageschlüssel. Se cifraba por duplicado para que el receptor pudiera corregir posibles errores producidos durante la transmisión de la cabecera, los cuales impedirían descifrar el mensaje que seguía a continuación. El doble cifrado de la Spruchschlüssel explica que dos criptogramas que coincidan en su primera (segunda o tercera) letra lo hagan también en su cuarta (quinta o sexta, respectivamente) letra, ya que así lo hacen los dos fragmentos de texto en claro de los que proceden. Pero esto constituye un tremendo error criptográfico que, como veremos, comprometió la seguridad de Enigma. El mismo fin se hubiese conseguido cifrando la Spruchschlüssel una sola vez y transmitiendo el resultado por duplicado: ‘PHBPHB’, en nuestro ejemplo.

Los aliados supieron como empleaba Enigma el ejército alemán el 8 de noviembre de 1931. En esa fecha, espías franceses se reunieron en Bélgica con Hans-Thilo Schmidt, empleado de la oficina de cifra del ministerio de defensa alemán. A cambio de una importante suma de dinero, Schmidt facilitó a los franceses varios documentos secretos. Uno de ellos describía detalladamente el manejo de Enigma, otro hacía lo mismo con el sistema de claves en vigor.

Sin embargo, de nada sirvieron estos documentos a los criptoanalistas franceses. Tampoco a los ingleses, quienes dispusieron de una copia días después. Tras la descorazonadora respuesta inglesa, al jefe del servicio francés de “Decryptement et Interceptions”, el capitán Gustave Bertrand, se le ocurrió proporcionar dichos documentos al “Biuro Szyfrow”, la oficina de cifras polaca. Bertrand había oído hablar de la habilidad polaca en materia de criptoanálisis. Así, el 7 de diciembre de 1931, Bertrand viajó a Varsovia con una copia de los citados documentos y la entregó al mayor Gwido Langer, responsable del Biuro Szyfrow. Langer explicó a Bertrand que la información

Page 165: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

157

proporcionada era de enorme utilidad, pero que sin un ejemplar de Enigma su criptoanálisis era imposible. Los documentos incluían una detallada descripción de la máquina con la que quizás fuese posible construir una copia de Enigma; pero faltaban las conexiones internas de los rotores, dato imprescindible para reproducir Enigma.

Días después, el servicio secreto francés se reunió de nuevo con Schmidt. Este no les proporcionó las ansiadas conexiones internas de los rotores, pero sí las Tageschlüssels de ese mes de diciembre de 1931. Y al año siguiente, las correspondientes a los meses de mayo, septiembre, octubre, noviembre y diciembre. Bertrand viajó de nuevo a Varsovia con este material.

A finales de los años veinte, antes de aparecer Enigma, los polacos descifraban las comunicaciones alemanas sin ninguna dificultad. No obstante, el personal de la Biuro Szyfrow no estaba capacitado para derrotar a una máquina de rotores. Sus jefes se dieron cuenta de ello. Entendieron que tal tarea requería una sólida formación matemática. Por ello, a partir de 1928, contactaron con estudiantes de Matemáticas de la Universidad de Poznan. Varios de ellos recibieron cursos introductorios de Criptografía. La razón de elegir la Universidad de Poznan fue que sus alumnos hablaban alemán perfectamente, ya que Poznan había formado parte de Alemania desde 1793 hasta 1918. En septiembre de 1932, la Biuro Szyfrow empleó a tres jóvenes matemáticos de Poznan: Marian Rejewski, Jerzy Rozycki y Henry Zygalski. A ellos se les encargó el criptoanálisis de Enigma.

Rejewski lo logró a finales de diciembre de 1932. Mostrar como lo hizo es el propósito de los siguientes párrafos. En ellos va a ser inevitable recurrir a las Matemáticas, concretamente a la teoría de permutaciones. No obstante, intentaremos que nuestra exposición sea accesible a aquel lector no familiarizado con esta teoría matemática.

Examinando la documentación facilitada por el espía Schmidt, Rejewski comprendió que la máquina que estaba empleando el ejército alemán era una modificación de la versión comercial. La inclusión del Stecker era la variación principal y el mayor obstáculo en el criptoanálisis. Como en la comercial, la máquina militar disponía de tres rotores intercambiables y un reflector que ahora permanecía siempre fijo. La presencia del reflector implica que las sustituciones son involutivas. Esto y el doble cifrado del trío de letras que permite acceder al resto del mensaje, la Spruchschlüssel, fue el punto de partida del criptoanálisis de Rejewski. Veámoslo.

La Biuro Szyfrow interceptaba diariamente varias decenas de criptogramas. Rejewski entresacó las cabeceras de todos los mensajes de un mismo día. Obtuvo listas como la que figura a continuación:

Page 166: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

158

NEZ IDL CLX XKK AXW FYN YXF WYT JCS PSX WPB RUZ PKG CTH RLD AKM QCH JSO AEW FDN SNK HAY LFT KHB DCI DSI BRK EVY XLT SKB SYR HGR ISL ZFA QYC JGW EGR YXR ISN ZFG MDG TRH WAU RCC RLK AKY PEO CDJ WPB RUZ JLY PKU VCK LSY LFT KHB SPV HUQ IJA ZIE WLP RKV YQH WOO VAW LCN IZU ZNC BAN ECG OHO QJJ GZH GNO QJN JIG HIQ UWF OAI QCI HKZ UTL TUQ BBF MOQ TMF JNI PAI YVO WQJ ABB FPZ SPV HUQ WTC REW RWX AZK TYM BGP UDN VRG QHJ JJS ZOE MMD EOT YMB FMD NLM DML DLA GLD GKM JNZ PAL GLZ GKL KQA OOE OQR QOR TEP BDV LND KAM VCK LSY FFF NHT QDM JRP

Tabla 9.5. Lista de cabeceras.

De hecho, tal lista la hemos obtenido a partir de un programa en el ordenador que simula fielmente la máquina Enigma que entonces se utilizaba. Cada fragmento de seis letras es el cifrado repetido de tres letras escogidas al azar por nosotros. Naturalmente, con el simulador de la máquina dispuesto siempre según cierta Tageschlüssel.

Enigma cifra cada letra con una permutación diferente. No obstante, todas las primeras letras de las cabeceras de los mensajes han sido cifradas con la misma permutación, ya que la máquina parte siempre de la misma posición inicial indicada en la clave del día. De igual modo, todas las segundas letras han sido producidas también por la misma permutación, distinta a la anterior naturalmente. Lo mismo sucede con las otras cuatro letras de las cabeceras. Consideremos esas seis permutaciones y designémoslas por π1, π2... y π6, respectivamente.

Fijémonos en la primera cabecera de la lista anterior: ‘NEZIDL’. Es el resultado de cifrar dos veces tres letras que nos son desconocidas. Usemos la incógnita x para representar a la primera de ellas. Entonces π1 transforma x en N mientras que π4 sustituye x por I. En Matemáticas esto se expresa π1(x) = N y π4(x) = I. Ahora, recordemos que el cifrado de Enigma es involutivo. En consecuencia, sus permutaciones también lo son. Por tanto, π1(N) = x. Sustituyendo x en la otra igualdad: π4(π1(N)) = I, lo que significa que el producto (o composición) π4·π1 transforma la letra N en I, que π4·π1(N) = I. De igual modo, considerando ahora las permutaciones π2 y π5, se obtiene π5·π2(E) = D. Y, similarmente, π6·π3(Z) = L. Vemos así que cada cabecera de la lista proporciona un dato de cada uno de los productos π4·π1, π5·π2 y π6·π3. Como hay suficientes cabeceras, podemos obtener completamente estas permutaciones:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

π4·π1: F E X D Y N G U Z P O K T I Q C J A H B V L R S W M π5·π2: C P S R D H X J W I T K L A M U O V F E B Q Z Y G N π6·π3: E Z W M D T H O I S Y A P G J V F R X B C Q N K U L

Tabla 9.6. Los productos π4·π1, π5·π2 y π6·π3 .

Page 167: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

159

El objetivo es determinar las permutaciones πi. Ello pasa por factorizar π4·π1, π5·π2 y π6·π3 en producto de ciclos disjuntos. Fijémonos en π4·π1. Esta permutación transforma la A en F, la F en N, N en I... y al llegar a la R, esta letra se cambia por A. Hemos completado un ciclo de π4·π1: (A F N I Z M T B E Y W R), de 12 letras. Considerando una letra no incluida en este ciclo y repitiendo este proceso, encontramos otro. Por ejemplo, empezando con la C obtenemos este otro ciclo: (C X S H U V L K O Q J P), también de 12 letras. Quedan dos letras que no figuran en los dos ciclos calculados, la D y la G. Nos proporcionan ciclos de una sola letra: (D) y (G), ya que se transforman en ellas mismas. Ya tenemos todos los ciclos de π4·π1. Se dicen disjuntos porque ninguno de ellos comparte letra alguna con otro. Y se verifica que π4·π1 es producto de todos ellos:

π4·π1 = (A F N I Z M T B E Y W R)·(C X S H U V L K O Q J P)·(D)·(G).

El orden de los ciclos es indiferente puesto que, a diferencia de lo que ocurre en general con el resto de las permutaciones, los ciclos disjuntos conmutan. Similarmente se descomponen π5·π2 y π6·π3 en producto de ciclos disjuntos:

π5·π2 = (A C S F H J I W Z N)·(D R V Q O M L K T E)·(B P U)·(G X Y) π6·π3 = (A E D M P V Q F T B Z L)·(C W N G H O J S X K Y U)·(I)·(R).

En las tres factorizaciones obtenidas aparecen pares de ciclos de igual longitud. Ello no es casualidad. Tal y como demostró Rejewski, es lo que sucede cuando se multiplican dos permutaciones como las que produce Enigma, consistentes ambas en trece transposiciones disjuntas (una transposición es un ciclo de longitud dos). Más aún, su demostración indica como recuperar las trece transposiciones de que constan los factores: para cada pareja de ciclos de igual longitud, se elige una letra en cada ciclo y se escriben los ciclos uno debajo de otro, empezando por las letras elegidas y ordenando las letras de uno de ellos en modo inverso. Por ejemplo, fijándonos en los dos ciclos de longitud 12 que aparecen en la factorización de π4·π1 y eligiendo la F y la V, escribimos:

(F N I Z M T B E Y W R A) (V U H S X C P J Q O K L)

Entonces, las dos letras de cada columna determinan transposiciones del segundo factor π1: (F V), (N U), (I H)..., (A L); y las diagonales ascendentes proporcionan transposiciones del primer factor π4: (V N), (U I), (H Z)..., (L F).

Naturalmente, si variamos las letras elegidas en cada ciclo, entonces obtenemos emparejamientos diferentes que dan lugar a distintas transposiciones. El número de emparejamientos diferentes es precisamente la longitud de los ciclos. En consecuencia, hay varias soluciones para cada uno de los factores buscados. Así, en nuestro ejemplo, hay 12 soluciones para π1 y π4. Las mismas que para π3 y π6. Y este número aumenta a 30 para π2 y π5 porque las parejas de ciclos tienen longitudes 10 y 3. ¿Cómo elegir las soluciones correctas?

Aquí Rejewski contó con la “inestimable ayuda” de los operadores alemanes. Observó que, entre las decenas de mensajes que diariamente se transmitían, era frecuente

Page 168: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

160

encontrar cabeceras repetidas. Iguales deben ser también las correspondientes Spruchschlüssels. Algo extraño, si se tiene en cuenta que hay 263 = 17576 tríos de letras donde escoger. Rejewski pensó que ello era porque algunos operadores elegían ternas con las tres letras iguales; como sólo hay 26 distintas, es fácil que se produzcan repeticiones. Tenía razón. Los mismos alemanes se dieron cuenta de este mal hábito entre sus operadores y lo prohibieron en abril de 1933. Claro que entonces adquirieron este otro: elegir tres letras adyacentes en el teclado de Enigma como, por ejemplo, ‘qwe’ o ‘xdr’. Haciendo esto, es difícil que haya Spruchschlüssels repetidas; pero es muy probable que algunas compartan dos letras. Las correspondientes cabeceras tienen entonces cuatro letras en común. Esto también ayuda a identificar correctamente las permutaciones πi .

Nosotros, siguiendo fielmente el modo de proceder de los operadores alemanes, también formamos ternas con las tres letras iguales cuando obtuvimos la lista de cabeceras que nos sirve de ejemplo. En ella, los fragmentos ‘VCKLSY’ y ‘WPBRUZ’ figuran dos veces. Supongamos que provienen de tríos de letras idénticas y tratemos de hallarlas. Consideremos primero ‘VCKLSY’. Una letra que mediante π1 se transforme en V debe estar en el ciclo de π4·π1 que se empareja con el que contiene dicha V. Es (A F N I Z M T B E Y W R). Del mismo modo, una letra que mediante π2 se cambie por C debe estar en el ciclo (D R V Q O M L K T E). Y en (A E D M P V Q F T B Z L) se encuentra la letra que π3 la sustituya por K. Estos tres ciclos tienen en común las letras M, T, y E. Si ‘VCKLSY’ procede de una letra repetida tres veces, tal letra es una de las anteriores. Consideremos ahora ‘WPBRUZ’. Los ciclos duales de los que contienen a W, P, y B en π4·π1, π5·π2 y π6·π3 son, respectivamente, (C X S H U V L K O Q J P), (G X Y) y (C W N G H O J S X K Y U). La única letra en común es X. En consecuencia, ‘WPBRUZ’ ha sido originada por la terna ‘xxx’.

Luego π1(X) = W. Este dato permite ya determinar tanto π1 como π4. Para obtener sus trece transposiciones disjuntas, procedemos según explicamos antes: asociamos ahora la W con la X y escribimos de nuevo los dos ciclos de longitud doce de π4·π1, uno debajo de otro y con las letras del segundo en orden inverso:

(W R A F N I Z M T B E Y) (X C P J Q O K L V U H S)

Entonces:

π1 = (W X)(R C)(A P)(F J)(N Q)(I O)(Z K)(M L)(T V)(B U)(E H)(Y S)(D G) π4 = (X R)(C A)(P F)(J N)(Q I)(O Z)(K M)(L T)(V B)(U E)(H Y)(S W)(D G)

(Nótese que ambas permutaciones contienen la transposición (D G), obtenida al emparejar los dos ciclos de longitud 1 de π4·π1.)

De igual manera se calculan π3 y π6, casando la letra B con la X en los dos ciclos de longitud 12 del producto π6·π3:

Page 169: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

161

π3 = (B X)(Z S)(L J)(A O)(E H)(D G)(M N)(P W)(V C)(Q U)(F Y)(T K)(I R) π6 = (X Z)(S L)(J A)(O E)(H D)(G M)(N P)(W V)(C Q)(U F)(Y T)(K B)(I R)

Si emparejamos la P con la X en los correspondientes ciclos de π5·π2, únicamente descubriríamos tres transposiciones de π2 y π5, ya que 3 es la longitud de dichos ciclos. Para calcular las otras diez, necesitamos emparejar letras de los otros dos ciclos. Consideremos otra vez la cabecera repetida ‘VCKLSY’. Bajo el supuesto que proceda de un trío de letras iguales, hemos deducido que tal letra repetida es una de estas tres: M, T, o E. Como π1(T) = V, dicha letra debe ser T. Además, el hecho que π3(T) = K confirma que vamos por buen camino. Entonces π2(T) = C y ya tenemos el emparejamiento que nos faltaba: T con C. Sólo resta escribir convenientemente los ciclos de π5·π2:

(C S F H J I W Z N A) (P U B) (T K L M O Q V R D E) (X G Y)

Y obtener ya π2 y π5:

π2 = (C T)(S K)(F L)(H M)(J O)(I Q)(W V)(Z R)(N D)(A E)(P X)(U G)(B Y) π5 = (T S)(K F)(L H)(M J)(O I)(Q W)(V Z)(R N)(D A)(E C)(X U)(G B)(Y P)

Calculadas las permutaciones πi de cierto día, se pueden recuperar todas las Spruchschlüssels de ese día. Por ejemplo, la terna que dio lugar a la primera cabecera de nuestra lista, ‘NEZIDL’, es ‘qas’; ya que π1(N) = Q, π2(E) = A y π3(Z) = S. El primer paso hacía el criptoanálisis de Enigma ya estaba dado. Gracias al doble cifrado de las Spruchschlüssels.

No obstante, el conocimiento de las claves no sirve de nada si no se dispone de un ejemplar de la máquina con el que descifrar los mensajes. Y como los alemanes no iban a prestar una a los polacos, éstos, si la querían, debían construir una. Ello pasaba por conocer las conexiones internas de los rotores, algo que el espía alemán Schmidt o no podía o no quería proporcionar. No hizo falta, Rejewski las calculó.

El movimiento de los rotores tampoco figuraba en los documentos aportados por el espía alemán. Rejewski pensó que debía ser similar al de la máquina comercial. Si esto era así, la Enigma militar seguía teniendo el mismo punto débil que aquella: al cifrar fragmentos pequeños, únicamente el rotor derecho se mueve. Es lo que debía ocurrir la mayoría de las veces al cifrar las Spruchschlüssels que acababan de ser calculadas. De esta observación parte el análisis que permitió a Rejewski deducir las conexiones de los rotores.

Fijémonos de nuevo en la Figura 9.1, que esquematiza el cifrado de la comercial Enigma D. Sirve también para la máquina militar, cambiando el Stator por el Stecker. Supongamos que la máquina está dispuesta inicialmente según cierta Tageschlüssel. Designemos por la letra griega σ a la permutación que proporciona el Stecker; por α, β y δ a la de los rotores izquierdo, central y derecho, respectivamente; y por ρ a la del reflector. Observando la Figura 9.1 y teniendo en cuenta como fluye la corriente eléctrica en el

Page 170: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

162

banco de rotores, la permutación total de Enigma antes de empezar a cifrar se expresa matemáticamente así:

σ-1·δ-1·β-1·α-1·ρ·α·β·δ·σ

donde σ-1, δ-1... son las sustituciones recíprocas, las que tienen lugar cuando la corriente atraviesa los rotores y el Stecker en sentido contrario, tras abandonar el reflector. (Como ya habrá notado el lector familiarizado con permutaciones, la expresión anterior debe recorrerse de derecha a izquierda: primero actúa σ, luego δ, etcétera.)

Recordemos que el avance de los rotores se produce inmediatamente después que el operador pulsa una tecla y antes de cifrar la letra correspondiente. Como hemos dicho antes, admitamos que sólo el rotor derecho es el que mueve durante el doble cifrado de las Spruchschlüssels. Entonces, durante este cifrado, la única permutación que cambia en la expresión anterior es δ. Veamos cómo. Para ello, introducimos el ciclo de longitud 26: γ = (A B C . . . Z ), el que transforma la A en B, ésta en C..., y la Z en A. La nueva permutación del rotor derecho tras avanzar una posición es γ-1·δ·γ. (El lector puede comprobar esta afirmación en la Tabla 9.1, que contiene las 26 sustituciones de un rotor. Si δ es una de sus filas, entonces γ-1·δ·γ es la siguiente). Y su inversa (γ-1·δ·γ)-1 = γ-1·δ-1·γ. Cambiando en la expresión de antes δ y δ-1 por γ-1·δ·γ y γ-1·δ-1·γ, respectivamente, se llega a la permutación π1 que cifra la primera letra:

π1 = σ·γ-1·δ-1·γ·β-1·α-1·ρ·α·β·γ-1·δ·γ·σ

Nótese que hemos puesto σ en lugar de σ-1 porque, al ser involutiva la permutación proporcionada por el Stecker, σ= σ-1. Del mismo modo se obtiene una descomposición análoga para las demás permutaciones π2, π3..., y π6; en las que el rotor derecho avanza dos, tres..., y seis posiciones desde el punto de partida. Sólo hay que cambiar γ por γ2, γ3..., y γ6, respectivamente. Juntando las seis ecuaciones, Rejewski llegó al siguiente sistema:

π1 = σ·γ-1·δ-1·γ·β-1·α-1·ρ·α·β·γ-1·δ·γ·σ

π2 = σ·γ-2·δ-1·γ2·β-1·α-1·ρ·α·β γ-2·δ·γ2·σ · · ·

π6 = σ·γ-6·δ-1·γ6·β-1·α-1·ρ·α·β γ-6·δ·γ6·σ

En verdad, en las ecuaciones que inicialmente obtuvo Rejewski incluso aparecía una permutación más. Guiándose por la máquina comercial, en un principio supuso la presencia de un Stator que actuaba entre el Stecker y el banco de rotores. Le llevó algún tiempo darse cuenta que, en la Enigma militar, el Stecker no se añadía sino que reemplazaba al Stator.

Las permutaciones πi y γ son datos conocidos en las ecuaciones anteriores. También lo es σ, la sustitución del Stecker, si las ecuaciones corresponden a un día incluido en las Tageschlüssels suministradas por Schmidt. Entonces δ y el producto ω = β-1·α-1·ρ·α·β pueden ser calculados en el sistema anterior. No lo haremos, porque explicarlo nos

Page 171: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

163

adentraría más en la teoría de permutaciones y no es nuestro propósito. Aunque sí diremos que la solución de ese sistema no es única, sino que hay 26 permutaciones δ y ω que la cumplen. Ello es debido a que cada rotor tiene otros 25 equivalentes que producen el mismo cifrado, sólo es cuestión de ajustar el Ringstellung convenientemente. Eligiendo entre las 26 posibles una solución δ, se tienen ya las conexiones internas de un equivalente al rotor situado en la derecha. Y como el orden de los rotores era cambiado periódicamente, Rejewski pudo calcular primero equivalentes de los otros dos rotores y del reflector después. Tras ello, queda determinar el lugar donde va situada la muesca del Ringstellung que produce el avance del rotor adyacente. Pero esto ya es sencillo, sólo hay que descifrar algunos mensajes correspondientes a Tageschlüssels y Spruchschlüssels conocidas y observar cuando debe girar el rotor central para que el texto en claro siga revelándose.

En 1934, la fábrica de aparatos de radio AVA proporcionó a la Biuro Szyfrow las primeras réplicas polacas de Enigma. A partir de entonces, Rejewski y compañía pudieron descifrar cómodamente los mensajes alemanes. Naturalmente, después de averiguar la clave. Los polacos seguían obteniendo regularmente las Spruchschlüssels y recibían de los franceses las Tageschlüssels que algunos meses suministraba el espía alemán. Pero en la Biuro Szyfrow no querían depender de Schmidt. Por ello, Rejewski y sus dos colegas abordaron el problema recíproco, que consiste en completar la clave con la ayuda de la máquina y los criptogramas interceptados. Exactamente: el orden de los rotores, el Ringstellung y las conexiones del Stecker. Resumimos a continuación como lo resolvieron.

A Rozycki se le ocurrió una idea para identificar el rotor derecho. Como ya hemos comentado antes, entre las Spruchschlüssels solía haber algunas con dos letras repetidas. Supongamos que dos de ellas, correspondientes al mismo día, coinciden en sus dos primeras letras. Por ejemplo, ‘qwe’ y ‘qws’. Si el rotor de la derecha fuese el número I, partiendo de la posición ‘qwe’ nunca se llega a ‘qws’; ya que de ‘qwq’ se pasa a ‘qxr’ porque el rotor I hace avanzar al de su derecha cuando la Q de su anillo es visible en la ventanilla al efecto. Lo mismo sucede colocando el rotor II en la derecha, ya que tras ‘qwe’ se ve ‘qxf’. En cambio, como el tercer rotor debe llegar hasta la V para que se produzca el avance del rotor vecino, situando el rotor III en la derecha, de ‘qwe’ se llega a ‘qws’ al cabo de catorce pasos. Por tanto, en el caso que el rotor de la derecha sea el III, la decimoquinta letra del mensaje que arranca con ‘qwe’ se cifra con la misma permutación que la primera letra del mensaje que parte con ‘qws’. La decimosexta con idéntica que la segunda. Etcétera. Entonces, colocando los criptogramas uno debajo de otro y desplazando el segundo catorce lugares para que su primera letra quede debajo de la decimoquinta del primero, el número de letras coincidentes es el mismo que el de los textos en claro. En el idioma alemán, el porcentaje de coincidencias es 7.6. Luego, si en efecto, el porcentaje de coincidencias en los criptogramas se aproxima a este número, muy probablemente será porque el rotor III es el de la derecha. En otro caso, el porcentaje caerá hasta casi 3.8, que es el correspondiente a textos con letras elegidas aleatoriamente. En este caso, el rotor diestro será el I o el II y quizás otro par de Spruchschlüssels con las dos primeras letras iguales permita decidirlo.

Page 172: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

164

Una vez identificado el rotor derecho, el paso siguiente es encontrar las conexiones del Stecker; esto es, la permutación que antes representamos por σ. Para ello, consideramos de nuevo el sistema de seis ecuaciones obtenido por Rejewski, con las permutaciones πi ya calculadas. Si en estas ecuaciones no figurase la permutación σ, entonces al efectuar los productos

γ -i·δ·γ i·πi·γ -i·δ-1·γ i

obtenemos siempre la permutación ω = β-1·α-1·ρ·α·β. Pero, claro, está σ y, por tanto, ninguno de esos seis productos es ω. Tanto ω como estos productos constan de 13 transposiciones disjuntas. Como en el Stecker hay seis conexiones, σ altera doce letras y deja fijas las catorce restantes. Ello implica que, aún no siendo ω, cada uno de los seis productos anteriores contiene entre una y siete transposiciones de ω. Lo más probable es que sean tres o cuatro. Sucede que ω y δ son desconocidas. Ahora bien, como δ es una de las 26 permutaciones que implementa el rotor derecho, el cual hemos identificado, podemos calcular para cada valor posible de δ los seis productos de antes y tratar de averiguar cual es la permutación δ correcta. Muy probablemente será aquella que proporcione seis productos con más transposiciones repetidas. Y también muy posiblemente estas transposiciones duplicadas pertenezcan a ω. Se trata de analizar cuidadosamente cada caso para determinar correctamente δ y ω. Para facilitar esta labor, los polacos confeccionaron un catálogo con todas las permutaciones ω posibles, una por cada ordenación de los rotores y por cada posición de los rotores izquierdo y central. En total: 6× 26× 26 = 4056. Identificada ω, es fácil calcular σ. Sólo hay que comparar ω con los seis productos obtenidos; las doce letras que cambian, proporcionan σ. De este modo se averiguan las conexiones del Stecker. Y también el orden de los tres rotores y sus posiciones iniciales, determinados por las permutaciones δ y ω. (Por supuesto, todo este proceso se complica considerablemente si durante el doble cifrado de las Spruchschlüssels no es el rotor derecho el único que se mueve.)

Todavía falta por calcular el Ringstellung, ya que las anteriores posiciones iniciales de los rotores sólo proporcionan la diferencia entre el Grundstellung y el Ringstellung. Cuando las conexiones del Stecker son conocidas, la Enigma militar se puede criptoanalizar como la comercial, mediante el método de los isomorfismos que vimos antes. (Más fácil aún, porque el reflector no se mueve.) En la aplicación de dicho método, los polacos utilizaron el hecho que el texto en claro de muchos mensajes alemanes empezaba por ‘ANX’ (‘AN’ significa PARA en alemán y la ‘X’ se empleaba como separador de palabras). Lo supieron cuando gracias a las Tageschlüssels proporcionadas por Schmidt, descifraron mensajes de 1932. Un trigrama es, por supuesto, una cantidad muy pequeña de texto en claro, pero hay que multiplicarla por el número de mensajes en los que esté presente. Determinada la posición inicial del rotor diestro en un mensaje que comience por ‘ANX’, la de los otros dos rotores se puede obtener en el catálogo de permutaciones ω antes mencionado. Estas nuevas posiciones iniciales dan la diferencia entre la Spruchschlüssel y el Ringstellung. Y como la primera ya es conocida, puede calcularse el segundo.

El método anterior para determinar el orden de los rotores y las conexiones del Stecker fue mejorado notablemente en 1937. Todo el análisis anterior arranca de los

Page 173: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

165

productos π4·π1, π5·π2 y π6·π3. Como bien notó Rejewski, diferentes conexiones del Stecker cambian estas permutaciones pero no su estructura cíclica. Exactamente: el número de ciclos y sus longitudes no dependen de las conexiones del Stecker, sólo del orden de los rotores y de sus posiciones iniciales. Rejewski llamó característica a dicho número de ciclos y longitudes. En el ejemplo que pusimos antes, la característica es la siguiente terna ordenada de listas de números: {12, 12, 1, 1}, {10, 10, 3, 3} y {12, 12, 1, 1}. Otro ejemplo podría ser este: {10, 10, 1, 1, 1, 1}, {10, 10, 2, 2, 1, 1} y {13, 13}. Para cada orden de los rotores y cada posición inicial de éstos, se halló su característica (suponiendo siempre que sólo el rotor derecho es el que se mueve). En total, hubo que calcular 6× 26 3 = 105456 características. Algunas se repetían, pero casi todas eran diferentes. Los resultados se ordenaron en un catálogo en el que a continuación de cada característica iba el correspondiente orden de los rotores y sus posiciones iniciales. Calculada la característica de un día, el catálogo proporcionaba de forma inmediata el orden de los rotores y sus posiciones iniciales (la diferencia entre el Grundstellung y el Ringstellung). A continuación se procedía al cálculo de σ, la sustitución Stecker. Para ello, se comparaban los productos π4·π1, π5·π2 y π6·π3 con sus homónimos obtenidos sin conexión alguna en el Stecker. Las letras cambiantes proporcionan σ. Todo este proceso se efectuaba en unos pocos minutos.

En la confección del catálogo de características, los polacos emplearon un aparato que llamaron ciclómetro. La Figura 9.2 muestra el dibujo que de este artefacto hizo el propio Rejewski. Consistía en dos bancos de rotores conectados convenientemente y de modo que el rotor de la derecha de un banco estaba desplazado tres posiciones con respecto a su homónimo del otro banco. Debajo de los dos bancos de rotores figuraba un panel de lámparas y palancas, una por cada letra del alfabeto. Al accionar una palanca, una corriente eléctrica atravesaba varias veces los bancos de rotores y encendía un número par de lámparas, las correspondientes a dos ciclos asociados de la permutación π4·π1 . Accionando otra palanca de una letra no iluminada se encontraba otro par de ciclos asociados. Así se determinaba la descomposición en ciclos disjuntos de π4·π1 . Y variando el orden de los rotores y sus posiciones iniciales, se calcularon todas las permutaciones π4·π1 existentes. Ello fue suficiente para elaborar el catálogo, ya que las permutaciones π5·π2 y π6·π3 asociadas a una determinada posición de los rotores coinciden con la π4·π1 que se obtiene adelantando los rotores diestros una o dos posiciones, respectivamente.

Aún empleando ciclómetros, los polacos tardaron casi un año en completar el catálogo. Y poco tiempo después, el 1 de noviembre de 1937, los alemanes cambiaron el reflector y el proceso tuvo que empezar de nuevo. (Obviamente, tras hallar las conexiones del nuevo reflector.)

Page 174: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

166

Figura 9.2. Ciclómetro de Rejewski.

El 15 de septiembre de 1938 entró vigor una modificación en el sistema de cifrado que hizo inservibles los métodos anteriores. A partir de entonces, el Grundstellung era diferente para cada mensaje y, al igual que la Spruchschlüssel, elegido libremente por el operador. Sus tres letras se transmitían en claro en la cabecera del mensaje, antes de las seis letras que resultaban del doble cifrado de la Spruchschlüssel. De este modo, el receptor del mensaje se encontraba ahora con cabeceras de nueve letras. Como por ejemplo: ‘RXT AWDAPS’, en la que el trío de letras ‘RXT’ es el Grundstellung y las otras seis letras corresponden al doble cifrado de la Spruchschlüssel. El resto del proceso de cifrado no sufrió ninguna variación. Por entonces, el orden de los rotores y el Ringstellung ya se cambiaban todos los días y el número de conexiones del Stecker oscilaba entre cinco y ocho.

La modificación introducida anula los métodos de criptoanálisis anteriores. Al variar el Grundstellung en cada mensaje, lo hacen también los productos π4·π1, π5·π2 y π6·π3. De ellos, el criptoanalista sólo conoce ahora la transformada de una letra y ello impide que los métodos previos puedan iniciarse. No obstante, los alemanes siguen cometiendo el mismo error: cifrar dos veces la Spruchschlüssel de cada mensaje. De nuevo, los polacos aprovecharían este fallo. Veamos cómo.

Para elaborar el catálogo de características, tuvieron que calcular los 105456 productos π4·π1 . Observaron que aproximadamente el 40% de estas permutaciones contienen ciclos de longitud 1. Lo mismo ocurre con los productos π5·π2 y π6·π3 ya que, como se explicó antes, las permutaciones π5·π2 y π6·π3 asociadas a una determinada posición de los rotores coinciden con las π4·π1 de otras posiciones. Los ciclos de longitud 1 se manifiestan en las cabeceras de los mensajes mediante repeticiones en las letras que siguen al Grundstellung. Por ejemplo:

RXT AWDAPS ABC OXUCXW ETV ASTBUT

Page 175: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

167

Los británicos emplearían el término “female” para referirse a estas repeticiones. La primera cabecera anterior indica que la permutación π4·π1 correspondiente contiene el ciclo (A). Usando la terminología británica, tal cabecera es una 1,4-female. La segunda cabecera es una 2,5-female y (X) es un ciclo de π5·π2 , y la tercera una 3,6-female y (T) un ciclo de π6·π3.

Recordemos que las longitudes de los ciclos de las permutaciones π4·π1, π5·π2 y π6·π3 no dependen de las conexiones del Stecker sino del orden de los rotores y de sus posiciones iniciales, y que estas posiciones vienen determinadas por las diferencias entre las letras del Grundstellung y las del Ringstellung. El Grundstellung es diferente en cada mensaje, pero conocido. Por el contrario, el Ringstellung es igual en todos los mensajes de un mismo día, aunque desconocido. El objetivo es identificar el correcto orden de rotores y Ringstellung entre los 105456 posibles. Ahora bien, este número se reduce en un factor de 0.4 cada vez que se observe un ciclo de longitud 1, ya que sólo el 40% de las permutaciones π4·π1 (o π5·π2 , o π6·π3) presentan tales ciclos. Por tanto, como 105456·(0.4)12 = 1.7, muy posiblemente doce o trece females determinen unívocamente el orden de rotores y Ringstellung.

Afortunadamente, los polacos disponían de este número de females. No era casualidad. Si las permutaciones πi y el Grundstellung se eligen aleatoriamente, la teoría de probabilidades dice que el 11.5% de las cabeceras presentarán females. Por tanto, para que haya una docena de females se requiere poco más de un centenar de mensajes; cantidad que se alcanzaba en algunas de las redes de comunicaciones del ejército alemán. Luego, es posible determinar el orden de rotores y Ringstellung correctos a partir de las females. Sí, en teoría, pero ¿y en la práctica?

A Zygalski se le ocurrió un ingeniosísimo método para hacerlo. Para cada uno de los 6 órdenes posibles de los rotores y para cada una de las 26 posiciones del rotor izquierdo, se confeccionaron en material opaco unas hojas como la de la Figura 9.3. En total, 6·26 = 156. Cada hoja se divide en 51×51 pequeños recuadros que se identifican por una letra en el eje horizontal y por otra en el vertical. Las letras horizontales representan las posiciones del rotor central y las verticales las del derecho. La razón de repetir posiciones aparecerá cuando expliquemos como se utilizan las hojas. Si en una determinada posición de los rotores se pueden presentar 1,4-females al cifrar dos veces la Spruchschlüssel, el recuadro correspondiente está perforado. Para saberlo, los polacos no tuvieron que efectuar ningún cálculo nuevo, sino consultar el catálogo de características. Aún así, tardaron varias semanas en tener listo un primer juego de hojas de Zygalski.

Page 176: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

168

Figura 9.3. Una hoja de Zygalski.

Antes de emplear las hojas es preciso “normalizar” las 2,5 y 3,6-females adelantando su Grundstellung derecho una o dos posiciones, respectivamente. Por ejemplo:

ABC OXUCXW→ ABD OXUCXW ETV ASTBUT→ ETX ASTBUT

Hecho esto, el siguiente proceso ha de repetirse para cada orden de los rotores y cada posición del Ringstellung del rotor izquierdo. Fijado un orden de los rotores, se normalizan de nuevo aquellas females cuyo Grundstellung indique un avance del rotor central. Por ejemplo, si el orden de rotores es III-I-II, el Grundstellung ‘AHE’ debe normalizarse ‘AIE’, ya que la E del rotor II ocasiona un avance del rotor central. Seguidamente, se seleccionan las 26 hojas asociadas al orden de los rotores y se aparta el resto. Fijada también una letra del Ringstellung del rotor izquierdo, digamos C, se considera el Grundstellung de una primera female. Por ejemplo: ‘PDY’. Su letra izquierda es P. Puesto que P−C=N, se escoge la hoja correspondiente a la letra N y se coloca

Page 177: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

169

encima de una mesa transparente. Esta hoja hace de referencia básica. Se considera a continuación el Grundstellung de otra female. Por ejemplo: ‘HXT’. Su primera letra es H y H−C=F. Se elige entonces la hoja correspondiente a esta letra F. Se coloca encima de la anterior hoja básica desplazándola 6 recuadros hacia la derecha y 5 hacia abajo, seis a la derecha porque de la X a la D van 6 letras y cinco hacia abajo porque de la T a la Y van 5. Se hace lo mismo con el resto de las females. Colocadas todas las hojas, se hace actuar un foco de luz sobre las hojas y se observa si la luz traspasa algún agujero común a todas ellas.

Si hay suficientes females, el haz de luz atravesará un único agujero. Este agujero proporciona de forma inmediata el orden de los rotores y el Ringstellung del rotor izquierdo. Para obtener el de los otros dos rotores, notemos que, fijada una de las females (normalizada si ha sido necesario), las letras del agujero de la hoja correspondiente determinan la posición de los rotores que la ha producido. Esta posición es precisamente la diferencia entre el Grundstellung de la female y el Ringstellung que se pretende calcular. Por tanto, el Ringstellung de los rotores central y diestro se obtiene restando al Grundstellung de una female las letras del agujero. Ya sólo queda obtener las conexiones del Stecker. Como éste cambia las letras de los ciclos de longitud 1 del catálogo de características por las letras repetidas de las females, entonces la letra repetida de una female está conectada con una de las letras de los ciclos de longitud 1 de la correspondiente permutación π4·π1 del catálogo. Contemplando todas las females a un tiempo, no será difícil averiguar cual.

Puede ocurrir que el haz de luz atraviese más de un agujero. En tal caso se procede con cada uno de ellos como antes. Las contradicciones descartarán casi todos los casos. Y si todavía queda más de uno, la solución correcta será aquella que permita descifrar los mensajes.

Además de las hojas de Zygalski, los polacos contaron con una máquina diseñada por Rejewski que, bajo las condiciones que describimos a continuación, también calculaba el orden de los rotores y el Ringstellung. Le dieron el nombre de bomba. Expliquemos en qué consiste.

Entre las females de un mismo día, en ocasiones había tres que presentaban la misma letra repetida. Como por ejemplo:

XTH RPYRAC AQL TRVSRJ MOZ RFGRVW

La primera de estas females indica que el ciclo (R) está presente en la permutación π4·π1 . Supongamos que la R no se vea alterada por el Stecker, que no está conectada con ninguna otra letra. Entonces, también el ciclo (R) aparece en la sustitución π4·π1 que se obtendría sin ninguna conexión en el Stecker. Como ya sabemos, el número de tales productos π4·π1 es 105456, tantos como configuraciones posibles de los rotores (orden y posiciones iniciales). Desconocemos cuantos de estos productos contienen al ciclo (R); no obstante, la Teoría de Probabilidades muestra que, fijado un ciclo de longitud 1, si π1 y π4 se eligen aleatoriamente entre las de su clase, entonces el 4% de los productos π4·π1 contienen dicho ciclo. Admitamos esta regla para las sustituciones de Enigma. Entonces,

Page 178: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

170

el anterior número 105456 se reduce en un factor de 0.04 cada vez que se observe una female con la letra R repetida. Como 105456·(0.04)3 = 6.75, resulta que muy probablemente tan sólo seis o siete configuraciones de los rotores pueden ocasionar las tres females anteriores. La máquina ideada por Rejewski automatizaba la identificación de esas configuraciones.

Esencialmente, la bomba de Rejewski consiste en tres ciclómetros conectados convenientemente. Un motor eléctrico hace girar de forma sincronizada los seis bancos de rotores recorriendo las 17576 posibles posiciones. Cuando se llega a una posición en la que los tres ciclómetros reconocen el ciclo programado, (R) en nuestro ejemplo, el mecanismo se detiene mostrando dicha posición.

Los polacos construyeron seis bombas, una por cada orden de los rotores. Antes de utilizarlas, es preciso ajustar adecuadamente las posiciones de los rotores de los ciclómetros. Para ello, primero se normalizan las females del mismo modo que explicamos antes. Hecho esto, se asocia cada uno de los tres ciclómetros a una female y se colocan sus rotores en la posición indicada en el Grundstellung, con el rotor derecho del segundo banco desplazado tres posiciones respecto a su homónimo del primer banco. En nuestro ejemplo, los rotores del ciclómetro asociado a la primera female deben colocarse así: el primer banco en la posición ‘XTH’, el segundo ‘XTK’. Tras situar los rotores se activa la palanca de la letra R y se pone en marcha la bomba. Las seis bombas encontraban las seis o siete posiciones que ocasionan las tres females en unos 90 minutos. Entre esas posiciones se encuentra la que proporciona la clave. Para reconocerla, se sigue el mismo proceso que con los agujeros de las hojas de Zygalski.

Las bombas de Rejewski supusieron una comodidad para el personal de la Biuro Szyfrow y eliminaban los errores debidos al factor humano. Por el contrario, requerían que entre las females hubiera tres con la misma letra repetida y que ésta fuese invariante por el Stecker. Algo que no ocurría todos los días.

El 15 de diciembre de 1938 los alemanes pusieron en servicio dos nuevos rotores. Con ello, aumentaron de tres a cinco los rotores disponibles y, por consiguiente, de seis a sesenta el número de ordenaciones posibles. La consecuencia para los criptoanalistas polacos es obvia: a partir de esa fecha, sólo uno de cada diez días pudieron descifrar los mensajes alemanes. No obstante, los polacos encontraron enseguida las conexiones de los nuevos rotores. De nuevo contaron con la “ayuda” alemana. En esta ocasión no fue el espía Schmidt, quien meses atrás había dejado de tener acceso a las claves de Enigma, sino el servicio de inteligencia del partido nazi. Su red de comunicaciones incorporó los nuevos rotores, pero seguía cifrando con el sistema anterior al 15 de septiembre. Gracias a ello, las conexiones de los nuevos rotores pudieron obtenerse como las de los tres anteriores, manipulando el antiguo sistema de ecuaciones obtenido por Rejewski. Esta vez, los polacos tuvieron mucha suerte. Habría sido muy difícil recuperar los dos nuevos rotores sin la “colaboración” del servicio de inteligencia del partido nazi,

A pesar de ello, el paso de tres a cinco rotores superó con creces las posibilidades de cómputo de la pequeña oficina de cifras polaca. Poder emplear el método de Zygalski con los nuevos rotores requería preparar 26·54 = 1404 nuevas hojas, una tarea que podía

Page 179: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

171

costar varios años de trabajo a la reducida plantilla de la Biuro Szyfrow. El otro método, el de las bombas de Rejewski, quedó inoperante el 1 de enero de 1939, cuando los alemanes incrementaron a diez las conexiones del Stecker. Los polacos no lograron aumentar la proporción de días que accedían a las comunicaciones alemanas.

Durante todos estos años, ningún otro país tuvo noticia del éxito polaco con Enigma. Ni siquiera Francia, cuyo servicio secreto había facilitado a Polonia los documentos comprados al espía Schmidt. El gobierno polaco entendió que comunicar a otros países como descifrar Enigma violaba el pacto de no agresión firmado con Alemania en enero de 1934. La situación cambió el 27 de abril de 1939, cuando Hitler declaró “nulo y vacío” el tratado de no agresión. Días después, la Biuro Szyfrow recibió la orden de compartir secretos con Francia e Inglaterra. Atendiendo a este mandato, los polacos reunieron secretamente en Pyry, cerca de Varsovia, a una delegación francesa y otra británica el 24 de julio. En este encuentro, Rejewski y compañía mostraron a sus colegas franceses e ingleses todo y cuanto sabían de Enigma y les proporcionaron réplicas polacas de la máquina. El 1 de septiembre, cincuenta y tres divisiones alemanas invadieron Polonia. A los pocos días, la sección alemana de la Biuro Szyfrow borraba todo rastro de Enigma y huía del país por la frontera rumana.

Tras la invasión de Polonia, el criptoanálisis de Enigma quedó en manos de Francia y Gran Bretaña, ya en tiempo de guerra. En Francia, el capitán Bertrand organizó una unidad de interceptación y decodificación en torno a los tres matemáticos polacos, los cuales llegaron a Francia procedentes de Rumania. El grupo, que operaba cerca de París, contaba con unas setenta personas (curiosamente, entre ellas había siete republicanos españoles), pero carecía de medios para enfrentarse por sí solo a Enigma. Con el apoyo inglés, penetraron en algunas redes de comunicaciones alemanas durante el primer trimestre de 1940. En mayo de 1940 tuvo lugar la invasión alemana y la unidad de Bertrand estableció dos puestos de interceptación y decodificación, uno en Uzès, en la Francia no ocupada, y otro en Argelia. Los matemáticos polacos alternaron estancias en uno y otro. En uno de estos viajes, en enero de 1942, Rozycki murió al naufragar el barco que le transportaba. A finales de 1942, los alemanes ocuparon toda Francia y el puesto de Uzès se disolvió. Tras una larga y penosa huída por nuestro país, Rejewski y Zygalski llegaron a Inglaterra en agosto de 1943, con la intención de continuar el criptoanálisis de Enigma al lado de los británicos. Sin embargo, éstos no lo estimaron conveniente y ahí acabó su lucha con la máquina alemana.

Cuando en septiembre de 1938 Hitler invadió Checoslovaquia, el director del GCCS británico, Alistair Denniston, consideró probable la guerra con Alemania. Su centro tendría que pelear con la Enigma del ejército alemán. El equipo de Knox había tenido éxito con la versión comercial, pero ninguno con la militar. Quizás fuese tarea de matemáticos. Había llegado a la misma conclusión que los jefes de la Biuro Szyfrow diez años antes. Denniston pensó en la Universidad de Cambridge. Pocas semanas después, el GCCS estaba dando un curso introductorio de Criptografía a algunos de los mejores matemáticos ingleses. Denniston encabezó la delegación británica que se reunió con polacos y franceses en Pyry. A su regreso a Londres tenía muy claro lo que había que hacer. Trasladó la sede del GCCS en Londres a Bletchley Park, un lugar tranquilo, a 70 kilómetros de Londres y muy bien comunicado; a salvo de los bombardeos aéreos que en

Page 180: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

172

un futuro cercano asolarían Londres. En septiembre de 1939, reunió en Bletchley Park al equipo de Knox y a los matemáticos con los que había contactado meses antes. Entre éstos, Alan Turing sería el Rejewski inglés.

Comenzaron estudiando el trabajo de los polacos. El método de las hojas de Zygalski era viable con los recursos humanos que ahora disponían los ingleses. En pocos meses tendrían listas las 1560 hojas que se necesitaban. Esta tarea se encargó a un grupo dirigido por el matemático John Jeffreys. Mientras se preparaban las hojas, otro equipo se ocupó de analizar el tráfico de mensajes. Se trataba de identificar las diferentes redes de comunicaciones del ejército alemán, las emisoras que operaban dentro de cada red, aquella que gestionaba el tráfico dentro de la red, qué emisora transmitía cada mensaje y a cuál otra iba dirigido. Este análisis era fundamental para descifrar los mensajes, ya que cada red funcionaba con unas claves diferentes.

El trabajo requería mucho más personal que el inicialmente previsto. Se reclutaron más matemáticos de Cambridge y a sus alumnos de los últimos cursos. Y no sólo matemáticos, sino ingenieros, lingüistas, jugadores de ajedrez, secretarias, personal de apoyo... En total, se estima que unas 12000 personas trabajaron en Bletchley Park, la mayoría mujeres.

El equipo de Jeffreys tuvo listas las hojas a finales de diciembre. Antes, ya había llegado a Bletchley Park una batería de máquinas Typex adaptadas para reproducir el cifrado de Enigma. Pocas semanas después, en enero de 1940, Turing en persona hizo llegar varios juegos de hojas a la unidad en Francia bajo el mando de Bertrand. De forma coordinada, franceses e ingleses penetraron en la mayoría de las redes de comunicaciones alemanas. Hasta el 10 de mayo de 1940. Ese día, coincidiendo con la invasión de Francia, el ejército alemán volvió a modificar el sistema de cifrado. Dejaron de cifrar dos veces la Spruchschlüssel de cada mensaje, quizás porque se dieron cuenta que el doble cifrado debilitaba Enigma. En adelante, la Spruchschlüssel sólo se cifraría una vez. Los alemanes eliminaban así las females de las cabeceras de los mensajes e inutilizaban las hojas de Jeffreys.

En Bletchley Park presentían que tarde o temprano sucedería y desde un principio pusieron a algunos matemáticos a buscar otros métodos de criptoanálisis. Turing era uno de ellos. Había estudiado detenidamente la bomba polaca. Un mecanismo capaz de comprobar todas las posiciones de los rotores no podía ser derrotado por diez simples cables del Stecker. Y en efecto, así era. Rejewski no se dio cuenta que bastaba una pequeña modificación en su diseño para burlar cualquier conexión en el Stecker. Turing lo descubrió a finales de 1939 y seguramente habló de ello con Rejewski durante su estancia en París en enero del año siguiente. Sin embargo, aún con la modificación descubierta por Turing, la bomba polaca requería de la existencia de females, de observar el mismo ciclo de longitud 1 en tres productos π4·π1 distintos. Productos que desaparecieron cuando los alemanes cambiaron el sistema de cifrado el 10 de mayo.

Pero otros vinieron a reemplazarlos. Los mensajes descifrados antes del 10 de mayo revelaban la presencia de cribs, bien al comienzo o al final. Identificando la unidad que emitía el mensaje, podía sospecharse si contenía una crib determinada. El análisis del

Page 181: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

173

tráfico de las comunicaciones del ejército alemán permitió tal identificación. Las cribs proporcionaron los ciclos necesarios en la bomba de Turing. Expliquémoslo con un ejemplo.

Sospechamos que cierto mensaje interceptado comienza con “Fuhrerhauptquartier” (cuartel general del Furer). Coloquemos cada letra de este pequeño fragmento de texto en claro encima de su correspondiente letra del texto cifrado y ambas debajo de un número que indica su orden:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19Texto claro: F U H R E R H A U P T Q U A R T I E R

Texto cifrado: I D Z O Z L A H X Y B G I U A H L R H

Vamos a llamar ahora πi a la permutación proporcionada por el conjunto formado por los tres rotores y el reflector en la posición i que señala el número encima de las letras. Como antes, designamos por σ a la sustitución del Stecker. El producto σ·πi·σ es entonces la permutación resultante con la que se cifra la letra en el i-ésimo lugar. Así, por ejemplo, σ·π7·σ(H) = A y σ·π8·σ(A) = H. Pasando σ al otro lado en estas igualdades: π7·σ(H) = σ(A), π8·σ(A) = σ(H). Sustituyendo σ(H) en la primera igualdad: π7·π8·σ(A) =σ(A). Esto significa que σ(A) queda fija por el producto π7·π8, que (σ(A)) es un ciclo de longitud 1 de esta permutación. De esto se trata, de observar el mismo ciclo de longitud 1 en al menos tres productos diferentes de las permutaciones πi. Y estos productos pueden tener más de dos factores.

Para observar mejor los ciclos, Turing dispuso las letras como en la Figura 9.4. El lector con conocimientos en Matemáticas reconocerá que se trata de un grafo. En sus vértices figuran las letras que aparecen en la crib o en su cifrado. Dos letras están conectadas por una arista si una de ellas se transforma en la otra. El número junto a la arista referencia la permutación que produce tal transformación.

Page 182: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

174

Figura 9.4.

El grafo de la Figura 9.4 facilita la búsqueda de ciclos de longitud 1: partiendo de una letra sobre un vértice, se pasa de una a otra por las aristas hasta regresar a la de partida, completando así un ciclo. Por ejemplo, comenzando en la letra A, se observan los siguientes tres ciclos:

A 8 H 7 A

A 7 H 19 R 15 A

A 14 U 13 I 17 L 6 R 15 A

El primero indica que (σ(A)) pertenece al producto π7·π8, como ya hemos visto antes. Análogamente, este mismo ciclo de longitud 1 está presente en las permutaciones π15·π19·π7 y π15·π6·π17·π13·π14. Ahora, recurramos de nuevo a la Teoría de Probabilidades. Si las sustituciones πi se eligen aleatoriamente entre las de su clase, sólo una vez de cada 17576 ( = 263) figurará el ciclo (σ(A)) en los tres productos de antes. La bomba de Turing utiliza esta circunstancia para determinar el correcto orden y posición de los rotores. Su funcionamiento se esquematiza en la Figura 9.5.

Q

G

12

X 9

A

L

7

8

15

U 14 H

R

19

I

13

17 6

Z

E

3

5

18

F

1

O

4

D

2

T

B

16

11

YP 10

Page 183: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

175

Figura 9.5. Esquema de la bomba de Turing.

Como en la bomba de Rejewski, la de Turing consiste en una serie de bancos de rotores conectados entre sí convenientemente. Para ello, los bancos presentan una doble entrada, como puede apreciarse en la figura. Al lado de estas entradas hemos escrito la correspondiente letra del vértice del grafo. Elegidos tres de los cinco rotores y un orden, se disponen en la bomba tantos bancos como permutaciones πi intervienen en los tres ciclos considerados. En nuestro ejemplo: 8. Precisamente, el número i al lado de cada banco de rotores indica el subíndice de la permutación. Las conexiones entre los bancos de rotores se realizan conforme a los ciclos. Puede observarse en la figura que, en efecto, así se ha hecho. Para las conexiones se emplea un cable con 26 direcciones, una por cada letra. Este tipo de cable conecta también un panel con 26 lámparas con los bancos de rotores, de la manera que se indica en la figura: uniendo el panel a las entradas ‘A’.

Antes de utilizar la bomba, es preciso ajustar las posiciones de los rotores en los bancos. Los del banco de índice menor en una posición inicial, digamos AAA, y los de los demás bancos avanzados tantas posiciones como la diferencia entre sus índices y el menor. Por ejemplo, en nuestro caso el índice menor es 6. Luego los rotores asociados al índice 7 deben situarse en la posición AAB, los del índice 8 en AAC, etcétera. Tras

A

L

19

7

8

15

U 14 H

RI

13

17 617 L 6

I

R 19

7 H

15

A

R

14

13

A

U

I

8 H

A

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Page 184: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

176

ajustar los rotores, se hace una conjetura sobre la letra del ciclo de longitud 1 común a los tres productos de permutaciones πi . En nuestro caso, σ(A). Hagamos la suposición σ(A) = B, por ejemplo. Entonces en el panel de lámparas se activa la palanca correspondiente a la letra B y, a continuación, se pone en marcha la bomba. Un motor eléctrico hace girar de forma sincronizada todos los bancos de rotores, recorriendo éstos las 17576 posiciones posibles. Cada una de ellas da lugar a un juego de permutaciones πi diferentes.

Del panel de lámparas parte una corriente eléctrica por la dirección B del cable y llega a las entradas A de los bancos 7, 8, 14 y 15. De ellos sale por la entrada opuesta, por las direcciones πi(B) del cable. Y así va entrando y saliendo por los diferentes bancos de rotores, siguiendo el camino al que obligan las conexiones entre ellos. Cuando la corriente regrese a una entrada A, circula también por el panel, por la misma dirección que lo hace que en dicha entrada.

Si en una determinada posición de los rotores el ciclo (B) es común a los tres productos de permutaciones πi , entonces en cada trozo de cable la corriente circula por una única dirección. En las entradas A y en el panel lo hace por la dirección B y sólo se enciende la bombilla de esta letra. En tal caso, un mecanismo detiene la bomba. Se anota el orden de rotores, la posición y la suposición σ(A) = B. Más adelante habrá que comprobar si estos datos coinciden con los de la clave buscada. Supongamos por el momento que, en efecto, así es. Entonces en otra entrada, la U por ejemplo, la corriente circula por la dirección de la letra emparejada con la U en el Stecker. Esta letra puede determinarse conectando otro panel de lámparas a la entrada U y observando cual es la única bombilla que luce. De este modo, repitiendo esta operación con las demás entradas, pueden averiguarse las conexiones en el Stecker de las letras que figuran en las entradas. En cambio, si la posición de los rotores o la conexión ‘A−B’ no figuran en la clave buscada, entonces el proceso anterior proporciona falsas conexiones en el Stecker que ayudarán a rechazar tales datos cuando se comprueben.

Como dijimos antes, muy probablemente el ciclo (B) sólo sea común a los tres productos de permutaciones πi en una posición por cada orden de los rotores. En el resto de las posiciones, alguno de estos productos transforma la B en otra letra. Entonces, en el panel, la corriente eléctrica fluye también por la dirección de esta nueva letra, encendiendo su correspondiente lámpara. A su vez, la nueva letra se transforma en otra en alguno de los productos y así sucesivamente. El resultado es que la corriente eléctrica circula por todas las direcciones y, en consecuencia, todas las bombillas lucen. Cuando esto ocurre, los rotores avanzan automáticamente una posición.

En unas pocas posiciones puede suceder que resten lámparas no encendidas. En estos casos, la bomba también se detiene. Entonces el operario activa la palanca de una bombilla apagada, digamos la C. Si no se enciende otra lámpara apagada es porque el ciclo (C) es común a los tres productos de permutaciones πi . Habrá que anotar también la posición, la conexión σ(A) = C y las de las otras letras que pueden obtenerse como se indicó antes. Tal situación sucede, por ejemplo, cuando sólo resta una bombilla apagada. Una vez que lucen todas las bombillas se reinicia la bomba en la siguiente posición.

Page 185: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

177

La bomba de Turing proporciona, para cada orden de rotores, un reducido número de posibles posiciones correctas. Asociadas a cada posición van unas supuestas conexiones en el Stecker de las letras que han intervenido en la bomba (seis en nuestro ejemplo). Dado que el número de ordenaciones de rotores es sesenta, el de posiciones anotadas puede ascender a varios cientos. No obstante, no es difícil encontrar la posición y conexiones correctas entre las candidatas: Situando los rotores de Enigma en una de estas posiciones y con las conexiones asociadas en el Stecker, se teclea el fragmento texto en claro (la crib). Seguidamente, se repite esta operación con el fragmento cifrado. Una simple comparación de estos fragmentos con los obtenidos permite determinar si tal posición es la correcta. Además, en tal caso, se obtienen las demás conexiones del Stecker. Después de esto, para completar la clave, sólo queda ajustar el Ringstellung. También es sencillo. Se descifra el resto del mensaje y se observa donde debe avanzar el rotor central para que siga revelándose el texto en claro.

No obstante, puede ocurrir que ninguna de las posiciones proporcionadas por la bomba de Turing sea la correcta. Esto sucede si avanza el rotor central mientras se cifran las letras que darán lugar a los tres ciclos necesarios para el funcionamiento de la bomba. En ella no se contempla esta posibilidad. En nuestro ejemplo, la primera letra de la crib que interviene en los ciclos es la sexta y la última la decimonovena. Entre ambas, catorce letras. Si durante el cifrado de estas catorce letras avanza el rotor central, el método de Turing no funcionará. En consecuencia, como el rotor central avanza cada 26 letras, la probabilidad de éxito de la bomba con nuestro ejemplo es 12/26 ó, en términos de porcentaje, del 46%.

Pero el principal inconveniente de la bomba de Turing está en que es difícil que en cribs con menos de 26 letras aparezcan los tres ciclos requeridos. En la preparación de nuestro ejemplo hemos necesitado cifrar varias veces la crib con distintas claves hasta dar con una que proporciona los ciclos aquí mostrados. Por este motivo, el mecanismo ideado por Turing, aunque ingeniosísimo, era poco eficiente en la práctica.

Afortunadamente, la ausencia de los tres ciclos se solventó con una sencilla pero brillante idea de Gordon Welchman, otro matemático de Cambridge. Se le ocurrió incluir en la bomba de Turing el llamado tablero diagonal, un cuadro de conexiones que, implementando las conexiones del Stecker, hacía circular de nuevo la corriente por los bancos de rotores. Un dibujo similar al de la Figura 9.5 describirá más detalladamente esta función. Previamente, extraigamos del grafo de la Figura 9.4 otro carente de tres ciclos. Por ejemplo, el siguiente:

Page 186: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

178

Figura 9.6.

La razón de escoger este grafo obedece únicamente a servir de ejemplo en la bomba de Turing-Welchman. Podíamos haber elegido cualquier otro, ya que esta nueva bomba funciona con cualquier grafo, tengan o no ciclos. El dibujo anunciado corresponde a la Figura 9.7. En su parte superior izquierda puede observarse el tablero diagonal. Un cuadro con 26×26 puntos, cada uno identificado por un par de letras correspondientes a la fila y columna en la que se encuentra y representando la conexión en el Stecker de estas letras. Así, el punto (A, B) simboliza el emparejamiento de las letras A y B en el Stecker. Igual que el punto (B, A), evidentemente. Por esta razón, los puntos se encuentran conectados de modo simétrico respecto a la diagonal del tablero: el punto (A, B) con el (B, A), el (A, C) con el (C, A), etcétera. En el dibujo se incluyen estas dos conexiones y la de los pares (E, H) y (H, E). A la derecha del tablero diagonal se encuentran los bancos de rotores; conectados entre sí mediante un cable con 26 direcciones, según indica el grafo anterior. Este mismo tipo de cable conecta las filas del tablero con las entradas homónimas de los bancos, uniendo cada dirección del cable con su correspondiente punto. Así, la fila A del tablero se conecta con las entradas A de los bancos, de forma que la dirección B concluye en el punto (A, B), la C en (A, C), etcétera. Y como en la bomba de Turing, se incluye también un panel de lámparas conectado a cierta entrada. La A en nuestro dibujo.

X 9

H

R

19

I

13

L17

E 18

T

B

16

11

A

15

U 14 8

Page 187: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

179

Figura 9.7. Esquema de la bomba de Turing-Welchman.

La utilización de esta bomba es idéntica a la diseñada por Turing y no hace falta que repitamos todo el proceso. Sólo es preciso mostrar el efecto del tablero diagonal. Al poner en marcha la bomba el fluido eléctrico circula por la dirección B y se introduce por la entrada A de los bancos 8, 14 y 15 y también por esta misma entrada del tablero diagonal. Al estar conectado al punto (A, B) con el (B, A), la corriente eléctrica sale del tablero por la dirección A de la entrada B y se dirige al banco 11. Después de abandonar cada uno de estos bancos, el flujo eléctrico entra en otro conectado y también en el tablero diagonal. Por ejemplo, la corriente que abandona el banco 14 llega al tablero por cierto cable de la fila U. Si la letra de este cable figura en la entrada de algún banco, se introducirá en él por el cable U. Y así sucesivamente. El tablero diagonal abre nuevas direcciones de flujo eléctrico en la red de bancos.

Al igual que en el diseño de Turing, en casi todas las posiciones de los rotores la corriente eléctrica circulará por las 26 direcciones de cada trozo de cable, en el panel se

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ A ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ B ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ C ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ D ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ E ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ F ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ G ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ H ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ I ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ J ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ K ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ L ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ M ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ N ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ O ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ P ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ Q ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ R ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ S ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ T ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ U ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ V ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ W ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ X ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ Y ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ Z

9X

U

L

I

13

U

14

A

15

R

19

H

16

T

11

B

8A

H

18R

E

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Page 188: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

180

iluminarán todas las lámparas y los rotores avanzarán automáticamente a la siguiente posición. En otras, en cambio, habrá direcciones sin flujo eléctrico y no todas bombillas del panel estarán encendidas. Cuando esto sucede, la bomba se detiene. De nuevo se trata de encontrar aquellas posiciones en las que la corriente circula por una única dirección. Entre ellas está la que figura en la clave que se pretende hallar. Ahora es más difícil estimar el número de paradas de la bomba. Si esta cantidad se eleva a varias decenas por cada ordenación de los rotores, la bomba será poco eficaz. Hablando de forma poco precisa pero intuitiva, la eficiencia de la bomba depende de que la corriente circule el mayor número posible de veces por los bancos de rotores. Los ciclos favorecen esta circulación; también un mayor número de bancos y conexiones. Pero si se añaden más bancos, aumenta la posibilidad de que avance el rotor central, circunstancia que sigue derrotando a la bomba. Nótese que la probabilidad de éxito en nuestro ejemplo es del 54%.

En agosto de 1940, la British Tabulating Machine Company llevó a Bletchley Park la primera bomba. Tardaba unos quince minutos en comprobar todas las posiciones de un orden de rotores determinado. Con ella, la búsqueda de la clave se efectuaba en una media de ocho horas. Poco a poco fueron llegando más bombas que redujeron progresivamente este tiempo. En mayo de 1941 había ya ocho bombas funcionando, sesenta dos años más tarde y unas doscientas hacia el final de la guerra. No se conserva ninguna, ya que Winston Churchill mandó destruirlas cuando término la contienda.

En Estados Unidos también se construyeron bombas criptográficas. Eran más rápidas que las británicas y por ello se emplearon principalmente contra la armada alemana. Ésta dio mucho más trabajo que el ejército de tierra o la fuerza aérea. Por un lado, usaba tres rotores más que elevaban el número de ordenaciones posibles a 336; por otro, el sistema de cifrado era diferente. La obtención de las Spruchschlüssels requería elegir dos trigramas de un libro de claves, combinar sus letras para formar cuatro bigramas y reemplazarlos por otros según cierta tabla. Además, a partir de febrero de 1942, los submarinos alemanes emplearon una Enigma con 4 rotores. Para poder penetrar en las comunicaciones de la armada alemana, los aliados tenían que esperar a que las sucesivas capturas de navíos enemigos proporcionasen todo este material criptográfico. Y una vez conseguido, recuperar las claves requería el empleo de un elevado número de bombas. La Figura 9.8 es una fotografía de la bomba que se exhibe en el National Cryptologic Museum, en Washington. Es una de las 121 fabricadas en 1943 por la National Cash Register Company y que se destinaron contra la Enigma de los submarinos alemanes. En 20 minutos recorría las 456976 posiciones de los cuatro rotores.

Page 189: Libro criptografia

9. CRIPTOANÁLISIS DE ENIGMA

181

Figura 9.8. Una bomba americana.

Page 190: Libro criptografia
Page 191: Libro criptografia

183

10

CRIPTOGRAFÍA MODERNA

A finales de 1945, Presper Eckert y John Mauchly, de la Universidad de Pensilvania, concluyeron la construcción del que muchos textos consideran el primer ordenador electrónico: ENIAC (Electronic Numerical Integrator And Computer). Constaba de unos 18000 tubos de vacío como principal componente de sus circuitos, pesaba casi 32 toneladas y media más de 2 metros de ancho y 30 de largo. La primera tarea que llevó a cabo fueron unos cálculos en Física Nuclear que suponían 100 años de trabajo de una persona y en los que ENIAC empleó sólo 2 horas. Este primer ordenador podía efectuar 5000 sumas ó 360 multiplicaciones en un segundo. Actualmente, tan sólo poco más de medio siglo después, en el mundo hay ya varios cientos de millones de ordenadores, de un peso y tamaño cada vez más reducidos. Todos estos ordenadores son capaces de realizar más de un millón de operaciones por segundo (un billón los llamados supercomputadores) y, lo que es más trascendente, como pueden ser programados para realizar “cualquier” tarea, cada vez están presentes en un mayor número de actividades humanas.

Como era de esperar, la Criptografía también se ha visto afectada por la llegada de los ordenadores. De entrada, en el modo de hacerla. Un ordenador puede ser programado para implementar cualquiera de los métodos de cifrado que hemos visto hasta ahora, incluidas las máquinas de rotores descritas en un capítulo anterior; pero también los métodos de criptoanálisis. Y si estos criptosistemas ya fueron derrotados sin emplear el ordenador, con él no tienen ninguna posibilidad. No obstante, ello no debe inducir a pensar que la llegada de los ordenadores ha dado ventaja a los criptoanalistas frente a los diseñadores de códigos. Todo lo contrario, en el ordenador es posible implementar nuevos criptosistemas que proporcionan una seguridad muy superior a la de los cifrados clásicos. Quizás no sea aventurado decir que implementando uno de esos cifrados en un simple PC, se puede derrotar incluso a organizaciones gubernamentales que disponen de supercomputadores destinados a tareas de criptoanálisis. En este capítulo describiremos de forma breve y genérica estos modernos cifrados y después hablaremos de dos de ellos: el controvertido DES y el actual AES.

Page 192: Libro criptografia

10. CRIPTOGRAFÍA MODERNA

184

Los fundamentos de los nuevos criptosistemas arrancan del modo en que se representa la información en los ordenadores. En ellos se procesan datos de procedencia muy distinta como números, textos, gráficos o sonidos; pero internamente se representan del mismo modo: mediante números, números binarios. Expliquemos brevemente qué números son éstos.

Estamos familiarizados con la escritura de números enteros usando los dígitos del 0 al 9, es una de las primeras cosas que se aprende en la escuela. Como bien nos enseñaron allí, en el número 3524, el 4 ocupa el lugar de las unidades, el 2 el de las decenas, el 5 el de las centenas y 3 el de las unidades de millar. Esto significa que

3524 = 3·1000 + 5·100 + 2·10 + 4·1 = 3·103 + 5·102 + 2·10 + 4·1.

De este modo, la secuencia de dígitos 3524 no es sino una manera abreviada de escribir la expresión anterior, eliminando los signos ‘+’ y ‘·’ y las potencias de 10. Esta es la bien conocida forma decimal de escribir números, inventada en la India en el siglo VII y trasmitida a Europa en la Edad Media por los árabes.

En lugar de emplear 10 como base de las potencias, puede utilizarse cualquier otro entero b mayor o igual que 2. En tal caso, el desarrollo de un entero genérico n según las potencias de b tiene esta expresión:

011

1 ·...·· nbnbnbnn rr

rr ++++= −

− ,

donde r es el único entero tal que br≤ n < br+1 y n0, n1, ..., nr, son enteros estrictamente menores que la base b. Si buscamos signos para representar a cada uno de los enteros comprendidos entre el 0 y b–1; si, por ejemplo, nr se representa por el signo ‘%’, nr-1 por ‘$’, ..., n1 por ‘#’ y n0 por ‘&’, entonces n se escribe en base b como ‘%$...#&’.

Cuando la base b es 2, el sistema de representación que resulta recibe el nombre de binario. Los números binarios son entonces los enteros expresados en forma binaria. Sólo requiere dos símbolos, que suelen ser los dígitos 0 y 1, llamados ahora bits, y que, como es de suponer, corresponden con los números cero y uno, respectivamente. Así pues, un número binario es una secuencia de bits. Por ejemplo: 1101101, que escrito en modo decimal es 109 ya que:

1101101 = 1·26 + 1·25 + 0·24 + 1·23 + 1·22 + 0·2 + 1 = 109.

Si se desea expresar en forma binaria un número escrito en otro sistema, basta con dividir sucesivamente dicho número entre 2 y tomar la sucesión de restos en orden inverso. Por ejemplo, escribamos en binario el número que en modo decimal es 25. Las divisiones entre 2 son las siguientes:

Page 193: Libro criptografia

10. CRIPTOGRAFÍA MODERNA

185

25 2 1 12 2 0 6 2 0 3 2 1 1

Por tanto, 25 se escribe en binario 11001.

Como decíamos antes, los ordenadores operan internamente con números binarios. Cualquier información que procesen ha de transformarse antes en una sucesión de números binarios. El modo de hacerlo es asignar un número a cada dato básico de información, empleando para ello un código. Por ejemplo, un texto escrito con cierto alfabeto se puede transformar en una secuencia binaria haciendo corresponder a cada letra del alfabeto el número binario que figure en el código utilizado al efecto. Hasta hace muy poco, tal código era habitualmente el famoso ASCII (American Standard Code for Information Interchange). Inicialmente, el ASCII fue diseñado como código de 7 bits. Con 7 bits se manejan los números binarios comprendidos entre 0 y 1111111 (=127, en decimal), disponiendo así de 128 números que se pueden asignar a otros tantos signos. La relación de signos y sus correspondientes números (en decimal y binario) incluidos en este primer ASCII de 7 bits se muestra en la Tabla 10.1.

Cuando en los años 60 se adoptó el código ASCII, la mayoría de los ordenadores se diseñaban para almacenar y manipular números de 8 bits (esto es, un byte). En un principio, el bit sobrante se utilizó como bit de paridad, para detectar posibles errores en la codificación; pero después se empleó para codificar más signos. Pasar de 7 a 8 bits permite añadir otros 128 caracteres al ASCII: letras acentuadas, nuestra ñ, la francesa ç, etc. No obstante, esta ampliación no fue estándar; los 128 nuevos caracteres cambiaban de un fabricante a otro. En la actualidad, se ha desarrollado un nuevo código estándar de 16 bits, el Unicode. Es una extensión del ASCII que incluye numerosos juegos de caracteres: griego, árabe, cirílico, chino, japonés, símbolos matemáticos… Con 16 bits hay lugar para 216 = 65536 signos diferentes.

En resumen, que al introducir texto (o cualquier otro tipo de información) en el ordenador, éste lo contempla como la secuencia de números binarios que proporciona el código empleado al efecto. Por ejemplo, usando un código ASCII de 8 bits, la palabra ‘ADIOS’ da lugar a la siguiente sucesión de bytes:

A D I O S ↓ ↓ ↓ ↓ ↓

Decimal: 65 68 73 79 83 Binario: 01000001 01000100 01001001 01001111 01010011

Es precisamente sobre esta secuencia de bits donde actúan los modernos métodos de cifrado, transformándola en otra que será la que se transmita al receptor del mensaje.

Page 194: Libro criptografia

10. CRIPTOGRAFÍA MODERNA

186

Cuando éste la reciba, deberá someterla al proceso de descifrado para obtener de nuevo la secuencia inicial originada por el código empleado. Por tanto, en los criptosistemas que cifran la información interna del ordenador, tanto el alfabeto en claro como el de cifrado constan sólo de dos signos: 0 y 1; y los textos en claro y cifrado son largas secuencias de tales bits. Nótese que el código no forma parte del criptosistema.

Signo Dec. Bin. Signo Dec. Bin. Signo Dec. Bin. Signo Dec. Bin. Nulo 0 0000000 32 0100000 @ 64 1000000 ` 96 1100000

Inicio cabecera 1 0000001 ! 33 0100001 A 65 1000001 a 97 1100001Inicio texto 2 0000010 " 34 0100010 B 66 1000010 b 98 1100010

Fin texto 3 0000011 # 35 0100011 C 67 1000011 c 99 1100011Fin transmisión 4 0000100 $ 36 0100100 D 68 1000100 d 100 1100100

Enquiry 5 0000101 % 37 0100101 E 69 1000101 e 101 1100101Acknowledge 6 0000110 & 38 0100110 F 70 1000110 f 102 1100110

Beep 7 0000111 ' 39 0100111 G 71 1000111 g 103 1100111Backspace 8 0001000 ( 40 0101000 H 72 1001000 h 104 1101000

Tab. horizontal 9 0001001 ) 41 0101001 I 73 1001001 i 105 1101001Salto línea 10 0001010 * 42 0101010 J 74 1001010 j 106 1101010

Tab. vertical 11 0001011 + 43 0101011 K 75 1001011 k 107 1101011Salto página 12 0001100 , 44 0101100 L 76 1001100 l 108 1101100

Retorno carro 13 0001101 - 45 0101101 M 77 1001101 m 109 1101101Shift fuera 14 0001110 . 46 0101110 N 78 1001110 n 110 1101110

Shift dentro 15 0001111 / 47 0101111 O 79 1001111 o 111 1101111Escape línea 16 0010000 0 48 0110000 P 80 1010000 p 112 1110000Ctrl. disp. 1 17 0010001 1 49 0110001 Q 81 1010001 q 113 1110001Ctrl.. disp. 2 18 0010010 2 50 0110010 R 82 1010010 r 114 1110010Ctrl.. disp. 3 19 0010011 3 51 0110011 S 83 1010011 s 115 1110011Ctrl. disp. 4 20 0010100 4 52 0110100 T 84 1010100 t 116 1110100

Neg. Acknow. 21 0010101 5 53 0110101 U 85 1010101 u 117 1110101Sincronismo 22 0010110 6 54 0110110 V 86 1010110 v 118 1110110Fin bloque 23 0010111 7 55 0110111 W 87 1010111 w 119 1110111Cancelar 24 0011000 8 56 0111000 X 88 1011000 x 120 1111000

Fin medio 25 0011001 9 57 0111001 Y 89 1011001 y 121 1111001Sustituto 26 0011010 : 58 0111010 Z 90 1011010 z 122 1111010Escape 27 0011011 ; 59 0111011 [ 91 1011011 { 123 1111011

Sep. Archivos 28 0011100 < 60 0111100 \ 92 1011100 | 124 1111100Sep. Grupos 29 0011101 = 61 0111101 ] 93 1011101 } 125 1111101

Sep. Registros 30 0011110 > 62 0111110 ^ 94 1011110 ~ 126 1111110Sep. Unidades 31 0011111 ? 63 0111111 _ 95 1011111 Del 127 1111111

Tabla 10.1. Código ASCII de 7 bits.

Page 195: Libro criptografia

10. CRIPTOGRAFÍA MODERNA

187

Los textos de Criptografía clasifican los modernos criptosistemas en dos categorías básicas: cifrados secuenciales y cifrados en bloque. Describámoslos brevemente.

Los secuenciales se llaman así porque para cifrar generan una sucesión de bits con la misma longitud que el texto cifrado, la denominada secuencia clave. El modo de producirla es precisamente la clave en esta forma de cifrado. Con los bits de la secuencia clave y del texto en claro se efectúa la suma ‘XOR’, que se representa por el signo ‘⊕’ y se define así:

0⊕0=0, 1⊕0=1, 0⊕1=1, 1⊕1=0.

La sucesión suma obtenida es el texto cifrado que se transmite.

Un sencillo ejemplo aclarará este modo de cifrar. En él cifraremos la secuencia de bits que obtuvimos antes mediante la codificación en ASCII de la palabra ‘ADIOS’. En primer lugar, hemos de precisar como se genera la secuencia clave k1k2k3k4… Se va a obtener conforme a la fórmula recurrente ki = ki-1⊕ ki-4 y a partir de los bits que componen el llamado estado inicial, que en este ejemplo son los cuatro siguientes: k0 = 0, k-1 = 1, k-

2 = 0, y k-3 = 1. Entonces:

k1 = k0 ⊕ k-3 = 0⊕1=1, k2 = k1 ⊕ k-2 = 1⊕0=1, k3 = k2 ⊕ k-1 = 1⊕1= 0, k4 = k3 ⊕ k0 = 0⊕0= 0…

Como hemos dicho antes, los bits del texto en claro se suman con los de la secuencia clave y el resultado es el texto cifrado:

Texto en claro: 010000010100010001001001…Secuencia clave: 110010001111010110010001… ↓ ⊕ Texto cifrado: 100010011011000111011000…

Observemos que el receptor del mensaje recupera el texto en claro generando de nuevo la secuencia clave y sumando sus bits con los del texto cifrado.

Notemos también que sumando los bits del texto en claro con los del cifrado se obtiene la secuencia clave. En consecuencia, un criptoanalista que disponga de texto en claro y su correspondiente cifrado accede rápidamente a la secuencia clave. Por esta razón, si se desea cierto grado de seguridad, la secuencia clave debe ser distinta en cada transmisión. En la práctica, el modo más eficiente de hacerlo es variando los bits que componen el estado inicial.

Cuando el estado inicial es secreto (y, por tanto, forma parte de la clave) el cifrado secuencial se dice sincronizado. En este caso, para que el receptor pueda descifrar

Page 196: Libro criptografia

10. CRIPTOGRAFÍA MODERNA

188

correctamente el mensaje, debe sincronizar con el emisor su generador de secuencias clave, situándolo en el mismo estado inicial. Esto, si el tráfico de mensajes es denso, supone un problema de difícil solución. Tal problema no existe si cada estado inicial es elegido por el emisor y comunicado en claro al receptor en la cabecera del mensaje. Si se elige esta opción, el cifrado se dice autosincronizado. En este caso, al ser público el estado inicial, la seguridad recae exclusivamente en el modo en que se genera la secuencia clave. Por tanto, debe resultar imposible recuperar tal secuencia a partir del estado inicial. Y aunque se dispone de un amplio conocimiento teórico sobre esta cuestión, en la práctica es complicado diseñar un generador secuencial que sea seguro en modo autosincronizado.

Puede ser interesante notar que un cifrado secuencial es de hecho un cifrado polialfabético sobre el alfabeto formado por los bits 0 y 1. En este alfabeto sólo son posibles dos sustituciones: una, la que deja invariantes dichos bits y que podemos representar por σ0; otra, la que los permuta y que representamos por σ1. Esto es: σ0(0)=0 y σ0(1)=1, σ1(0)=1 y σ1(1)=0. Por tanto:

σ0(0) = 0⊕0, σ0(1) = 1⊕0, σ1(0) = 0⊕1, σ1(1) = 1⊕1.

Luego sumar un bit del texto en claro con un 0 de la secuencia clave equivale a aplicarle la sustitución σ0, y añadirle un 1 es lo mismo que hacer actuar σ1 sobre él. Así pues, sumar una secuencia clave a un texto en claro produce el mismo resultado que el cifrado polialfabético obtenido con la sucesión correspondiente de sustituciones σ0 ó σ1. Y siguiendo con esta analogía entre modernos cifrados secuenciales y antiguos polialfabéticos, un aparato electrónico que genere secuencias clave es la versión digital de una máquina de rotores, en donde su estado inicial se corresponde con la posición inicial de los rotores.

Si los cifrados secuenciales pertenecen a la categoría polialfabética, los cifrados en bloque responden al modelo poligráfico descrito en el Capítulo 4. Dividen el texto en claro en bloques de bits del mismo tamaño y cada uno de ellos se transforma en otro según determina el proceso de cifrado, en el que interviene la clave elegida. Seguidamente, presentamos un ejemplo sencillo de cifrado en bloques de 8 bits en el que emplearemos una clave de ese mismo tamaño. En la práctica, valores típicos de estas longitudes son 64, 128 ó 256 bits; y sus procesos de cifrado son mucho más complejos que el que aquí sirve de ejemplo.

Nuestro cifrado consiste en dividir la sucesión de bits que conforma el texto en claro en trozos de 8 bits y sobre cada uno de ellos efectuar las siguientes tres operaciones:

1. Reordenar los 8 bits según el orden 4, 7, 8, 1, 6, 5, 2, 3.

2. Efectuar la suma XOR con la clave.

3. Volver a realizar la permutación de bits del paso 1.

Page 197: Libro criptografia

10. CRIPTOGRAFÍA MODERNA

189

Empleando en este cifrado la clave 10100111, la cadena de bits obtenida al codificar en ASCII la palabra ‘ADIOS’ se cifra de la siguiente manera:

Texto en claro: 01000001 01000100 01001001… ↓ Reordenación 00100010 00001010 00100110… ↓ ⊕10100111 10000101 10101101 10000001… ↓ Reordenación Texto cifrado: 00111000 00111101 00110000…

Notemos que los pasos de este cifrado son involutivos y que, en consecuencia, el proceso de cifrado sirve también para descifrar. Esta es una propiedad que suele estar presente en la mayoría de los criptosistemas que se emplean en la práctica, por la comodidad que ello supone.

En el ejemplo anterior hemos empleado un cifrado en bloque de la manera más simple y natural que puede hacerse. Los textos americanos lo denominan modo ECB, acrónimo de “Electronic Code Book”. En ocasiones no es el más conveniente. En este modo, si no varía la clave, bloques iguales de texto en claro dan lugar también a trozos idénticos de texto cifrado. Con frecuencia, los mensajes que generan los ordenadores tienen estructuras muy regulares y presentan numerosos fragmentos idénticos; sobre todo en la cabecera y en el final. Esto puede presentar un gran riesgo para la seguridad de un cifrado en bloque. Tal problema puede resolverse usando el cifrado en bloque de la manera que explicamos a continuación.

Antes de cifrar, el emisor elige aleatoriamente el denominado vector de inicialización, que es un bloque de bits de la misma longitud con la que opera el cifrado y que se transmite en claro al receptor en la cabecera del mensaje. Con este vector y el primer bloque de texto en claro se efectúa la suma XOR y se cifra el resultado, obteniéndose el primer fragmento de texto cifrado. Este primer trozo de texto cifrado se suma con el segundo bloque de texto en claro y se cifra el resultado, dando lugar al segundo trozo de texto cifrado. Y así se continúa, sumando un bloque de texto en claro con el anterior de cifrado y cifrando la suma resultante. Para descifrar, el receptor del mensaje debe aplicar el proceso de descifrado a cada trozo de texto cifrado y el resultado obtenido sumarlo con el bloque anterior. Quizás sea más clarificador expresar todo esto matemáticamente:

Cifrado: yi = C(xi⊕ yi−1) Descifrado: xi = yi−1⊕D(yi) ,

donde C y D representan respectivamente los procesos de cifrado y descifrado; xi e yi los i-ésimos bloques de cifrado y descifrado, siendo y0 el vector de inicialización.

Esta forma de operar que acabamos de describir recibe el nombre de modo CBC (“Cipher Block Chaining”). Operando en este modo y variando el vector de inicialización

Page 198: Libro criptografia

10. CRIPTOGRAFÍA MODERNA

190

en cada transmisión, los bloques iguales de texto en claro se transforman siempre en trozos distintos de texto cifrado. Hay otras formas de emplear los cifrados en bloque que resuelven el problema planteado antes y que se adaptan mejor a ciertas condiciones de transmisión. Pero no entramos a describirlos y damos ya por concluido esta breve incursión por la teoría de los modernos cifrados. El lector interesado puede consultar alguno de los magníficos textos que se adentran en este campo. El de Bruce Schneier, incluido en la bibliografía, es uno de ellos.

Dejemos entonces a un lado las cuestiones teóricas y pasemos a hablar de DES, un cifrado moderno que ya tiene reservado un capítulo en la historia de la Criptografía. Para introducirlo, situémonos en los Estados Unidos a comienzos de los años setenta. Por aquellos años, la proliferación de los ordenadores y el paralelo desarrollo de los sistemas de comunicación permitieron que bancos y empresas diversas almacenasen y transmitiesen un volumen de información cada vez mayor. Ello trajo consigo una demanda de protección de la información por parte de estas organizaciones. Para atender esta petición, la entonces llamada NBS, la oficina nacional de estándares, puso en marcha un programa destinado a dotar de seguridad a las comunicaciones y bases de datos. Parte de ese programa era la adopción de un estándar de cifrado de uso general. Con este objetivo, en mayo de 1973, la NBS solicitó públicamente propuestas de tal estándar. Se recibieron muy pocas, y ninguna de ellas mereció la consideración de la NBS. Un año después, en agosto de 1974, la NBS efectuó un segundo concurso. En esta ocasión, la mítica compañía IBM remitió un criptosistema basado en un cifrado denominado “Lucifer” y que Horst Feistel, uno de sus técnicos, había ideado unos años antes. A la NBS le pareció un cifrado interesante; pero antes de adoptarlo como estándar, lo sometió a la consideración de los expertos de la NSA, la agencia nacional de seguridad.

La NSA es el organismo oficial responsable de la seguridad en las comunicaciones militares y gubernamentales de los Estados Unidos; así como de interceptar y penetrar en las comunicaciones de ejércitos y gobiernos de otros países. Fue creada por el presidente Harry Truman a finales de 1952, con el objeto de reunir en un solo órgano los servicios de inteligencia de los tres cuerpos del ejército americano. El hecho que emplee más personas que la CIA y que sus instalaciones ocupen un espacio similar al del Pentágono da una idea de la importancia de la NSA.

Unos meses después, en marzo de 1975, y tras la evaluación positiva de los expertos de la NSA, la NBS publicó en el Registro Federal los detalles del cifrado de IBM, con objeto de someterlo a discusión pública. Casi dos años más tarde, en enero de 1977, la NBS lo adoptó como estándar de cifrado de la información “no clasificada”, con el nombre de “Data Encryption Standard”: DES. Poco tiempo después, compañías como Motorola, AMD o DEC iniciaban la producción y distribución de chips que implementaban DES. Durante los veinte años que ha estado en vigor, ha sido el criptosistema preferido de empresas, bancos e incluso organizaciones gubernamentales como el Departamento de Justicia o la Reserva Federal.

Seguidamente, presentamos una descripción abreviada de este criptosistema que permite conocer su funcionamiento. Los detalles pueden consultarse en el anteriormente citado libro de Schneier.

Page 199: Libro criptografia

10. CRIPTOGRAFÍA MODERNA

191

DES es un cifrado en bloques de 64 bits que opera con claves de 56 bits. El proceso de cifrado de cada bloque sigue los siguientes tres pasos:

1. Se efectúa una permutación inicial de los 64 bits. El resultado se parte en dos trozos de 32 bits, uno su mitad izquierda L0 y el otro su otra mitad diestra R0.

2. Estos trozos L0 y R0 se someten a 16 rondas de idénticas operaciones. El resultado de cada ronda es otro par de bloques de 32 bits: Li y Ri, que se obtienen a partir de los anteriores Li−1 y Ri−1 de este modo:

Li = Ri−1 Ri = Li-1 ⊕ f ( Ri−1, Ki),

donde f es una transformación de bits que definiremos después y Ki es un bloque de 48 bits extraído de la clave (el subíndice indica que es diferente en cada ronda).

3. Del paso anterior resultan dos bloques de 32 bits, L16 y R16. Se reúnen en uno sólo en el orden R16L16 y se aplica a este bloque de 64 bits la inversa de la permutación del paso 1. El resultado es ya el bloque cifrado.

El descifrado se consigue ejecutando los mismos pasos anteriores, pero eligiendo los bloques Ki en orden inverso: K16, K15, …, K1.

Describamos a continuación la transformación f que actúa en el paso 2. Esta transformación toma dos argumentos o entradas: R de 32 bits y K de 48, y produce como salida otro bloque de 32 bits que denotamos f ( R, K). Se obtiene así:

a) Se “expande” el bloque R a otro de 48 bits duplicando algunos de sus bits, obteniéndose entonces otro bloque que denotamos R′.

b) Se forma la suma R′ ⊕K y se parte en 8 trozos de 6 bits cada uno:

R′ ⊕K=B1B2B3B4B5B6B7B8

c) Sobre cada trozo Bi actúa una transformación Si diferente, obteniéndose un bloque Ci de 4 bits. Más adelante describimos estas transformaciones Si, llamadas también “cajas”.

d) Se reúnen los 8 trozos de antes en uno sólo: C = C1C2C3C4C5C6C7C8. Por último, los 32 bits de C se reordenan según cierta permutación. Esta es la salida de f.

Vayamos ahora con la descripción de las cajas Si, la parte más controvertida de DES. Estas 8 cajas admiten como entrada un bloque de 6 bits y producen como salida otro de 4 bits. Dado que todas ellas son similares, mostraremos sólo S1. Consideremos la siguiente Tabla 10.2, en la que cada una de sus cuatro filas es una permutación de los enteros 0, 1, 2, …, 15:

Page 200: Libro criptografia

10. CRIPTOGRAFÍA MODERNA

192

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13

Tabla 10.2. La primera caja de DES.

Dado un bloque de 6 bits B = b1b2b3b4b5b6, se calculan los enteros i y j siguientes:

i = 2·b1+b6, j = 8·b2+4·b3+2·b4+b5

y se considera la entrada i, j de la Tabla 10.2, que es un número entre 0 y 15. Se escribe en binario, obteniéndose un bloque de 4 bits que es precisamente el transformado del inicial B. Por ejemplo, si B =101110, es i=2·1+0=2 y j=8·0+4·1+2·1+1=7. La entrada 2,7 de la tabla es 11, que en binario se escribe 1011. Luego el transformado de 101110 es 1011.

Naturalmente, DES es un criptosistema complejo. Así tiene que ser si se desea cierta seguridad. Pero, a pesar de esta complejidad, DES es rápido si se implementa en hardware. Por ejemplo, en 1991 la empresa DEC fabricó un chip capaz de cifrar a una velocidad de 1 gigabit por segundo. Su precio: 300 dólares.

La propuesta de DES como estándar levantó una gran polémica en los Estados Unidos. Por la intervención de la NSA en el proceso. Aún hoy en día es desconocido si la NSA modificó el cifrado que IBM remitió a la NBS. Algunos de los técnicos de IBM que participaron en el proyecto han asegurado que la NSA no cambió ni una sola línea de su algoritmo; pero otros, en cambio, han reconocido lo contrario. Sea como fuere, la controversia surgió por las modificaciones que DES presentaba respecto a su antecesor, el cifrado Lucifer, que también había sido publicado. Esencialmente, sólo hay dos modificaciones. La primera, una reducción en el tamaño de los bloques y de la clave. Lucifer encripta bloques de 128 bits y maneja claves de este mismo tamaño, mientras que DES opera con bloques de 64 bits y claves de 56. Tanta disminución en el tamaño de la clave hizo sospechar a algunas personas. Los 56 bits de la clave daban una seguridad más que suficiente para las posibilidades de cómputo de los ordenadores comunes de los años setenta; pero quizás no para los que podía poseer la NSA. Tal vez 56 bits era un tamaño accesible para los supercomputadores de la NSA destinados a tareas de criptoanálisis. Las cajas Si fueron la segunda modificación. En estas transformaciones de bits descansa toda la seguridad de DES. Sin ellas, su proceso de cifrado podría expresarse mediante una ecuación matricial; convirtiéndolo en un cifrado tipo Hill y, en consecuencia, vulnerable ante un ataque con texto claro y su correspondiente cifrado. Las cajas impiden este criptoanálisis. Lucifer tenía dos cajas por las que entraban y salían bloques de 4 bits de una manera que parecía “natural”: ambas cajas eran reordenaciones de los 16 bloques que se pueden formar con 4 bits. Los 6 bits que entran en las cajas de DES se transforman en otros 4 de una forma misteriosa, como hemos tenido ocasión de observar. Muchos sospecharon que escondían una “puerta trasera” que sólo la agencia de seguridad sabía

Page 201: Libro criptografia

10. CRIPTOGRAFÍA MODERNA

193

como abrir. Algo que la NSA siempre negó, obviamente; aunque reconoció que había ciertas razones en su diseño que por motivos de seguridad no podían publicarse. Por otro lado, los numerosos estudios llevados a cabo por personas ajenas a la NSA y a IBM no han podido confirmar ni desmentir la presencia de puertas traseras en las cajas de DES; pero sí la existencia de ciertos hechos “extraños”. Por ejemplo, Lexar Corporation dio a conocer un informe en septiembre de 1976 que concluía diciendo:

“… Han sido encontradas en DES ciertas construcciones que indudablemente fueron insertadas para fortalecer el sistema contra ciertos tipos de ataques. Otras que también han sido halladas parecen debilitar el sistema.”

En cualquier caso, las cajas de DES proporcionan a este cifrado una seguridad muy superior a la de Lucifer, a pesar de la reducción en el número de bits de la clave.

Poco a poco, a lo largo de los años setenta y ochenta, una nueva comunidad de criptógrafos surgió por empresas y universidades de todo el mundo; debido al desarrollo de la informática y los sistemas de comunicación, digámoslo una vez más. Para ellos, la implantación de DES como estándar fue todo un desafío; motivados más aún por el certificado de seguridad que otorgó la participación de la NSA.

El “reducido” número de bits de las claves invitaba a un ataque por “fuerza bruta”; esto es, comprobando una a una todas las claves posibles. (Manejando claves de 56 bits hay en total 256, un número que supera los 70 mil billones). Ya en 1977, Whitfield Diffie y Martin Hellman pensaron en la posibilidad de construir un chip que comprobase un millón de claves por segundo. Un ordenador que incorporase otro millón de tales chips descubriría la clave a lo largo de un día. Sin embargo, hay que esperar hasta 1998 para que se tenga constancia de la fabricación de uno de estos ordenadores. En ese año, la Cryptography Reseach, la Avanced Wireless Technologies y la Electronic Frontier Fundation construyeron conjuntamente el que llamaron “DES Cracker”, un ordenador con más de 1800 chips que, siendo capaz de comprobar más de 90 mil millones de claves por segundo, recuperaba una clave DES en una media de 5 días. Su coste rondó los 250 mil dólares. No obstante, la búsqueda exhaustiva de claves DES ya había tenido éxito un año antes, en junio de 1997. En esa ocasión, con motivo del concurso “DES Challenge” convocado por la empresa RSA Data Security, 14000 PC´s coordinados a través de Internet descubrieron la clave ganadora. Tardaron 120 días en encontrarla. El premio: 10000 dólares.

En realidad, la fuerza bruta ha resultado ser el único método efectivo para derrotar a DES. Se han descubierto otros métodos que requieren menos cálculo computacional, pero ninguno es viable en la práctica. Los más conocidos son los denominados criptoanálisis diferencial y criptoanálisis lineal, dos técnicas genéricas contra los cifrados en bloque. El primero fue dado a conocer por los israelíes Eli Biham y Adi Shamir en 1990. Es un ataque con texto pleno escogido, lo que significa que el criptoanalista debe disponer de texto pleno (y su correspondiente cifrado) con ciertas características. Se ha mostrado eficaz contra algunos cifrados en bloque, incluidos Lucifer y una versión de DES que no supere las 8 rondas del segundo paso; pero para aplicarlo al auténtico DES de 16 rondas

Page 202: Libro criptografia

10. CRIPTOGRAFÍA MODERNA

194

se requiere una cantidad desorbitada de texto pleno. Curiosamente, poco después de publicarse el trabajo de Biham y Shamir, Don Coppersmith, del equipo de IBM que diseñó DES, afirmó que ellos ya conocían la técnica del criptoanálisis diferencial y que la razón de las 16 rondas de DES era evitar este método de criptoanálisis. El criptoanálisis lineal fue ideado por Mitsuru Matsui en 1993. Es un ataque con texto pleno. Contra DES es ligeramente más eficiente que el diferencial, pero con el mismo inconveniente: se requiere una cantidad enorme de texto. En esta ocasión, cuando se preguntó si DES estaba protegido también contra el criptoanálisis lineal, Coppersmith respondió que no, que desconocían el método de Matsui.

Naturalmente, DES no fue el único criptosistema disponible. Durante el periodo que estuvo en vigor se propusieron decenas de cifrados alternativos, muchos de ellos de dominio público. Algunos bien conocidos son los siguientes: “Feal”, “Loki”, “Gost” (el análogo de DES en la Unión Soviética), “Redoc”, “Idea”, “Cast”, Safer”, “Blowfish”, “RC5”... La NSA también dio a conocer en 1994 un nuevo cifrado para ser usado en telefonía y comercio electrónico: “Skipjack”. Este algoritmo fue declarado secreto, y los chips en que se ha implementado impiden acceder a su código fuente. Quizás proceda así la agencia porque no desee que uno de sus criptosistemas circule abiertamente por todo el mundo, o para poder escuchar conversaciones telefónicas cifradas, o ambas cosas.

Todos los cifrados anteriores son cifrados en bloque que operan ya con claves de al menos 64 bits. En realidad, la mayoría de los cifrados que se dan a conocer son cifrados en bloque. Pocos son los cifrados secuenciales cuyo algoritmo se publica detallado. Quizás sea porque su implementación en software es poco eficiente, lo que no suele ocurrir con los cifrados en bloque. En cambio, los secuenciales son fáciles de implementar vía hardware. Por ello, son ideales para las telecomunicaciones. También se asegura que son los preferidos de los militares, aunque esto siempre es una incógnita. “RC4”, de RSA Data Security, y “Seal”, de IBM, son unos de los pocos cifrados secuenciales cuyo algoritmo ha sido publicado.

En enero de 1997, la nueva agencia que sustituyó a la NBS: el National Institute of Standards and Technology (NIST), viendo que la seguridad de DES estaba ya comprometida, convocó a concurso público la adjudicación del nuevo estándar de cifrado. Se denominaría AES, acrónimo de “Avanced Encryption Standard”. En la convocatoria se especificaba una serie de requisitos mínimos: un cifrado en bloque de 128 bits; con claves de 128, 192 y 256 bits; la posibilidad de ser implementado tanto en hardware como en software; estar disponible gratuitamente… Pero lo más destacado de la convocatoria era que el concurso estaba abierto a todo el mundo y que el proceso de selección iba a ser totalmente transparente. Además, se invitaba a cualquiera que lo desease a evaluar las propuestas presentadas. El NIST publicaría en su página web las especificaciones técnicas de los cifrados concursantes y las evaluaciones que de ellos se hiciesen. Con esta política, el NIST quería evitar una polémica similar a la acontecida veinte años antes tras la adopción de DES.

La fase de aceptación de propuestas se cerró en mayo de 1998, admitiéndose a concurso quince cifrados provenientes de empresas y grupos de investigación de todo el mundo. Fueron presentados oficialmente en una conferencia de candidatos que tuvo lugar

Page 203: Libro criptografia

10. CRIPTOGRAFÍA MODERNA

195

en Ventura, California, en agosto de 1998; y que sirvió de inicio a una primera ronda de evaluación por parte de la comunidad criptográfica. Los resultados de las pruebas realizadas se discutieron en una segunda conferencia de candidatos que tuvo lugar en marzo de 1999, esta vez en Roma. Aquí se puso de manifiesto que cinco de los quince cifrados concursantes no reunían las condiciones de seguridad exigidas por el NIST, así como que algunos algoritmos eran más eficientes que otros. Unos meses después de esta reunión, en agosto, el NIST dio a conocer los cinco candidatos finalistas: “Mars”, de IBM; “Rijndael”, de los belgas J. Daemen y V. Rijmen; “RC6”, de RSA Data Security; “Serpent”, del británico R. Anderson, el israelí E. Biham y el danés L. Knudsen; y “Twofish”, de Counterpane Systems. En abril de 2000 se celebró en Nueva York la tercera y última conferencia, dedicada a los cinco cifrados finalistas. En su última sesión, la organización solicitó una valoración de los candidatos a través de un cuestionario. El cifrado preferido de los asistentes resultó ser Rijndael, el criptosistema de los investigadores belgas. El mismo que el NIST eligió como vencedor del concurso, cuyo anuncio oficial tuvo lugar el 2 de octubre de 2000.

Desde ese momento, DES ya tiene sustituto: AES. Naturalmente, la decisión del NIST de adoptar el nuevo criptosistema sólo obliga a la administración federal americana, y en lo concerniente a la información no clasificada; pero con toda seguridad, AES va a ser el cifrado más usado en los próximos años. La recomendación del cifrado por parte del NIST es todo un certificado de garantía para empresas y organizaciones. Prueba de ello es que organismos internacionales como el consorcio europeo NESSIE (“New European Schemes for Signatures, Integrity and Encryption) ya han recomendado el uso de AES. Más aún, recientemente, en junio de 2003, la misma NSA ha aprobado el uso de AES para cifrar información clasificada: la “secreta” con claves de 128 bits y la de “alto secreto” con claves de 192 y 256 bits.

A continuación damos una descripción resumida del nuevo estándar de cifrado. El lector que desee conocer todos sus detalles puede consultar las páginas web del NIST o el libro “The Design of Rijndael”, escrito por los belgas creadores del cifrado.

AES, como la gran mayoría de los cifrados en bloque, consiste en someter a los bloques de texto en claro a una serie de operaciones que se repiten cierto número de rondas. Estas operaciones se expresan en términos algebraicos empleando cierta aritmética de bytes (recordemos: un byte son 8 bits). En esta aritmética, la suma de bytes es justamente la suma ‘XOR’ introducida antes y el producto… Bueno, este producto de bytes es mucho más complicado de definir y mejor no lo hacemos. Baste con señalar que esta aritmética de bytes está extraída de la teoría matemática de los cuerpos finitos y no es elemental. Lo que importa saber es que cada byte no nulo (≠ 00000000) tiene inverso para el producto. Dicho esto, el proceso de cifrado de cada bloque de 128 bits de texto en claro sigue los siguientes tres pasos:

1. Se efectúa una suma XOR entre el bloque de texto en claro y los 128 primeros bits de la clave. El resultado se parte en 16 bytes: B1B2B3…B16 y se forma con ellos una matriz 4×4:

Page 204: Libro criptografia

10. CRIPTOGRAFÍA MODERNA

196

161284

151173

141062

13951

BBBBBBBBBBBBBBBB

2. Esta matriz de bytes se somete a una serie de rondas de idénticas operaciones. El número de rondas depende del tamaño de la clave: 9 si la clave es de 128 bits, 11 si es de 192 y 13 si es de 256. Las operaciones son las siguientes:

a) Cada byte se transforma en otro por la acción de una “caja”. Más adelante describimos como actúa esta caja.

b) Se efectúa una permutación cíclica de los bytes de las filas 2ª, 3ª y 4ª de la matriz, desplazándolos 1, 2 y 3 posiciones a la izquierda, respectivamente.

c) Las columnas se someten a la siguiente transformación de Hill:

=

4

3

2

1

4

3

2

1

xxxx

baaccbaaacbaaacb

yyyy

donde a, b y c son los bytes: a = 00000001, b = 00000010 y c = 00000011. Este cálculo matricial se realiza con la aritmética de bytes antes referida.

d) La matriz resultante se suma (‘⊕’) con otra matriz de bytes de tamaño 4×4 formada a partir de la clave. Esta matriz es distinta en cada ronda, ha sido obtenida y almacenada antes de empezar a cifrar y su cómputo se efectúa mediante un algoritmo que depende de la longitud de la clave y en el que interviene la “caja” del apartado a).

3. Se vuelven a ejecutar una vez más a), b) y d) de antes. Y por fin, alineando los 16 bytes de la matriz resultante, se obtiene el bloque de 128 bits de texto cifrado.

Queda describir la sustitución de bytes del apartado a), la única “caja” presente en AES. Esta caja transforma un byte en otro realizando estas dos operaciones:

I. Cada byte se reemplaza por su inverso para el producto. Como el byte nulo no tiene inverso, se deja invariante.

Sea a7a6a5a4a3a2a1a0 el byte resultante de este primer paso.

II. Se cambia por este otro: b7b6b5b4b3b2b1b0, resultado de realizar las siguientes sumas de bits:

Page 205: Libro criptografia

10. CRIPTOGRAFÍA MODERNA

197

⊕⊕⊕⊕⊕=⊕⊕⊕⊕⊕=

⊕⊕⊕⊕=⊕⊕⊕⊕=⊕⊕⊕⊕=

⊕⊕⊕⊕⊕=⊕⊕⊕⊕⊕=

⊕⊕⊕⊕=

11

11

045670

015671

012672

012373

012344

123455

234566

345677

aaaaabaaaaabaaaaabaaaaabaaaaab

aaaaabaaaaab

aaaaab

El disponer de un estándar de cifrado de uso generalizado tiene un gran inconveniente: que todo el mundo quiere romperlo. Al exigir claves con una longitud mínima de 128 bits, el NIST dotaba a su cifrado de una seguridad más que suficiente contra un ataque por fuerza bruta; el único método que venció al anterior estándar, el DES. Descubrir una clave de 128 bits comprobando una a una todas las posibles es una tarea prácticamente eterna para cualquier ordenador de hoy en día. Incluso para todos juntos. Y 256 bits son garantía de sobra contra todos los ordenadores electrónicos que se construyan en las próximas décadas. Será necesario algo más que fuerza bruta para derrotar al AES. Durante el concurso, el vencedor Rijndael (al igual que el resto de los finalistas) probó ser inmune a todos los métodos de criptoanálisis conocidos hasta ese momento. Ni siquiera se descubrió una pequeña grieta en su estructura. Pero una vez convertido en AES, todos los que lo subieron a lo más alto intentan ahora derribarlo. Y no sólo ellos, sino otros muchos que últimamente se han acercado a la Criptografía por diferentes razones. No es exagerado decir que todo un ejército de criptoanalistas con todo tipo de armas se está enfrentando ya al AES. Quien sabe, quizás algún día alguien logre derrotarlo.

Page 206: Libro criptografia
Page 207: Libro criptografia

199

11

CRIPTOGRAFÍA EN CLAVE PÚBLICA

La manera más rápida de acceder a la comunicación cifrada no es a través del criptoanálisis; sino hacerse con la clave, sustrayéndola o sobornando a alguien que la conozca o tenga acceso a ella. Algo que tarde o temprano sucede, sobre todo si hay organizaciones poderosas interesadas. Contra esto, la única solución posible es cambiar la clave frecuentemente. Lo habitual es que una de las partes que van a mantener comunicación cifrada elija la clave y la notifique a la otra. Si ambas pueden reunirse en privado, en un lugar seguro, no hay ningún problema. En otro caso, quien selecciona la clave debe comunicarla a la otra parte por algún medio que debe considerar seguro. Y ahí empieza el problema, ya que con frecuencia sucede que tal medio no es tan seguro como se suponía. Además, si se dispone de un canal de comunicación seguro, quizás no tenga sentido transmitir información cifrada por otro. Se plantea así un antiguo problema en Criptografía: la distribución de claves. De hecho, es un problema muy serio en organizaciones complejas que involucran a muchas personas.

Una manera de resolver el problema de la distribución de claves puede ser desarrollando la idea que a continuación presentamos de forma esquemática:

1. Una de las partes, llamémosla A, escoge una clave y la cifra empleando otra clave que sólo A conoce. El resultado se transmite a la otra parte B.

2. B cifra este resultado una segunda vez, también con una clave que sólo B conoce. El mensaje doblemente cifrado se devuelve a A.

3. A retira su clave particular y remite de nuevo el mensaje a B.

4. Por último, B retira también la suya y ya ambos conocen la clave común.

De este modo, A ha comunicado a B una clave común de forma segura por un canal que no necesita serlo. Esta idea es interesante, sin duda alguna, y resuelve el problema de la distribución de claves. Pero antes, se requiere solucionar este otro: la clave común cifrada ha de transmitirse tres veces, ¿cómo sabe cada una de las dos partes implicadas que

Page 208: Libro criptografia

11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

200

cada mensaje recibido es auténtico, que en efecto ha sido trasmitido por la otra parte y no por un intruso? Además, ¿cómo realizar esta idea en la práctica?

La respuesta a estas cuestiones (y también a otras relacionadas) se encuentra dentro de la Criptografía en clave pública. Se llama así porque en esta criptografía cada clave consta a su vez de dos claves: una pública, conocida por todo el mundo; y otra privada, en poder de una única persona. Con la clave pública se cifran los mensajes y con la privada se descifran. De este modo, cualquiera puede cifrar mensajes y transmitirlos al receptor conocedor de la clave privada. Sólo él será capaz de entenderlos. La Criptografía de clave pública se denomina también criptografía asimétrica. Dicho término asigna entonces el calificativo de simétrica a la criptografía tradicional, en la que tanto el emisor como el receptor emplean una clave secreta.

La primera publicación que incluye este revolucionario concepto criptográfico fue el artículo escrito por Whitfield Diffie y Martín Hellman, de la Universidad de Stanford, titulado “New Directions in Cryptography” y publicado en la revista IEEE Transactions on Information Theory, en noviembre de 1976. En él se presentan las nociones básicas de la Criptografia en clave pública, se plantean algunos problemas que con ella se resuelven y se describe el primer criptosistema perteneciente a esta nueva rama de la Criptografía. Sus autores mencionan también el trabajo de Ralph Merkle, de la Universidad de California en Berkeley, quien había llegado a la misma idea de clave pública que los investigadores de Stanford.

No obstante, aunque se considera a estos tres investigadores americanos los creadores de la Criptografía en clave pública, es probable que ésta fuera desarrollada antes en el seno de las todopoderosas organizaciones gubernamentales dedicadas a las tareas criptográficas. A finales de los años 70, Robert Inman, siendo director de la NSA, manifestó que esta agencia ya hacía uso de la criptografía en clave pública diez años antes de la publicación del artículo de Diffie y Hellman. Naturalmente, Inman no mostró documentos que avalaran su afirmación; pero son varias las personas vinculadas a la alta seguridad americana que lo han ido confirmando. Hay hasta quien ha relacionado ese precoz interés de la NSA en la criptografía en clave pública con el control del armamento nuclear. Más recientemente, en diciembre de 1997, el “Goverment Communication Headquarters” (GCHQ), la organización británica equivalente a la NSA, desclasificó una serie de documentos que, de ser cierto lo que en ellos se dice, muestran que el GCHQ trabajaba con la idea de la clave pública desde finales de los años 60.

La seguridad en la Criptografía asimétrica es un problema mucho más delicado que en la simétrica, ya que el único dato no público es la clave que sirve para el descifrado. Además, no es fácil reunir seguridad y efectividad en un cifrado en clave pública; y solamente unos pocos de los numerosos criptosistemas que han sido propuestos lo han logrado. Por lo general, estos algoritmos están basados en las llamadas funciones unidireccionales. Nos ayudará a entender este concepto matemático el siguiente ejemplo. Imaginemos que disponemos de pintura de los cinco colores básicos: negro, blanco, rojo, azul y amarillo. Mezclando estos colores en diferentes proporciones se puede conseguir cualquier otro color. Esta operación puede contemplarse como una función que toma como argumento una proporción de los cinco colores básicos y produce un color compuesto. Es

Page 209: Libro criptografia

11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

201

fácil obtener un color determinado si se conoce la proporción exacta de los colores básicos. Por el contrario, dado un determinado color, es prácticamente imposible averiguar su composición, la proporción exacta de cada color básico. Estas son las dos condiciones que debe verificar una función unidireccional.

Con cierta formalidad: una función que transforma una variable x en otra y se dice unidireccional si:

a) Dada x, el cálculo de y se puede realizar en tiempo polinomial.

b) Dada y, el cómputo de una x que produce tal y es un problema intratable.

Expliquemos los términos “tiempo polinomial” y “problema intratable”, extraídos de la Teoría de la Complejidad de Algoritmos. El tiempo de ejecución de un algoritmo es el número de instrucciones elementales (pasos) que realiza. Este número de pasos depende de la longitud de los datos de entrada; esto es, del número de bits que ocupa su codificación en el ordenador. Dicho de un modo informal: un algoritmo se ejecuta en tiempo polinomial si existe cierto entero k tal que si los datos de entrada tienen una longitud de n bits, entonces el algoritmo se ejecuta en un número de pasos próximo a nk. (Si k=1, se dice lineal; si es 2, cuadrático, etc.). El tiempo polinomial es un tiempo corto, de acuerdo con la noción de tiempo que todos tenemos. Esto puede observarse en la tercera columna de la siguiente Tabla 11.1. En ella figura el tiempo que tardarían en ejecutarse los algoritmos de la primera columna, suponiendo entradas de 100 bits y una velocidad de ejecución de un billón de pasos por segundo (velocidad de un supercomputador). Compárense los tiempos polinomial con el exponencial.

Tipo Pasos Tiempo

Lineal: n 100 0,1 nanosegundos

Cuadrático: n2 10000 10 nanosegundos

Cúbico: n3 106 1 microsegundo

Exponencial: 2n 1030 30000 millones de años

Tabla 11.1.Tiempo de algoritmos en un supercomputador.

Expliquemos ahora el término “problema intratable”. Un problema que se resuelve mediante un algoritmo que corre en tiempo polinomial se dice que es de clase P (polinomial). Análogamente, si tal algoritmo no es polinomial, se dice de tipo NP (no polinomial). En la actualidad, se desconoce si ambas clases coinciden; pero se cree que no, que hay problemas NP que no son P. Estos son precisamente los llamados problemas intratables: aquellos para los que no se conoce algoritmos polinomiales que los resuelvan y que, además, se sospecha que tales algoritmos no existen.

Establecido el concepto de función unidireccional, ilustrémoslo con un ejemplo más propio de las Matemáticas que la anterior operación de mezclar pinturas. Uno muy sencillo

Page 210: Libro criptografia

11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

202

es el siguiente. Fijemos una lista de r enteros positivos: m1, m2, …, mr. A cada bloque de r bits b1b2…br le asociamos la suma:

S = b1m1 + b2m2 + … + brmr

Definimos así una función, la que a cada bloque de de r bits b1b2…br le hace corresponder la suma S. El cálculo de S a partir del bloque de bits es inmediato: requiere efectuar r−1 sumas como mucho y ello se realiza con un algoritmo lineal. Pero dada una suma S, recuperar un bloque de bits que la produce es un problema intratable; es el conocido como “problema de la mochila”. Naturalmente, para observar la “intratabilidad” de este problema hay que considerar valores de r que no sean pequeños. Piénsese en el problema con r≥100, por ejemplo.

Un criptosistema asimétrico diseñado a partir de una función unidireccional basa su seguridad en el problema intratable asociado a esta función. Se trata de que su criptoanálisis sea equivalente a resolver dicho problema. Al mismo tiempo, la rapidez de su vía directa (esto es, el cálculo de y a partir de x) puede ser empleada en los procesos de cifrado o descifrado. Por ejemplo, la función unidireccional asociada al problema de la mochila puede servir de base a un criptosistema en el que el cifrado consista en transformar bloques de r bits en sumas S, que es un proceso rápido. El criptoanalista que pretenda recuperar los bloques de bits a partir de las sumas estará ante un problema intratable. De esta idea partieron Merkle y Hellman para concebir un criptosistema que dieron a conocer en 1978 y que describimos en los párrafos siguientes.

Sucede que el problema de la mochila es fácil de resolver si los enteros mi forman una sucesión supercreciente, que así se dice cuando cada entero mi es mayor que la suma de los anteriores. Por ejemplo, la sucesión de 8 números: {3, 4, 10, 21, 43, 85, 177, 350} es supercreciente: 3<4, 3+4<10, 3+4+10<21, etc. Cuando la lista de enteros mi es supercreciente, si existe solución al problema de la mochila, ésta es única y puede obtenerse de la manera que explicamos a continuación. Por ejemplo, dado S=482, calculemos, si es que existe, un byte b1b2…b8 solución de la ecuación:

482 = 3b1+4b2+10b3+21b4+43b5+85b6+177b7+350b8

Primero comparamos 482 con 350, el último entero. Como es mayor, b8 ha de ser 1; en otro caso, sería 0. Al ser 1 este bit, restamos: 482−350=132. Comparamos 132 con 177, el penúltimo entero de la lista. Como es menor, b7=0. Comparamos entonces 132 con el siguiente entero de la lista: 85. Es mayor, luego b6=1. Restamos: 132−85=47. Como esta diferencia supera a 43, b5=1. Volvemos a restar: 47−43=4. Esta diferencia es menor que 21 y 10 pero igual al segundo número de la lista, luego b4=b3=0 y b2=1. La siguiente resta es ya 0: 4−4=0. Llegar a 0 es precisamente la condición de existencia de solución. Los bits que faltan por calcular son nulos. Luego b1=0 y hemos obtenido el (único) byte solución: 01001101. (Compruébese, si no se está convencido de ello).

En el criptosistema de Merkle y Hellman (también llamado de la mochila) se parte de una sucesión de enteros supercreciente. Se consideran también otros dos enteros: uno el módulo, mayor que la suma de todos los enteros de la sucesión; y otro el multiplicador,

Page 211: Libro criptografia

11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

203

primo con el módulo (esto es, que el máximo común divisor de ambos enteros es 1). La sucesión supercreciente, el módulo y el multiplicador constituyen la clave privada que sólo conoce el receptor de los mensajes. Por ejemplo, la sucesión supercreciente anterior {3, 4, 10, 21, 43, 85, 177, 350}, el módulo 700 y el multiplicador 79 constituyen una clave privada.

Seguidamente, consideramos la aritmética modular de la que hablamos en el capítulo 7; pero fijando ahora como módulo de esta aritmética el módulo de la clave privada: 700 en nuestro ejemplo. Como el multiplicador es primo con el módulo, tiene inverso para el producto. El inverso de 79 (módulo 700) es 319, como puede comprobarse. Multiplicamos este inverso por cada uno de los términos de la sucesión supercreciente que forma parte de la clave privada (recordemos que las operaciones con la aritmética modular se realizan recurriendo a las operaciones habituales de enteros y sustituyendo el resultado por el resto de dividirlo entre el módulo):

3·319 = 957 = 257, (957=1·700+257). 4·319 = 1276 = 576, (1276=1·700+576). 10·319 = 3190 = 390, (3190=4·700+390).

Se obtiene así la sucesión {257, 576, 390, 399, 417, 515, 463, 350}, que ya no es supercreciente. Esta sucesión es precisamente la clave pública que conoce todo el mundo.

Para cifrar con ella un mensaje que se supone codificado en binario, el emisor lo divide en bloques de 8 bits b1b2…b8 y los reemplaza por la suma

S = 257·b1+576·b2 +…+ 350·b8.

He aquí un ejemplo:

Clave pública: {257, 576, 390, 399, 417, 515, 463, 350}

Texto claro: 01001101 10001110 00110011

↓ S ↓ S ↓ S Texto cifrado: 1858 1652 1602

Criptosistema de Merkle-Hellman. Esquema de cifrado.

Para descifrar, el receptor del mensaje debe usar la aritmética módulo 700 y multiplicar S y el otro miembro de la ecuación anterior por 79 (el multiplicador). Al hacerlo:

257·79=3·319·79=3,

Page 212: Libro criptografia

11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

204

ya que 257=3·319 y 319 es el inverso de 79. De igual manera 576·79=4, 390·79=10, etc. Se obtiene así esta otra ecuación, en la que figuran los enteros de la sucesión supercreciente:

79·S = 3·b1+4·b2 +…+ 350·b8.

A partir de ella, el receptor puede recuperar el bloque b1b2…b8 de la manera explicada antes. Por ejemplo, al multiplicar el primer número del texto cifrado por 79 obtenemos 482; y ya hemos comprobado que la única solución de la igualdad

482=3·b1+4·b2 +…+ 350·b8

es 01001101, justamente el primer bloque de ocho bits del texto en claro.

Con ocho enteros, el problema de la mochila es fácil de resolver y, por tanto, el criptosistema resultante carece de seguridad alguna. Como ya señalamos antes, hay que considerar listas de por lo menos 100 números para que el problema de la mochila sea en efecto intratable. De hecho, cuando Merkle y Hellman dieron a conocer su criptosistema, propusieron utilizar mochilas a partir de 256 enteros. Con tal cantidad, un computador capaz de comprobar un billón de posibles soluciones por segundo tardaría más de 1053 años en comprobarlas todas. Basándose en este hecho, Merkle y Hellman creyeron que su criptosistema era seguro y, con el fin de obtener beneficios de su trabajo, lo patentaron en 1980. No obstante, poco provecho obtuvieron de esta patente; ya que Adi Shamir logró criptoanalizarlo tan sólo un par de años después. Naturalmente, Shamir no empleó la fuerza bruta; sino que mostró que era posible recuperar en tiempo polinomial la clave privada a partir de la clave pública y de los textos cifrados.

En agosto de 1977, la famosa revista “Scientific American” incluía una breve descripción del criptosistema de clave pública más usado en la actualidad. Nos referimos al popular RSA, nombre que se forma con las iniciales de los apellidos de sus creadores: Ronald Rivest, el anteriormente citado Adi Shamir y Leonard Adleman, entonces tres investigadores del prestigioso Massachussetts Institute of Technology. No gustó esta publicación a la NSA, quien reconociendo su interés por el algoritmo y tratando de controlar su uso, intentó en vano prohibir la publicación de los detalles del mismo; hecho que ocurrió pocos meses después, en febrero de 1978. Tras una larga batalla legal con el gobierno americano, los tres investigadores fundaron en 1982 la compañía RSA Data Security, con objeto de comercializar las aplicaciones de su criptosistema. Un gran negocio, pues la vendieron en 1996 por 200 millones de dólares.

RSA está basado en el problema de la factorización de enteros. Como es bien sabido, factorizar un entero es descomponerlo en producto de números primos. En la escuela nos enseñan un sencillo método conocido desde siempre y que consiste en dividir sucesivamente el número a factorizar por los primos 2, 3, 5, 7… hasta dar con uno que produzca una división exacta. Tal primo es uno de los factores buscados y los demás pueden calcularse repitiendo este proceso con el cociente de la división exacta. Cuando el número no es muy grande, de unas cuatro o cinco cifras todo lo más, este método no requiere más que unas pocas divisiones y puede efectuarse en unos pocos minutos

Page 213: Libro criptografia

11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

205

empleando sólo lápiz y papel. Si doblamos el número de cifras, si consideramos enteros de ocho o diez dígitos, este método escolar todavía funciona con enteros que son producto de primos pequeños. Como 11211291, que es igual al producto 36·7·133. Pero resulta impracticable si los factores primos tienen todos cuatro o cinco dígitos. Por ejemplo, puede llevar más de un día averiguar que 3605065591 es el producto del par de primos 45691·78901. Naturalmente, si las operaciones se realizan en un ordenador programado al efecto y con todos los primos de 5 o menos cifras almacenados en su memoria, ese tiempo se reduce a unos pocos segundos. Pero basta elevar la cantidad de dígitos del número a factorizar, de 10 a 50 por ejemplo, para que el número de operaciones requeridas sea inalcanzable para cualquier ordenador; incluidos los supercomputadores actuales. Precisamente, unas 50 cifras era el tamaño máximo de los enteros cuya factorización era posible a mediados de los años 70, cuando Rivest, Shamir y Adleman propusieron su criptosistema. Por supuesto, se conocían otros métodos de factorización; pero sólo eran un poco más eficientes que el método escolar.

El problema de la factorización de enteros proporciona la siguiente la función unidireccional: la que a un par de números primos p y q le hace corresponder su producto n=p·q. Es unidireccional porque el cálculo de n a partir de p y q es rápido, se puede llevar a cabo con un algoritmo “casi” lineal; pero recuperar los primos p y q factorizando n es un problema intratable. En él se soporta el criptosistema RSA cuyos detalles presentamos a continuación.

Se parte entonces de dos primos p y q, distintos y suficientemente grandes para que una vez calculado n=p·q, resulte imposible su factorización a quien desconozca p y q. Calculamos también el llamado indicador de Euler, que en este caso toma el valor Φ= (p−1)·(q−1). Seguidamente, se considera la aritmética modular, módulo Φ. Como ya hemos señalado en varias ocasiones, en esta aritmética unos números son unidades y otros no, dependiendo de si son o no primos con el módulo. Considérese entonces un entero positivo e<Φ que sí lo sea y compútese d su inverso. A continuación, destrúyanse tanto Φ como los enteros p y q, que no volverán a utilizarse y comprometen la seguridad del criptosistema. Los números n y e constituyen la clave pública y se denominan, respectivamente, módulo y exponente. El entero d es la clave privada.

Para cifrar, los textos en claro han de suponerse sucesiones de números positivos menores que n. Si el texto en claro esta codificado en binario, una manera sencilla de conseguir tal supuesto es dividirlos en bloques de k bits, siendo k tal que 2k≤n, y considerar el número binario que determina cada bloque (consúltese el comienzo del capítulo anterior si se desea repasar los números binarios). Se considera de nuevo la aritmética modular, pero ahora módulo n. Usando esta aritmética, cada uno de los números B que compone el texto en claro se transforma en otro C de acuerdo con la ecuación C=Be. La sucesión de estos otros números C es el texto cifrado que se transmite. Un ejemplo ayudará a entender todo esto.

Como par de primos p y q consideramos los números 257 y 307. Son números pequeños, pero servirán para proporcionar un ejemplo que ilustre el criptosistema RSA. El módulo n y el indicador Φ son entonces:

Page 214: Libro criptografia

11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

206

n = 257·307= 78899, Φ= 256·306= 78336.

Como exponente elegimos e=101, que es primo con el indicador Φ. Su inverso módulo Φ es d=37229. Según señalamos antes, el par de números n y e constituyen la clave pública y d es la clave privada. El mayor entero k tal que 2k≤78899 es k=16. Luego, para cifrar, podemos dividir el texto en claro en bloques de 16 bits y reemplazar el número binario B asociado a cada bloque por B101, realizando esta potencia con la aritmética modular. El siguiente esquema lo muestra:

Clave pública: n = 78899, e=101.

Texto claro: 0100000101001101 1000111001000100 0101001101000001

Números B: 16717 36412 21249

↓ B101 ↓ B101 ↓ B101

Números C: 45456 22284 20485

Criptosistema RSA. Esquema de cifrado.

Para descifrar, el receptor del mensaje recupera de nuevo los números B calculando las potencias C37229 (recuérdese que 37229 es la clave privada). La justificación de que B=C37229 es la siguiente. Como 37229 es el inverso de 101 módulo Φ, entonces 101·37229=1+k·Φ, para cierto entero k. (Igualdad que ha de contemplarse con la aritmética habitual de enteros). Luego,

C37229=(B101)37229=B101·37229=B1+k·Φ=B·Bk·Φ=B·(BΦ)k .

Y la igualdad C37229=B se sigue del llamado teorema de Euler, que establece que BΦ=1.

Los números considerados en nuestro ejemplo son pequeños, de tan sólo 5 cifras decimales. En la práctica, los enteros que se utilizan tienen un tamaño mínimo de 256 bits (77 cifras decimales) y no es raro llegar incluso a los 1024 bits (308 cifras decimales). Usar RSA con números de este tamaño requiere superar dos dificultades que hemos de comentar. La primera, manejar y operar con estos números de un modo eficiente. Como es sabido, la aritmética entera que incorpora un ordenador tiene unos límites que, por ejemplo, impiden multiplicar dos números de más de 5 cifras. Para poder hacerlo, es necesario incorporar un conjunto de algoritmos especiales que se conocen con el nombre genérico de aritmética multiprecisión. Gracias a estos algoritmos es posible realizar operaciones con enteros arbitrariamente grandes; y de una manera muy rápida, siempre en tiempo polinomial. No obstante, el cómputo de potencias modulares es lento y, como consecuencia de ello, el cifrado con RSA también lo es. Al menos 100 veces más lento que cualquiera de los algoritmos simétricos presentados en el capítulo anterior. El otro problema al que nos referíamos es la generación de la clave. Concretamente: la búsqueda

Page 215: Libro criptografia

11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

207

de dos números primos arbitrariamente grandes. Por fortuna, hay “suficientes” números primos del tamaño que se deseen. Por ejemplo, hay aproximadamente 4·1098 números primos de 100 cifras decimales. Pero encontrar dos de ellos sólo es posible si se implementa en el ordenador un algoritmo que permita decidir si un número dado es primo. El conocido con test de Miller-Rabin es uno de ellos, quizás el más empleado. Con dicho algoritmo, la búsqueda de los dos primos puede efectuarse de modo aleatorio. Y una vez hallados, el cómputo de la clave pública y privada es inmediato; con la aritmética multiprecisión, naturalmente.

La razón de emplear números de tamaño semejante no es otra que impedir que un criptoanalista logre factorizar el módulo: n=p·q. Si ello sucede, el cálculo de Φ es inmediato: Φ= (p−1)·(q−1); y, seguidamente, la clave privada: d=e–1 (módulo Φ). Por tanto, impedir la factorización del módulo es vital para la seguridad del criptosistema. Decíamos anteriormente que cuando se propuso el RSA, a mediados de los años setenta, factorizar un entero de 50 cifras era algo imposible. Hoy en día, tales números se pueden factorizar en unos pocos minutos en cualquier PC. La razón principal de este avance no es el aumento de la velocidad de cómputo en los modernos ordenadores; sino el descubrimiento de nuevos algoritmos de factorización, que han reducido considerablemente la cantidad de operaciones requeridas. No obstante, aún con estos algoritmos, el número de operaciones sigue siendo enorme. Una idea de ello nos la puede dar la Tabla 11.2. En su tercera columna incluimos el número de operaciones que debe ejecutar un ordenador para factorizar un módulo RSA de tantas cifras como se indica en la primera columna, empleando siempre el algoritmo más rápido que se conoce. (Para enteros de hasta 116 cifras este algoritmo es el método de la criba cuadrática, descubierto por C. Pomerance en 1985; para enteros de más de 116 cifras es preferible el método de la criba del cuerpo numérico, encontrado por J. M. Pollard en 1993).

Nº de dígitos Nº de bits Nº de operaciones 50 166 1,6×1010

100 332 3,7×1014 155 512 9,5×1017 200 664 2,2×1020 308 1024 6×1024 500 1664 9×1030

1000 3322 6×1041

Tabla 11.2. Número de operaciones para factorizar un entero.

Es posible que cualquier PC actual esté próximo ya a los 100 millones de operaciones por segundo. Por tanto, puede tardar unos 3 minutos en factorizar un módulo de 50 cifras, un mes en uno de 100, unos 300 años en uno de 155… Ahora bien, varios ordenadores trabajando de forma coordinada pueden rebajar estos tiempos de forma significativa. Por ejemplo, en agosto de 1999, con motivo de uno de los concursos “RSA Factoring Challenge” que periódicamente convoca la empresa RSA Data Security, 292

Page 216: Libro criptografia

11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

208

ordenadores lograron factorizar un módulo RSA de 155 cifras decimales. Tardaron más de cinco meses en hacerlo. Para factorizar un módulo de unas 230 cifras en un año, RSA Data Security estima que se requieren unos 215.000 PC’s actuales.

Además de una factorización del módulo, otro ataque posible es el descubierto por M. Wiener en 1989. Wiener dio un algoritmo que permite encontrar la clave privada d cuando ésta no supera la raíz cuarta del módulo n y los primos p y q verifican que el máximo común divisor de p−1 y q−1 es pequeño. Por tanto, como esta segunda condición suele ocurrir muy frecuentemente si los primos p y q se eligen aleatoriamente, conviene considerar claves privadas con un número de dígitos muy próximo al módulo. También se han descubierto otros escenarios muy particulares en los que la seguridad del RSA está comprometida. Uno de ellos es el denominado ataque contra un módulo común, que tiene lugar cuando se emplean dos o más claves que comparten un mismo módulo. Si un mismo mensaje es cifrado con dos de estas claves, el texto en claro se puede recuperar a partir de las claves públicas y los criptogramas. Por otro lado, como es posible factorizar el módulo conociendo la clave privada, basta conocer una clave privada para poder calcular todas las demás que compartan el mismo módulo. No obstante, todos estos peligros son fáciles de eludir y, sin temor a equivocarnos, podemos afirmar que hoy en día RSA es un criptosistema seguro.

Ya que están introducidas las potencias modulares, no podemos pasar por alto el hecho que proporcionan otro ejemplo de función unidireccional. Con cierta precisión: fijados un módulo n y un entero positivo a menor que el módulo, podemos considerar la función que transforma un entero x en su potencia modular y=ax (módulo n). Por ejemplo, si fijamos n=11413 y a=9726, esta función transforma x=3533 en y=5761 ya que

97263533=5761 (módulo 11413)

Como decíamos antes, el cómputo de potencias modulares se realiza mediante un algoritmo que, aunque lento, corre en tiempo polinomial. Por el contrario, el cálculo de x a partir de y es un problema intratable. Este es el problema de los logaritmos discretos, así llamado porque si y=ax (módulo n) se dice que x es un logaritmo discreto de y en la base a (módulo n): xya =log . Por ejemplo, la igualdad anterior muestra que 3533 es un logaritmo discreto de 5761 en la base 9726:

35335761log9726 = (módulo 11413).

Precisamente, el problema de los logaritmos discretos sirvió de base a Diffie y Hellman para dar una solución al problema de la distribución de claves que planteamos al comienzo del capítulo. Está incluida en su ya citado artículo “New Directions in Cryptography” de 1976. En primer lugar, las dos partes interesadas en una clave común, llamémoslas A y B, deben convenir en un primo p y una base a de los logaritmos módulo p. Una de las partes, digamos A, elige secretamente un entero x y computa y=ax, dato que transmite a B. Análogamente, B elige de modo secreto otro entero u, calcula v=au y lo comunica a A. Con v y x, A calcula K=vx. También B puede obtener este mismo K con su entero secreto u y el dato y que A le ha transmitido:

Page 217: Libro criptografia

11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

209

yu=(ax)u=(au)x=vx=K.

La clave común es este entero K que sólo A y B conocen. Lo más significativo de este algoritmo es que tanto el primo p como la base a no necesitan ser secretos, no hay inconveniente alguno en que sean públicos. Aunque se intercepten y y v, el cálculo de x o u requiere resolver logaritmos discretos; que es un problema intratable, como ya hemos dicho. Y sin x o u la clave K no puede ser calculada. De este modo, A y B han intercambiado de forma segura una clave por un canal inseguro; no han necesitado mantener una reunión privada.

Unos años después, en 1985, Taher ElGamal propuso un criptosistema basado también en el problema de los logaritmos discretos. Presentamos a continuación su descripción. Se parte de un primo p y se considera la aritmética modular, módulo p. Se eligen a continuación dos enteros positivos aleatorios a y x, ambos menores que p, y se calcula entonces y=ax (módulo p, naturalmente). Los tres enteros p, a e y constituyen la clave pública y x es la clave privada.

Para cifrar, los textos en claro han de contemplarse ahora como sucesiones de números positivos menores que p. La manera de conseguirlo es la misma que antes: se dividen en bloques de k bits, siendo k tal que 2k≤p, y se considera el número binario que determina cada bloque. Entonces, para cada uno de los números B que compone el texto en claro se elige aleatoriamente un entero positivo E<p y se calculan C1=aE y C2=B·yE. El par de números C1 y C2 es el transformado de B; y la sucesión de estos pares es el texto cifrado que se transmite. Veamos un sencillo ejemplo.

Como primo consideramos p=70001. Los enteros a y x son: a=35791, x=59925; con lo que y=ax=54093. La clave pública es entonces el trío de enteros 70001, 35791 y 54093; la privada es el número 59925. El mayor entero k tal que 2k≤70001 es k=16. Luego, para cifrar, dividimos el texto en claro en bloques de 16 bits y reemplazamos el número binario B asociado a cada bloque por el par de enteros C1 y C2, calculados de la manera indicada antes. El siguiente esquema lo muestra:

Clave pública: p=70001, a=35791, y= 54093

Texto claro: 0100000101001101 1000111001000100 0101001101000001

Números B: 16717 36412 21249

Números E: 45981 11037 64159

C1=aE ↓ C2=B·yE C1=aE ↓ C2=B·yE C1=aE ↓ C2=B·yE

Par C1 y C2: 41073 5298 15494 58065 17737 57206

Criptosistema ElGamal. Esquema de cifrado.

Page 218: Libro criptografia

11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

210

Para descifrar, el receptor del mensaje recupera de nuevo los números B calculando C2·C1

-x. En efecto:

C2·C1-x = B·yE·(aE)-x = B·yE·(ax)-E = B·yE·y -E = B.

La seguridad del criptosistema de ElGamal radica en que como x es el logaritmo discreto de y en base a, encontrar esta clave privada x es un problema intratable. No obstante, al igual que ha ocurrido con la factorización de enteros, los algoritmos encontrados recientemente han hecho que el cálculo de logaritmos discretos sea un problema “menos intratable”. Sin entrar en detalles, para que el criptosistema sea seguro, p debe tener al menos 512 bits (155 cifras decimales) y ser un primo fuerte; que así se dice cuando p−1=2·q, con q otro número primo.

Los tres criptosistemas que aquí hemos presentado son sólo una pequeña muestra de los muchos que han sido propuestos desde 1976. Otros que suelen incluir la mayoría de los libros de texto son el de Rabin, el de McElice y los basados en curvas elípticas. No creemos que sea ya necesario entrar a describirlos y dedicamos el resto del capítulo a mostrar algunas aplicaciones de la criptografía en clave pública que tienen interés en la era de la información en que nos encontramos.

La anterior solución de Diffie y Hellman al problema de la distribución de claves no da respuesta a la siguiente pregunta que ya planteamos al comienzo del capítulo: ¿cómo sabe cada una de las dos partes implicadas, A y B, que cada mensaje recibido es auténtico, que en efecto ha sido trasmitido por la otra parte y no por un intruso? Si este suplanta a B, puede boicotear el proceso de intercambio de claves; o peor aún, intercambiar información confidencial con A. La respuesta a la pregunta anterior ha conducido a la llamada firma digital.

Se pretende que la firma digital sea el perfecto sustituto de la tradicional firma “en papel”. Por tanto, debe cumplir con estas características: ser imposible de falsificar, fácil de autentificar e irrevocable (que el firmante no puede negar su autoría). Para introducir el concepto de firma digital, planteemos la siguiente situación general: que A manda un mensaje M a B y que éste quiere tener constancia de que efectivamente ha sido enviado por A. La solución a este problema depende del criptosistema de clave pública que se emplee. La firma digital que presentamos a continuación se basa en RSA.

Supongamos que A tiene clave pública el módulo n y el exponente e, y clave privada el entero d. Si contemplamos al mensaje M como un número menor que n, A computa la potencia modular f=Md y transmite a B ambos M y f. La firma digital es precisamente el entero f. Es infalsificable e irrevocable, porque solamente quien conozca d (la clave secreta de A) puede generar f a partir de M. También es fácil de verificar: se calcula f e y se comprueba si coincide con M. Veamos un sencillo ejemplo. Admitamos que A tiene clave pública el módulo n = 78899 y el exponente e=101, y que su clave privada es d=37229. A desea enviar a B el mensaje M=0100000101001101, que se corresponde con el número decimal 16717. La potencia modular

f=Md=1671737229=55907

Page 219: Libro criptografia

11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

211

es la firma del mensaje M. Cuando B reciba ambos números, M y f, verificará que proceden de A computando esta otra potencia modular f e=55907101 y observando si coincide con M=16717.

Naturalmente, como e y n son públicos, la autentificación de la firma la puede realizar cualquiera; no sólo B, a quien iba dirigido el mensaje. Si A y B desean confidencialidad, deben encriptar el par datos M y f antes de transmitirlos. Para ello, pueden usar cualquier criptosistema simétrico convenido previamente entre ellos; pero también pueden cifrar empleando RSA y la clave pública de B.

En el esquema de firma digital que acabamos de describir, el mensaje M debe ser menor que el módulo n. En consecuencia, el tamaño del mensaje viene limitado por los bits del módulo. Como ya señalamos antes, RSA maneja en la práctica módulos de tamaño comprendido entre 256 y 1024 bits. Sin embargo, los mensajes que se deben firmar son mucho más largos; con frecuencia tienen varios megabits (un megabit es aproximadamente un millón de bits). Por ello, lo que en realidad se firma en la práctica es un resumen del mensaje. Este resumen se consigue con las llamadas funciones hash (funciones resumen). Una tal función proporciona para cada texto M un resumen r(M), que es un número binario con las siguientes características:

1. r(M) es de longitud fija, sea cual sea el tamaño de M.

2. r(M) se calcula a partir de M mediante un algoritmo que corre en tiempo polinomial; pero recuperar M a partir de r(M) es un problema intratable. (Esto es: la función hash es una función unidireccional).

3. Fijado un texto M, encontrar otro texto N tal que r(M)=r(N) también es un problema intratable.

Las funciones hash que más se emplean en la práctica son la MD5 diseñada por R. Rivest, que produce resúmenes de 128 bits; y la SHA de la agencia de seguridad americana (la NSA), que proporciona resúmenes de 160 bits. El lector interesado encontrará una descripción de estas funciones hash en cualquiera de los libros de Criptografía Moderna que incluimos en la bibliografía.

Relacionados con el concepto de firma digital son los denominados esquemas de identificación. Cuando nos conectamos con un ordenador remoto, es habitual que nos requieran dos palabras: una el “login”, que suele ser nuestro nombre; otra el “password”, la contraseña. Si la conexión es insegura, esto es: si se transmiten por un canal inseguro, un intruso puede capturarlas y suplantarnos en una posterior conexión. Una situación similar sucede cuando empleamos una tarjeta de crédito para solicitar dinero a un cajero automático o para efectuar una compra. En esta ocasión, el login está almacenado en la banda magnética de la tarjerta y el password es el número PIN que hemos de memorizar. Si alguien reproduce la banda magnética y se hace con nuestro número PIN, puede falsificar nuestra tarjeta y usarla fraudulentamente contra nuestra cuenta bancaria. Naturalmente, no es sencillo; pero todos hemos oído hablar de esta estafa. Estos problemas pueden solventarse con un esquema de identificación. Hay varios. El que presentamos a

Page 220: Libro criptografia

11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

212

continuación fue dado a conocer por Clauss Schnorr en 1990 y está basado en el problema de los logaritmos discretos.

En el esquema de Schnorr se requiere que una autoridad proporcione a cada usuario una identificación y certifique esta identificación, tal y como explicaremos seguidamente. En la práctica, la autoridad es una institución como un banco o un organismo oficial; la identificación puede ser una serie de datos como el nombre y apellidos o un número (el DNI, por ejemplo). Inicialmente, la autoridad elige un par de números primos p y q con p=2·q+1 (de al menos 512 bits si se desea garantizar seguridad), y un entero b<p tal que b2≠1 (módulo p). Los tres números p, q y b son públicos. Una vez que la autoridad ha facilitado a un individuo A una identificación IDA, le proporciona un certificado siguiendo estos dos pasos:

1. A elige secretamente un número sA (su contraseña) con 0<sA<q y se calcula

AA

sbv −= (módulo p).

2. La autoridad firma digitalmente los datos IDA y vA. Sea fA esta firma.

El certificado para A es la terna IDA, vA y fA; que es infalsificable, ya que así lo es una firma digital. Este certificado es público y A puede exhibirlo sin comprometer su contraseña sA; ya que recuperar este dato a partir de vA requiere calcular un logaritmo discreto. Con su certificado, A puede identificarse remotamente ante otra persona B siguiendo los siguientes pasos:

1) A envía a B su certificado y éste comprueba si es auténtico; esto es, verifica la firma fA. En tal caso, B elige un número aleatorio r<q y lo comunica a A.

2) A elige también un número aleatorio k<q, computa el par de números x e y:

x=bk (módulo p), y=k+sA·r (módulo q).

y los transmite a B.

3) Por último, B verifica si x=by·vAr (módulo p); en cuyo caso ha de aceptar la

identidad de quien le ha transmitido el certificado.

Sólo quien conozca la contraseña sA puede generar el entero y, por lo que nadie puede suplantar a A. Por otra parte, la comprobación que ha de hacer B en el paso 3) se justifica así:

xbbbvbvb krsrskrrskry ==== −++ ··A

·A

AAA ··· .

En la actualidad, la tecnología permite que los cálculos anteriores sean realizados por diminutos chips que pueden incorporarse a las tarjetas de crédito. Estas son las llamadas tarjetas inteligentes. Ya están reemplazando a las tradicionales tarjetas de crédito y muy pronto serán las únicas que se usen. Además de sacar dinero en un cajero automático y

Page 221: Libro criptografia

11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

213

efectuar compras en tiendas, las emplearemos para firmar documentos, operar en Internet, identificarnos en diferentes contextos… Naturalmente, la seguridad que proporcionan es mucho mayor que las que ahora estamos usando.

Page 222: Libro criptografia
Page 223: Libro criptografia

215

Bibliografía.

1. F. L. Bauer: “Decrypted Secrets. Methods and Maxims of Cryptology”. 3rd edition. Springer. 2002.

2. A. Biryukov: “Methods of Cryptanalysis”. http://www.wisdom.weizmann.ac.il/~albi/cryptanalysis/

3. J. R. Childs: “General Solution of the ADFGVX Cipher System”. Aegean Park Press. Laguna Hills, California. 2000.

4. R. Crandall & C. Pomerance: “Prime Numbers. A Computational Perspective”. Springer. 2001.

5. J. Daemen & V. Rijmen: “The Design of Rijndael”. Springer. 2002.

6. C. A. Deavours & L. Kruh: “Machine Cryptography and Modern Cryptanalysis”. Artech House Inc. Norwood, Massachusetts. 1988.

7. W. Friedman: “Military Cryptanalysis. Part IV: Transposition and Fractioning Systems”. Aegean Park Press. Laguna Hills, California. 1993.

8. H. F. Gaines: “Cryptanalysis. A study of ciphers and their solutions”. Dover, New York. 1956.

9. J. C. Galende: “Criptografía. Historia de la escritura secreta”. Complutense. Madrid. 1995.

10...L. S. Hill: “Cryptography in an Algebraic Alphabet”. American Mathematical Monthly, 36, 306−312. 1929,

11. A. Kerckhoffs: “La cryptographie militaire”. http://www.petitcolas.net/fabien/kerckhoffs/la_cryptographie_militaire_i.htm

12. D. Kahn : “The Codebreakers. The Story of Secret Writing”. Scribner. New York. 1966.

13. D. Kahn: “Seizing the Enigma”. Arrow Books. Londres. 1996.

14. R. Kippenhahn: “Code Breaking: A History and Exploration”. Overlook Press. New York. 2000.

15. W. Kozaczuk: “Enigma”. Greenwood Press. Westport, Connecticut. 1998.

Page 224: Libro criptografia

BIBLIOGRAFÍA

216

16. L. Kruh & C. A. Deavours: “The Commercial Enigma: Beginnings of Machine Cryptography”. Cryptologia, Vol. 26, nº 1, 1−16. 2002

17. M. Lee: “Cryptanalysis of SIGABA”. Thesis. Universidad de California. 2003.

18. A. J. Menezes, P. C. van Oorschot & S. A. Vanstone: “Handbook of Applied Cryptography”. CRC Press. 1997.

19. F. Pratt: “Secret and Urgent: the Story of Codes and Ciphers”. Blue Ribbon Books. Indianapolis. 1939.

20. M. Rejewski: “An Application of the Theory of Permutations in Breaking the Enigma Cipher”. Applicationes Matematicae XVI, 4, 543−559. 1980.

21. T. Sale: “The Enigma cipher machine”. http://www.codesandciphers.org.uk/enigma/

22. J. Savard: “A Cryptographic Compendium”. http://home.ecn.ab.ca/~jsavard/crypto/jscrypt.htm

23. B. Schneier: “Applied Cryptography”. John Wiley & Sons Inc.1996

24. S. Singh: “Los códigos secretos”. Circulo de lectores. Barcelona. 2000.

25. A. Sinkov: “Elementary Cryptanalysis. A Mathematical Approach” The Mathematical Association of America. Washington D.C. 1998.

26. D. R. Stinson: "Cryptography. Theory and Practice". CRC Press. 1995.

27. U.S. Army: “Basic Cryptanalysis”. Headquarters Department of the Army. Washington D.C. 1990.

28. G. Welchman: “The Hut Six Story”. M&M Baldwin. Manchester. 1997.

29. F. B. Wrixon: “Codes, Ciphers & Other Cryptic & Clandestine Communication”. Black Dog & Leventhal Publishers Inc. New York. 1998.

Page 225: Libro criptografia

217

Origen de las fotografías.

Figura. 2.1: Sustitución del duque de Mantua. Archivio di Stato, nº 42. Mantua, Italia. La imagen que aquí se incluye está extraída del libro de D. Kahn: “The Codebreakers. The Story of Secret Writing”, pág. 107.

Figura 2.2: Un nomenclátor español de 1563. Procede de la página web de la Fundación Casa de Medina Sidonia: http://www.fcmedinasidonia.com/

Figura 2.3: Nomenclátor compilado en Florencia en 1554. Archivio di Stato, nº 457. Florencia, Italia. La fotografía está extraída del libro de D. Kahn: “The Codebreakers. The Story of Secret Writing”, pág. 107.

Figura 2.4: Nomenclátor de 1568 usado por Felipe II. Archivo General de Simancas, Sección Secretaría de Estado, leg. 664. La imagen que incluimos está tomada del libro de J. C. Galende: “Criptografía. Historia de la escritura secreta”, pág. 100.

Figura 3.2: Tabla de Trithemius. Ilustración del libro de Trithemius “Poligrafía”, escrito en 1508. http://www.uni−mainz.de/~pommeren/Kryptologie/Klassisch/2_Polyalph/

Figura 4.1: Una página de un código militar telegráfico. Obtenida de la página web: http://www.cix.co.uk/~klockstone/cbprop.htm.

Figura 4.2: Cifrado digráfico de Porta. Dibujo de libro de Porta: “De Furtivis Literarum”. http://www.und.nodak.edu/org/crypto/crypto/graphics.html.

Figura 6.1: El telegrama Zimmermann. Procede del la página web del U. S. National Archives: http://www.archives.gov/digital_classroom/lessons/zimmermann_telegram/ zimmermann_telegram.html

Figura 8.1: Criptógrafo de Wheatstone. http://www-wi.cs.uni-magdeburg.de/~pauer/ images

Figura 8.2: La rueda de Jefferson. Tomada de la página web del Nacional Cryptologic Museum: http://www.nsa.gov/museum

Figura 8.3: El M-94 del ejército americano. El mismo origen que la Figura 8.1.

Page 226: Libro criptografia

ORIGEN DE LAS FOTOGRAFÍAS

218

Figura 8.6: Máquina de rotores de Hebern. Obtenida en la dirección de Internet: http://www.jura.ch/lcp/cours/dm/codage/instruments.

Figura 8.7: La máquina americana Sigaba. El mismo origen que la Figura 8.2.

Figura 8.8: Enigma A. Tomada de la dirección: http://www.usma.edu/math/pubs/ cryptologia/extras

Figura 8.10. Versiones comercial y militar de Enigma. Fotografías de la página web del Deutches Museum: http://www.deutsches-museum.de/ausstell/meister/img/

Figura 8.11. Un rotor de Enigma I. http://w1tp.com/enigma

Figura 8.12. El M-209 americano. http://www.eclipse.net/~dhamer/images

Page 227: Libro criptografia

219

Índice alfabético

ABC, cifra 101 ABCD, cifra 102 Abhorchdienst 101 ADFGX, cifrado 105 Adleman, L. 204 AES 195-197

caja del 196 afín, criptosistema 116 Al-Qalqashandi 13 albam 8 Alberti, L. 36

cifrado de 36 disco de 125

alfabeto 2, 11 de cifrado 2, 11 en claro 2, 11 llano 2, 11

algoritmo 2, 11 de cifrado 2 de descifrado 2

análisis de frecuencias 13 aritmética multiprecisión 206 aritmética modular 114 Army Signal Corps 132 ASCII, código 185 ataque con texto pleno 12 atbash 8 autoclave 39 Babbage, C. 43 Bazeries, E. 33, 127

cilindro de 127 Belaso, G. 38

cifra de 38 Bergenroth, G. 32 Bertrand, G. 156 bífida, cifra 63 bigrama 19 Biham, E. 193 binario, sistema 184

binarios, números 184 bits 184 Biuro Szyfrow 156 Blectchley Park 171 bomba de Rejewski 169, 170 bomba de Turing 173-175 bomba de Turing-Welchman 178, 179 Bureau du Chiffre 101 byte 185 C-38 142 Cabinet Noir 31 cámaras negras 31 Cardano, G. 39

cifrado de 39 certificado 212 Chase, P. 62

cifrado de 62 chiffre indéchiffrable, le 35, 40 ciclómetro 165, 166 cifra de campo 56 Cifra General de Felipe II 28 cifrado en bloque 186

modo CBC 189 modo ECB 189

cifrado secuencial 186 autosincronizado 187 sincronizado 186

clases de congruencia 114 clave 2, 11

pública 199, 200 código 55

comercial 55 de dos partes 56 de trinchera 103 de una parte 56 desordenado 56 oficial 56 ordenado 56 telegráfico 55

Page 228: Libro criptografia

ÍNDICE ALFABÉTICO

220

Coppersmith, D. 194 crib 154 criba cuadrática, algoritmo de la 207 criptoanálisis 5

con texto cifrado 5 con texto claro y cifrado 5 diferencial 193 lineal 193 total 5

criptoanalista 5 Criptografía 4

asimétrica 200 Moderna 183 simétrica 200

criptograma 2 criptosistema 5, 11 cuadrado latino 127 cuerpo numérico, algoritmo 207 Daemen, J. 195 Deavours, C. 138 Deciphering Branch 32 Delastelle, F. 63

cifra de 64 Denniston, A. 171 DES 190-193

Cracker 193 caja del 192

Diffie, W. 193, 200 digrafo 19 distribución de claves 199 Doppelkstenschlüssel 61 dos cuadrados, cifra de los 61 ECM Mark I, II 134 ElGamal, T. 209

criptosistema de 209 Enigma 135

A 135 Abwehr 141 B 135 C 135 D 137 D, rotores de 138 I 138 I, rotores de 141 K 147

escítalo 9 esquema de identificación 211 estado inicial 186 esteganografía 8 Feistel, H. 190

female 167 firma digital 210 Fleissner, E. 83 Foss, H. 147 fraccionado, cifrado 63 frecuencia 13 Friedman, W. 43, 128 función hash 211 función unidireccional 200 GCCD 147 GCHQ 200 Geheime Kabinets-Kanzlei 31 Gran Cifra de Luis XIV 32 Grey, N. 97 Grundstellung 155 Habitación 40 97 Hagelin, B. 142 Hayhanen, Reino 5 Hebern, E. 131

máquina de 132 Hellman, M. 193, 200 Hill, L. 113

criptosistema de 113, 118 homófonos 24 índice de coincidencia 43

del español 44 mutua 47

intratable, problema 201 inversa de una letra 115 isomorfos, textos 149 Jefferson, T. 126

rueda de 126, 127 Jeffreys, J. 172 Julio César 10

sustitución de 10 Kahn, D. 31, 131, 107 Kasiski, F. 42, 57

método de 42 kautiliyam 10 Kerchoffs, A. 101 Knox, A. 147, 171 Koch, H. 135 Kruh, L. 138 Kullback, S. 133 Langer, G. 156 logaritmos discretos 208 Lucifer 190

Page 229: Libro criptografia

ÍNDICE ALFABÉTICO

221

M-138 128 M-209 142 M-94 128 Magdeburgo, código 99 Matsui, M. 194 Merkle, R. 200 Merkle-Hellman, criptosistema de 203 mochila, criptosistema de la 202-204 mochila, problema de la 202 Montgomery, W. 97 Morse, S. 55 müladeviya 10 múltiples anagramas, método de los 86 Musefili, P. 28 NBS 190 Nebel, F. 105 NIST 194 nomenclátor 23, 26 NP, clase 201 NSA 190 nulos 26 opuesta de una letra 115 P, clase 201 Painvin, G. 106 palabra probable, método de la 65 pin and lug 142 Playfair, L. 59

cifrado 59 doble 61

polialfabético, cifrado 35 Polibios 9, 63, 105

cifrado de 9 polífonos 100 poligráfico, cifrado 55, 58 Pollard, J.M. 207 Pomerance, C. 207 Porta, G. 39, 58

cifra de 39 cifrado digráfico de 58

Pratt, F. 15 producto de letras 114 Purple 142 rail fence 77 reflector 136, 148 Rejewski, M. 157

bomba de 169, 170 rejilla giratoria 83 Rijmen, V. 195 Ringstellung 140, 155

Rivest, R. 204 rodding 148 Rossignol, A. 30 Rossignol, B. 32 rotor 129 rotores concatenados 131 rotores, máquina de 125, 131 Rowlet, F. 133 Rozycki, J. 157 RSA 204-208 RSA Data Security 193, 204 Scherbius, A. 135 Schmidt, H. 156 secuencia clave 186 Shamir, A. 193, 204 Sigaba 134 simetría de la posición 51 Simonetta, C. 28 Singh, S. 16 Sinkov, A. 133 Smith, F. 55 Soro, G. 28 Spruchschlüssel 156 Stator 137, 149 Steckerverbindung 139, 154 suma de letras 114 supercomputador 183 sustitución 7

del Duque de Mantua 24 homofónica 24 cifrado por 7, 11

tabla de Trithemius 38 tabla de Vigenère 40 tablero diagonal 177 tabula recta 38 Tageschlüssel 155, 156 tarjeta inteligente 212 texto 2

cifrado 2 claro 2 llano 2

tiempo polinomial 201 tomográfico, cifrado 63 transposición 11

cifrado por 11, 58, 77 de columnas 78

doble 80 variante francesa 102

de los nihilistas rusos 81 regular 86

periodo de una 86

Page 230: Libro criptografia

ÍNDICE ALFABÉTICO

222

trigrafo 19 trigrama 19 Trithemius J. 37

cifrado de 37 tabla de 38

Turing, A. 172 bomba de 173-175

Turing-Welchman, bomba de 178,179 Typex 142 ÜBCHI, cifra 101 Uhr Box 141 Unicode 185 unidad, letra 115, 116 vector de inicialización 189 Viaris, H. de 127 Viète, F. 30 Vigenère, B. 35, 40

cifrado de 40 tabla de 40

Wallis, J. 31 Welchman, G. 177 Wheatstone, C. 59, 125

criptógrafo de 125, 126 Wierner, M. 208 Winterbotham, F. 147 Zimmermann, A. 96

telegrama 97 Zygalski, H. 157

hoja de 168