Sunteți pe pagina 1din 230

Una introducción a la

CRIPTOGRAFIA

EUGENIO GARCÍA

MIGUEL ÁNGEL LÓPEZ

JESÚS J. ORTEGA
Miguel Ángel López Eugenio García
Departamento de Matemáticas Departamento de Matemáticas
E. U. Politécnica de Cuenca E. S. de Informática
Universidad de Castilla-La Mancha 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.
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

iii
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

v
PRÓLOGO

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.

vi
PROLOGO

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.

vii
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

1
INTRODUCCIÓN

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.

2
INTRODUCCION

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 LAZA · LA · RE UN I ON · D E L · L UNE 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 MA G I N A R
4 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:

3
INTRODUCCIÓN

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,

4
INTRODUCCION

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.

5
INTRODUCCIÓN

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.

6
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

7
1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

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

8
1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

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

9
1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

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

10
1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

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

11
1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

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

12
1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

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:

13
1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

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.

14
1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

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.

15
1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

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

16
1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

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.

17
1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

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:

(1 − 2 )2 + (3 − 1)2 + (5 − 5)2 + (7 − 6)2 = 6.


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.

18
1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

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.

19
1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

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

20
1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

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

21
1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN

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...”

22
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

23
2. EL NOMENCLÁTOR

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 ma 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

24
2. EL NOMENCLÁTOR

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 3me
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.

25
2. EL NOMENCLÁTOR

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.

26
2. EL NOMENCLÁTOR

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

Figura 2.3 Nomenclátor compilado en Florencia en 1554.

27
2. EL NOMENCLÁTOR

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.

28
2. EL NOMENCLÁTOR

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

29
2. EL NOMENCLÁTOR

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

30
2. EL NOMENCLÁTOR

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

31
2. EL NOMENCLÁTOR

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.

32
2. EL NOMENCLÁTOR

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

33
2. EL NOMENCLÁTOR

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.

34
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.

35
3. CIFRADOS POLIALFABÉTICOS

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

36
3. CIFRADOS POLIALFABÉTICOS

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.

37
3. CIFRADOS POLIALFABÉTICOS

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: BELASOBELASOBELASOBEL
Texto claro: CIFRADOPOLIALFABETICO
Texto cifrado: d n q r s r p t w l b o m k l b y h k g w

38
3. CIFRADOS POLIALFABÉTICOS

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: SIC SICE SICERGOEL


Texto claro: SIC ERGO ELEMENTIS
Texto cifrado: l r e yais ytgqxthnd

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.

39
3. CIFRADOS POLIALFABÉTICOS

abcdefghilm abcdefghilm
AB nopqrstvxyz OP stvxyznopqr
abcdefghilm abcdefghilm
CD znopqrstvxy QR rstvxyznopq
abcdefghilm abcdefghilm
EF yznopqrstvx ST qrstvxyznop
abcdefghilm abcdefghilm
GH xyznopqrstv VX pqrstvxyzno
abcdefghilm abcdefghilm
IL vxyznopqrst YZ opqrstvxyzn
abcdefghilm
MN tvxyznopqrs
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: PORTAPORTAPORTAPORT
Texto claro: DEFVRTIVISLITERARVM
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.

40
3. CIFRADOS POLIALFABÉTICOS

A B C D E F G H I J K L MN Ñ O P Q R S T U VWX Y Z
A 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: TRITHEMIUSTRITHE
Texto claro: BLAISEDEVIGENERE
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:

41
3. CIFRADOS POLIALFABÉTICOS

ABCDEFGILMNOPQRSTVXZ1234
dlgazenbosfchtyqixkvp&mr

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.

42
3. CIFRADOS POLIALFABÉTICOS

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:

43
3. CIFRADOS POLIALFABÉTICOS

f a ( f a − 1) + f b ( f b − 1) + ... + f z ( f z − 1)
IC = ,
n(n − 1)
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

44
3. CIFRADOS POLIALFABÉTICOS

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ñcpmpo
ekfrneecpsivdyrmsxskitjzuhuhnedwbmrvdyqfhduabop
oukñfjrrdfhjzkjuijzrcofgoyosmsdhkfunjhymtjpshdz
ivpjpmkvñkpjnahxsknzukbjnporuzjñfdcgrbywuhmeñcp
mttcdpodaukpjrouyqouvcdnohnuyefnñdysmxthqqmhidw
ftjnhklmrlegeopouadnrvikpfqtycpsibposmsauxshlvp
yhyqyuumtjchqcoqvñqhbpoeihfktqrhkjztrzoddhqfong
dguujrpjcmgvñrdmapdñeznledfffceybmxhfddxftccñum
leydzvbfdcgrbdusnnyuguunñrdpohvñdyiaffrisutrrvo
ibbdmtjgdfefshqdntnrqditjyhgeznrrkpkjñhnsmnghqd
mrtmjumrtdyrmsikqeyjyhhujmahubosyhgezjzqkbywrqd
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

45
3. CIFRADOS POLIALFABÉTICOS

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 p:11 m:18 j:15 t:11 h:14
k:13 d: 9 o:11 n:14 v:10 u:12
y:10 u: 9 f: 9 r: 9 o: 7 d:10
c: 7 e: 7 t: 8 s: 7 b: 6 e: 7
q: 6 s: 7 h: 6 p: 5 z: 6 ñ: 7
r: 6 b: 6 z: 6 h: 4 r: 5 f: 5
g: 5 f: 6 u: 5 i: 4 y: 5 q: 5
h: 5 c: 4 j: 4 m: 4 a: 4 r: 5
j: 4 h: 4 i: 3 a: 3 ñ: 4 p: 4
a: 3 q: 4 k: 3 f: 3 p: 4 c: 3
u: 3 i: 3 s: 3 g: 3 d: 3 y: 3
w: 3 m: 3 y: 3 q: 3 e: 3 b: 2
o: 2 n: 3 g: 2 d: 2 g: 3 k: 2
x: 2 ñ: 3 n: 2 k: 2 l: 3 o: 2
f: 1 r: 2 b: 1 u: 2 c: 2 s: 2
i: 1 l: 1 r: 1 x: 2 h: 2 i: 1
n: 1 o: 1 x: 1 l: 1 i: 2 m: 1
ñ: 1 v: 1 t: 1 n: 2 t: 1
y: 1 v: 1 f: 1
z: 1 w: 1 j: 1
w: 1
x: 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.

46
3. CIFRADOS POLIALFABÉTICOS

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:
f a ⋅ g a + fb ⋅ gb + ... + f z ⋅ g z
ICM = ,
n ⋅m
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

47
3. CIFRADOS POLIALFABÉTICOS

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.

48
3. CIFRADOS POLIALFABÉTICOS

T1 T2
qqqbñrffeccfrñ-d-nfcpnfdcpymni* kdckkdckjcc-p-msmjmojfsok
qrihuuñhusefb-k-qñfiñfpbplppb qydrahhca-d-ihuznmxzm
deepduuhdd-y-rqmqeshbdr hjggwrjhh-u-hhizhuumj
cyñreño-c-dppoppñ gqgfñgy-e-fozfzyz
khhñhh-q-qchfde nuxoyxo-s-mkmmhnm
rfñtqo-r-uhzdiv kuykaw-b-mojmoy
hhude-g-euuee dqwkdk-f-rhutof
hsuuh-h-duudu djqd-c-gomg
mppk-j-upcu riqy-h-ybfk
uu*-a-dbd qyyk-q-mfom
hdu-u-msb drk-i-tst
dyd-w-buf duy-m-ttt
py-o-ss ddd-n-tot
uh-x-ss ckk-ñ-ffu
d-f-e yy-r-mm
e-i-h k-l-m
h-n-s c-o-f
d-ñ-e r-v-o
d-y-i
r-z-o
T3 T4
rudsbdcslqsppsbrpq-m-gpsrsktxhrsgaxnrrs zykttukttztihft-j-zrzzpñnczrgyñyz
bvpfzcenqpb-o-pduhpqdnhis mztunzofjkjuhr-n-eejazpñglyñrrg
efhpeoñqñ-f-phjgnqkfs mmgnmjgmt-r-tvbolvbtt
inmmfmin-t-rjjjjjnj omfmmmu-s-bxdahiy
sufuud-h-mfnjml boomf-p-ooooo
eedeud-z-ijnvnj omof-h-dniv
uñufd-u-snjmn oszs-i-vvbb
upbp-j-nnrm juhh-m-pela
yud-i-aja imi-a-wpf
phs-k-njj xfh-f-tct
ipp-s-iiu mfm-g-tov
beh-y-qjw oyf-q-tyv
cc-g-rr oo-d-ad
sd-n-rn fm-k-vt
h-b-p so-u-vt
f-r-n mm-x-th
d-x-f h-l-v
m-t-t
z-v-b
y-w-r
T5 T6
rrufkqxtfgr-t-ofñchyqcrmd yaygñydcntajdp-h-hkyxqkqqgnqhug
hgqlrukiri-v-ddpñcipñññ yyaonoazodzo-u-hhakkkyyaxug
pprgppp-o-ueuyuue tgbpgiñvev-d-ywyywgñufy
irvirs-b-bypfdb lcloleo-e-kcgidyy
jjnjjj-z-ukrutq vvvevtw-ñ-dckcqrd
wnnjj-r-rpqrq fbhñt-f-kdddr
sjjnq-y-uuhhh rzrht-q-rddkd
msdn-a-huuh rtñzr-r-dcdrk
jnnj-ñ-fdrh rvbv-p-joyj
anjm-p-hsod tvt-c-ddc
dsh-d-uhh tbo-y-owc
mnn-e-edñ bb-b-kd
njn-g-ddh iz-k-jq
mnr-l-eee pt-o-cr
fj-c-he px-s-kh
sx-h-fq v-i-k
sh-i-dk t-m-j
jh-n-uh z-t-r
a-f-f
n-j-h
a-w-ñ
s-x-s
Tabla 3.5. Preparación de las letras.

49
3. CIFRADOS POLIALFABÉTICOS

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

50
3. CIFRADOS POLIALFABÉTICOS

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 MN Ñ O P Q R S T U VWX Y Z
1 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 MN Ñ O P Q R S T U VWX Y Z
1 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

51
3. CIFRADOS POLIALFABÉTICOS

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 MN Ñ O P Q R S T U VWX 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 MN Ñ O P Q R S T U VWX 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

52
3. CIFRADOS POLIALFABÉTICOS

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.

53
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ó

55
4. CIFRADOS POLIGRÁFICOS

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

56
4. CIFRADOS POLIGRÁFICOS

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.

57
4. CIFRADOS POLIGRÁFICOS

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.

58
4. CIFRADOS POLIGRÁFICOS

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’.

59
4. CIFRADOS POLIGRÁFICOS

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.

60
4. CIFRADOS POLIGRÁFICOS

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

61
4. CIFRADOS POLIGRÁFICOS

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

62
4. CIFRADOS POLIGRÁFICOS

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:

63
4. CIFRADOS POLIGRÁFICOS

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

64
4. CIFRADOS POLIGRÁFICOS

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:

65
4. CIFRADOS POLIGRÁFICOS

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.

66
4. CIFRADOS POLIGRÁFICOS

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

67
4. CIFRADOS POLIGRÁFICOS

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

68
4. CIFRADOS POLIGRÁFICOS

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:

69
4. CIFRADOS POLIGRÁFICOS

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’.

70
4. CIFRADOS POLIGRÁFICOS

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.

71
4. CIFRADOS POLIGRÁFICOS

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:

72
4. CIFRADOS POLIGRÁFICOS

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

73
4. CIFRADOS POLIGRÁFICOS

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

74
4. CIFRADOS POLIGRÁFICOS

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.

75
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’.

77
5. CIFRADOS POR TRANSPOSICIÓN

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

78
5. CIFRADOS POR TRANSPOSICIÓN

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

79
5. CIFRADOS POR TRANSPOSICIÓN

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.

80
5. CIFRADOS POR TRANSPOSICIÓN

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.:

81
5. CIFRADOS POR TRANSPOSICIÓN

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.

82
5. CIFRADOS POR TRANSPOSICIÓN

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

83
5. CIFRADOS POR TRANSPOSICIÓN

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


k 2 −1
4 . 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
2
giros. Ahora, el número de rejillas diferentes es 4 k +k −1 . Por ejemplo, como 7 = 2·3+1, hay
2
4 3 +3−1 = 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.)

84
5. CIFRADOS POR TRANSPOSICIÓN

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’.

85
5. CIFRADOS POR TRANSPOSICIÓN

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

86
5. CIFRADOS POR TRANSPOSICIÓN

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 L
A D S A D S A D O I S A D O
E 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 L
V I S A D O A V I S A D O
R I M E R O → P R I M E R O
N 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).

87
5. CIFRADOS POR TRANSPOSICIÓN

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.

88
5. CIFRADOS POR TRANSPOSICIÓN

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:

ELAUREMEEOUAAJSNCTIGOAEULEPDONNSUSDNLRIOIINIMYEL
MILLMOSUNNANTOYAJRCEMRUIGOSREITEEITDLISEAQEETHOC
LRNATAFEPECROCLUISNREADSOESCSEACHELNDEOROLIRNAIE

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.

89
5. CIFRADOS POR TRANSPOSICIÓN

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

90
5. CIFRADOS POR TRANSPOSICIÓN

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.

91
5. CIFRADOS POR TRANSPOSICIÓN

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

92
5. CIFRADOS POR TRANSPOSICIÓN

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.

93
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

95
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

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.

96
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

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

97
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

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

98
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

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

99
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

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

100
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

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

101
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

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:

102
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

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

103
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

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

104
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

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:

105
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

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

106
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

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

107
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

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’:

108
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

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

109
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

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.”

110
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL

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.

111
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:

113
7. ÁGEBRA Y CRIPTOGRAFÍA

A B C D E F G H I J K L MN Ñ O P Q R S T U VWX 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,

114
7. ÁLGEBRA Y CRIPTOGRAFÍA

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 R
0 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:

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

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

115
7. ÁGEBRA Y CRIPTOGRAFÍA

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 T
11 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 18
Claro: 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

116
7. ÁLGEBRA Y CRIPTOGRAFÍA

“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:

 c·T + d = E

c·H + d = A

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,

117
7. ÁGEBRA Y CRIPTOGRAFÍA

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:

118
7. ÁLGEBRA Y CRIPTOGRAFÍA

 y 1   C D B B   x1 
     
 y2   B F B E   x2 
 y  = G D H F  ⋅  x 
 3     3 
y 
 4   L B F D   x4 

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:

C D B B 2 3 1 1
B F B E 1 5 1 4
→ = 346
G D H F 6 3 7 5
L B F D 11 1 5 3

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:

119
7. ÁGEBRA Y CRIPTOGRAFÍA

−1
2 3 1 1  3468 8
− 346
38 50

   155 346 346

1 5 1 4  − 18
− 346
1
− 26

6 =  346 346 346

3 7 5 81
− 92 91
− 56
   346 346 346 346 
11 1 5 3   − 216 130
− 12 34 
  346 346 346 346 

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:

8 8 I
→ → = I·V -1 = I·P = (8·16 = 128 → 20) = T
346 22 V

38 11 L
− →− → − = − L·V -1 = P·P = (16·16 = 256 → 13) = N
346 22 V

Las letras obtenidas componen la matriz inversa:

T T N Q
 
W J L P
M −1 =
A N Y V
 
A B X E 

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

120
7. ÁLGEBRA Y CRIPTOGRAFÍA

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:

 y1   0 1 0 0 0   x1 
    
 y2   0 0 0 1 0   x2 
 y  = 0 0 1 0 0  ·  x3 
 3   
 y4   0 0 0 0 1   x4 
y    
 5  1 0 0 0 0   x5 

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

121
7. ÁGEBRA Y CRIPTOGRAFÍA

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 NO M B R E D E LA 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:

E H M T  D  D R Q


               
N −1  A   B −1  Ñ  E −1  Z  E −1  G 
 N  = M · H  ,  R  = M · M  ,  L  = M · J  ,  I  = M · E 
               
O P E D A G N T

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

E M D R H T D Q
   
N B E E −1  A Ñ Z G
N = M ·
R L I H M J E
   
O E A N  P D G T 

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:

J M Ñ Q
 
F U U S
D −1 =
H F A C
 
U G Ñ K 

122
7. ÁLGEBRA Y CRIPTOGRAFÍA

Entonces:

E M D R  J M Ñ Q  J R T W
     
N B E E  F U U S R F P R
M −1 = C·D −1 = · =
N R L I  H F A C  T P X Q
     
 O E A N  U G Ñ K   W R Q C 

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:

  y1 y2     B C   N M     x1 x2  
          
  y3 y4     A H   L K     x3 x4  
 = ·  
 y y6     F M   Ñ J     x5 x6  
 5         
 y
 7 y8     H L   N Z  
    x7 x8  

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:

123
7. ÁGEBRA Y CRIPTOGRAFÍ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

π↓ ↑ π –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:

 y1 = π ( x1 + R)
 y = π ( x + O)
 2 2

 y3 = π ( x3 + S)
 y4 = π ( x4 + A)

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 π:

 x = π −1( y ) − R
 1 −1
1
 x2 = π ( y2 ) − O
 −1
 x3 = π ( y3 ) − S
 x = π −1( y ) − A
 4 4

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.

124
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

125
8. MÁQUINAS DE ROTORES

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.

126
8. MÁQUINAS DE ROTORES

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

127
8. MÁQUINAS DE ROTORES

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

128
8. MÁQUINAS DE ROTORES

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).

Cifrado Claro Cifrado Claro

a) Posición inicial b) Tras un giro


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:

129
8. MÁQUINAS DE ROTORES

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 A
2 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.

130
8. MÁQUINAS DE ROTORES

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.

Cifrado Claro

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

131
8. MÁQUINAS DE ROTORES

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.

132
8. MÁQUINAS DE ROTORES

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

133
8. MÁQUINAS DE ROTORES

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.

134
8. MÁQUINAS DE ROTORES

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

135
8. MÁQUINAS DE ROTORES

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.

Reflector Rotor Rotor Rotor Teclado

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

136
8. MÁQUINAS DE ROTORES

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).

137
8. MÁQUINAS DE ROTORES

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 LMN O P Q R S T U VWX Y Z
Stator: J WU L CMN 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 MH A E O Q K V X R F Y B U T N I C J DW
Rotor 2: S L V G B T F X J Q O H EW I R Z Y AMK P C N DU
Rotor 3: C J G D P S H K T U R AWZ X F MY 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.

138
8. MÁQUINAS DE ROTORES

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.

a) Enigma D b) 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.

139
8. MÁQUINAS DE ROTORES

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.

140
8. MÁQUINAS DE ROTORES

A B C D E F G H I J K LMN O P Q R S T U VWX Y Z
Rotor I: E K M F L G D Q V Z N T OWY 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 HWTMC 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 WG A KMU 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 MW B J
Rotor V: V Z B R G I T Y U P S D N H L X A WM 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 XWP B QMD R T A K Z G F U H O S
Rotor γ: F S O K A N U E R HMB T I Y CWL 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.

141
8. MÁQUINAS DE ROTORES

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.

142
8. MÁQUINAS DE ROTORES

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

143
8. MÁQUINAS DE ROTORES

‘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

144
8. MÁQUINAS DE ROTORES

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.

145
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.

147
9. CRIPTOANÁLISIS DE ENIGMA

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.

148
9. CRIPTOANÁLISIS DE ENIGMA

Texto en claro

CGXINFORMAX

WUZKVOKXKWA
Reflector Rotor Rotor Stator Texto cifrado

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:

UNTHXMIDYJT CGXINFORMAX
Stator
BGFQVIQTQBJ WUZKVOKXKWA

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.

149
9. CRIPTOANÁLISIS DE ENIGMA

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

150
9. CRIPTOANÁLISIS DE ENIGMA

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á.

151
9. CRIPTOANÁLISIS DE ENIGMA

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.

152
9. CRIPTOANÁLISIS DE ENIGMA

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.

153
9. CRIPTOANÁLISIS DE ENIGMA

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

154
9. CRIPTOANÁLISIS DE ENIGMA

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:

155
9. CRIPTOANÁLISIS DE ENIGMA

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

156
9. CRIPTOANÁLISIS DE ENIGMA

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:

157
9. CRIPTOANÁLISIS DE ENIGMA

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 .

158
9. CRIPTOANÁLISIS DE ENIGMA

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

159
9. CRIPTOANÁLISIS DE ENIGMA

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 :

160
9. CRIPTOANÁLISIS DE ENIGMA

π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

161
9. CRIPTOANÁLISIS DE ENIGMA

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·δ·γ 6·σ
-6 -1 6 -1 -1

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

162
9. CRIPTOANÁLISIS DE ENIGMA

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.

163
9. CRIPTOANÁLISIS DE ENIGMA

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

164
9. CRIPTOANÁLISIS DE ENIGMA

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.)

165
9. CRIPTOANÁLISIS DE ENIGMA

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

166
9. CRIPTOANÁLISIS DE ENIGMA

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.

167
9. CRIPTOANÁLISIS DE ENIGMA

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

168
9. CRIPTOANÁLISIS DE ENIGMA

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,

169
9. CRIPTOANÁLISIS DE ENIGMA

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

170
9. CRIPTOANÁLISIS DE ENIGMA

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

171
9. CRIPTOANÁLISIS DE ENIGMA

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

172
9. CRIPTOANÁLISIS DE ENIGMA

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 19
Texto 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.

173
9. CRIPTOANÁLISIS DE ENIGMA

F O

1 4

17 6 18
I L R E

13 15 19 5

9 14 7 3
X U A H Z
8
2 16

D T Q

11 12
10
P Y B G

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:
8 7
A H A
7 19 15
A H R A
14 13 17 6 15
A U I L R 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.

174
9. CRIPTOANÁLISIS DE ENIGMA

17 6 I
I L R
17
13 15 19 L
6
14 7
U A H R
8 19
H
7
A
15
R

A
14
ABCDEFGHIJKLMNOPQRSTUVWXY Z U
13
I
H
8
A
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

175
9. CRIPTOANÁLISIS DE ENIGMA

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.

176
9. CRIPTOANÁLISIS DE ENIGMA

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:

177
9. CRIPTOANÁLISIS DE ENIGMA

17 18
I L R E

13 15 19

9 14 8
X U A H

16

11

B
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.

178
9. CRIPTOANÁLISIS DE ENIGMA

X
ABCDEFGHIJKLMNOPQRSTUVWXY Z
9
∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ A
∙ ∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ B U
∙ ∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ C L
∙ ∙∙ ∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ D
∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ E
∙ ∙∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ F
∙ ∙∙ ∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ G I
∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ H 13
∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ I
∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ J U
∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ K
∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ L 14
∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ M
∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ N A
∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ O 15
∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ P
∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ Q R
∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ R
∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ S 19
∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ T H
∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ U
∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ V 16
∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ W
∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙ X T
∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙∙∙ ∙ Y
∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙∙∙∙ Z 11
B
A
8
ABCDEFGHIJKLMNOPQRSTUVWXY Z
H
R
18
E

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

179
9. CRIPTOANÁLISIS DE ENIGMA

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.

180
9. CRIPTOANÁLISIS DE ENIGMA

Figura 9.8. Una bomba americana.

181
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.

183
10. CRIPTOGRAFÍA MODERNA

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:

n = nr ·b r + nr −1 ·b r −1 + ... + n1 ·b + n0 ,

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:

184
10. CRIPTOGRAFÍA MODERNA

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.

185
10. CRIPTOGRAFÍA MODERNA

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 1100001
Inicio texto 2 0000010 " 34 0100010 B 66 1000010 b 98 1100010
Fin texto 3 0000011 # 35 0100011 C 67 1000011 c 99 1100011
Fin transmisión 4 0000100 $ 36 0100100 D 68 1000100 d 100 1100100
Enquiry 5 0000101 % 37 0100101 E 69 1000101 e 101 1100101
Acknowledge 6 0000110 & 38 0100110 F 70 1000110 f 102 1100110
Beep 7 0000111 ' 39 0100111 G 71 1000111 g 103 1100111
Backspace 8 0001000 ( 40 0101000 H 72 1001000 h 104 1101000
Tab. horizontal 9 0001001 ) 41 0101001 I 73 1001001 i 105 1101001
Salto línea 10 0001010 * 42 0101010 J 74 1001010 j 106 1101010
Tab. vertical 11 0001011 + 43 0101011 K 75 1001011 k 107 1101011
Salto página 12 0001100 , 44 0101100 L 76 1001100 l 108 1101100
Retorno carro 13 0001101 - 45 0101101 M 77 1001101 m 109 1101101
Shift fuera 14 0001110 . 46 0101110 N 78 1001110 n 110 1101110
Shift dentro 15 0001111 / 47 0101111 O 79 1001111 o 111 1101111
Escape línea 16 0010000 0 48 0110000 P 80 1010000 p 112 1110000
Ctrl. disp. 1 17 0010001 1 49 0110001 Q 81 1010001 q 113 1110001
Ctrl.. disp. 2 18 0010010 2 50 0110010 R 82 1010010 r 114 1110010
Ctrl.. disp. 3 19 0010011 3 51 0110011 S 83 1010011 s 115 1110011
Ctrl. 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 1110101
Sincronismo 22 0010110 6 54 0110110 V 86 1010110 v 118 1110110
Fin bloque 23 0010111 7 55 0110111 W 87 1010111 w 119 1110111
Cancelar 24 0011000 8 56 0111000 X 88 1011000 x 120 1111000
Fin medio 25 0011001 9 57 0111001 Y 89 1011001 y 121 1111001
Sustituto 26 0011010 : 58 0111010 Z 90 1011010 z 122 1111010
Escape 27 0011011 ; 59 0111011 [ 91 1011011 { 123 1111011
Sep. Archivos 28 0011100 < 60 0111100 \ 92 1011100 | 124 1111100
Sep. Grupos 29 0011101 = 61 0111101 ] 93 1011101 } 125 1111101
Sep. Registros 30 0011110 > 62 0111110 ^ 94 1011110 ~ 126 1111110
Sep. Unidades 31 0011111 ? 63 0111111 _ 95 1011111 Del 127 1111111
Tabla 10.1. Código ASCII de 7 bits.

186
10. CRIPTOGRAFÍA MODERNA

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 k1k2 k3 k4… 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 = k 0 ⊕ k-3 = 0 ⊕ 1=1,
k2 = k 1 ⊕ k-2 = 1 ⊕ 0=1,
k3 = k 2 ⊕ k-1 = 1 ⊕ 1= 0,
k4 = k 3 ⊕ 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

187
10. CRIPTOGRAFÍA MODERNA

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.

188
10. CRIPTOGRAFÍA MODERNA

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(y i ),

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

189
10. CRIPTOGRAFÍA MODERNA

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.

190
10. CRIPTOGRAFÍA MODERNA

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:

191
10. CRIPTOGRAFÍA MODERNA

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

192
10. CRIPTOGRAFÍA MODERNA

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

193
10. CRIPTOGRAFÍA MODERNA

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

194
10. CRIPTOGRAFÍA MODERNA

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: B1 B2 B3 …B16 y se forma con
ellos una matriz 4×4:

195
10. CRIPTOGRAFÍA MODERNA

 B1 B5 B9 B13 
 
 B2 B6 B10 B14 
B B7 B11 B15 
 3 
B B8 B12 B16 
 4
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:


 y1   b c a a   x1 
    
 y2   a b c a   x2 
 y  = a a b c   x3 
 3   
 y  c a a b   x 4 
 4 
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 a7 a6 a5 a4 a3 a2 a1 a0 el byte resultante de este primer paso.

II. Se cambia por este otro: b7 b6 b5 b4 b3 b2 b1 b0 , resultado de realizar las


siguientes sumas de bits:

196
10. CRIPTOGRAFÍA MODERNA

b7 = a 7 ⊕ a 6 ⊕ a5 ⊕ a 4 ⊕ a3
b = a 6 ⊕ a5 ⊕ a 4 ⊕ a3 ⊕ a 2 ⊕1
 6
b5 = a5 ⊕ a 4 ⊕ a3 ⊕ a 2 ⊕ a1 ⊕1

b4 = a 4 ⊕ a3 ⊕ a 2 ⊕ a1 ⊕ a 0

b3 = a7 ⊕ a3 ⊕ a 2 ⊕ a1 ⊕ a 0
b2 = a7 ⊕ a6 ⊕ a 2 ⊕ a1 ⊕ a 0

 b1 = a 7 ⊕ a 6 ⊕ a5 ⊕ a1 ⊕ a 0 ⊕ 1
b = a 7 ⊕ a 6 ⊕ a5 ⊕ a 4 ⊕ a0 ⊕ 1
 0

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.

197
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

199
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

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

200
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

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
3 6
Cúbico: n 10 1 microsegundo
n 30
Exponencial: 2 10 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

201
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

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 + b2 m2 + … + br mr

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,

202
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

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,

203
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

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

204
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

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=B e.
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:

205
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

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 B 101, 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

↓ B 101 ↓ B 101 ↓ B 101


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 C 37229 (recuérdese que 37229 es la clave privada). La justificación de que
B=C 37229 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,

C 37229 =(B101)37229 =B101·37229 =B1+k·Φ =B·B k·Φ =B·(B Φ)k .

Y la igualdad C 37229 =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

206
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

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

207
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

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): log a y = x . Por ejemplo, la igualdad anterior muestra que 3533 es un
logaritmo discreto de 5761 en la base 9726:

log 9726 5761 = 3533 (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:

208
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

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.

209
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

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=M d 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=M d =1671737229 =55907

210
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

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

211
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

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

v A = b − sA (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í:

b y ·v A = b k + sA ·r ·v A = b k + sA ·r ·b − sA ·r = b k = x .
r r

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

212
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA

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.

213
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.

215
BIBLIOGRAFÍA

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.

216
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.

217
ORIGEN DE LAS FOTOGRAFÍAS

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

218
Índice alfabético

ABC, cifra 101 binarios, números 184


ABCD, cifra 102 bits 184
Abhorchdienst 101 Biuro Szyfrow 156
ADFGX, cifrado 105 Blectchley Park 171
Adleman, L. 204 bomba de Rejewski 169, 170
AES 195-197 bomba de Turing 173-175
caja del 196 bomba de Turing-Welchman 178, 179
afín, criptosistema 116 Bureau du Chiffre 101
Al-Qalqashandi 13 byte 185
albam 8
Alberti, L. 36 C-38 142
cifrado de 36 Cabinet Noir 31
disco de 125 cámaras negras 31
alfabeto 2, 11 Cardano, G. 39
de cifrado 2, 11 cifrado de 39
en claro 2, 11 certificado 212
llano 2, 11 Chase, P. 62
algoritmo 2, 11 cifrado de 62
de cifrado 2 chiffre indéchiffrable, le 35, 40
de descifrado 2 ciclómetro 165, 166
análisis de frecuencias 13 cifra de campo 56
aritmética multiprecisión 206 Cifra General de Felipe II 28
aritmética modular 114 cifrado en bloque 186
Army Signal Corps 132 modo CBC 189
ASCII, código 185 modo ECB 189
ataque con texto pleno 12 cifrado secuencial 186
atbash 8 autosincronizado 187
autoclave 39 sincronizado 186
clases de congruencia 114
Babbage, C. 43 clave 2, 11
Bazeries, E. 33, 127 pública 199, 200
cilindro de 127 código 55
Belaso, G. 38 comercial 55
cifra de 38 de dos partes 56
Bergenroth, G. 32 de trinchera 103
Bertrand, G. 156 de una parte 56
bífida, cifra 63 desordenado 56
bigrama 19 oficial 56
Biham, E. 193 ordenado 56
binario, sistema 184 telegráfico 55

219
ÍNDICE ALFABÉTICO

Coppersmith, D. 194 female 167


crib 154 firma digital 210
criba cuadrática, algoritmo de la 207 Fleissner, E. 83
criptoanálisis 5 Foss, H. 147
con texto cifrado 5 fraccionado, cifrado 63
con texto claro y cifrado 5 frecuencia 13
diferencial 193 Friedman, W. 43, 128
lineal 193 función hash 211
total 5 función unidireccional 200
criptoanalista 5
Criptografía 4 GCCD 147
asimétrica 200 GCHQ 200
Moderna 183 Geheime Kabinets-Kanzlei 31
simétrica 200 Gran Cifra de Luis XIV 32
criptograma 2 Grey, N. 97
criptosistema 5, 11 Grundstellung 155
cuadrado latino 127
cuerpo numérico, algoritmo 207 Habitación 40 97
Hagelin, B. 142
Daemen, J. 195 Hayhanen, Reino 5
Deavours, C. 138 Hebern, E. 131
Deciphering Branch 32 máquina de 132
Delastelle, F. 63 Hellman, M. 193, 200
cifra de 64 Hill, L. 113
Denniston, A. 171 criptosistema de 113, 118
DES 190-193 homófonos 24
Cracker 193
caja del 192 índice de coincidencia 43
Diffie, W. 193, 200 del español 44
digrafo 19 mutua 47
distribución de claves 199 intratable, problema 201
Doppelkstenschlüssel 61 inversa de una letra 115
dos cuadrados, cifra de los 61 isomorfos, textos 149

ECM Mark I, II 134 Jefferson, T. 126


ElGamal, T. 209 rueda de 126, 127
criptosistema de 209 Jeffreys, J. 172
Enigma 135 Julio César 10
A 135 sustitución de 10
Abwehr 141
B 135 Kahn, D. 31, 131, 107
C 135 Kasiski, F. 42, 57
D 137 método de 42
D, rotores de 138 kautiliyam 10
I 138 Kerchoffs, A. 101
I, rotores de 141 Knox, A. 147, 171
K 147 Koch, H. 135
escítalo 9 Kruh, L. 138
esquema de identificación 211 Kullback, S. 133
estado inicial 186
esteganografía 8 Langer, G. 156
logaritmos discretos 208
Feistel, H. 190 Lucifer 190

220
ÍNDICE ALFABÉTICO

M-138 128 Rivest, R. 204


M-209 142 rodding 148
M-94 128 Rossignol, A. 30
Magdeburgo, código 99 Rossignol, B. 32
Matsui, M. 194 rotor 129
Merkle, R. 200 rotores concatenados 131
Merkle-Hellman, criptosistema de 203 rotores, máquina de 125, 131
mochila, criptosistema de la 202-204 Rowlet, F. 133
mochila, problema de la 202 Rozycki, J. 157
Montgomery, W. 97 RSA 204-208
Morse, S. 55 RSA Data Security 193, 204
müladeviya 10
múltiples anagramas, método de los 86 Scherbius, A. 135
Musefili, P. 28 Schmidt, H. 156
secuencia clave 186
NBS 190 Shamir, A. 193, 204
Nebel, F. 105 Sigaba 134
NIST 194 simetría de la posición 51
nomenclátor 23, 26 Simonetta, C. 28
NP, clase 201 Singh, S. 16
NSA 190 Sinkov, A. 133
nulos 26 Smith, F. 55
Soro, G. 28
opuesta de una letra 115 Spruchschlüssel 156
Stator 137, 149
P, clase 201 Steckerverbindung 139, 154
Painvin, G. 106 suma de letras 114
palabra probable, método de la 65 supercomputador 183
pin and lug 142 sustitución 7
Playfair, L. 59 del Duque de Mantua 24
cifrado 59 homofónica 24
doble 61 cifrado por 7, 11
polialfabético, cifrado 35
Polibios 9, 63, 105 tabla de Trithemius 38
cifrado de 9 tabla de Vigenère 40
polífonos 100 tablero diagonal 177
poligráfico, cifrado 55, 58 tabula recta 38
Pollard, J.M. 207 Tageschlüssel 155, 156
Pomerance, C. 207 tarjeta inteligente 212
Porta, G. 39, 58 texto 2
cifra de 39 cifrado 2
cifrado digráfico de 58 claro 2
Pratt, F. 15 llano 2
producto de letras 114 tiempo polinomial 201
Purple 142 tomográfico, cifrado 63
transposición 11
rail fence 77 cifrado por 11, 58, 77
reflector 136, 148 de columnas 78
Rejewski, M. 157 doble 80
bomba de 169, 170 variante francesa 102
rejilla giratoria 83 de los nihilistas rusos 81
Rijmen, V. 195 regular 86
Ringstellung 140, 155 periodo de una 86

221
ÍNDICE ALFABÉTICO

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

222

S-ar putea să vă placă și