Documente Academic
Documente Profesional
Documente Cultură
CRIPTOGRAFIA
EUGENIO GARCÍA
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
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
v
PRÓLOGO
obligó a considerar otros más complicados. El siguiente párrafo es una rápida sinopsis de
su contenido.
vi
PROLOGO
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?
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:
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
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:
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.
4
INTRODUCCION
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.
5
INTRODUCCIÓN
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.
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?
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).
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.
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’.
10
1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓ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.
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.
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í:
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.
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’...”
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
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
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.
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.
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
18
1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN
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’.
19
1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN
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.
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
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
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.
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
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.
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’.
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.
26
2. EL NOMENCLÁTOR
27
2. EL NOMENCLÁTOR
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
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.
30
2. EL NOMENCLÁTOR
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.
31
2. EL NOMENCLÁTOR
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.
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.
32
2. EL NOMENCLÁTOR
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:
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
34
3
CIFRADOS POLIALFABÉTICOS
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
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.
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.
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
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:
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.
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
41
3. CIFRADOS POLIALFABÉTICOS
ABCDEFGILMNOPQRSTVXZ1234
dlgazenbosfchtyqixkvp&mr
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.
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).
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.
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).
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.
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
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:
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.
46
3. CIFRADOS POLIALFABÉTICOS
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:
50
3. CIFRADOS POLIALFABÉTICOS
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
51
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
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):
52
3. CIFRADOS POLIALFABÉTICOS
53
4
CIFRADOS POLIGRÁFICOS
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.
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.
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.
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.
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.
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.
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
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:
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’.
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’.)
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:
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’.
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.
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.
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:
62
4. CIFRADOS POLIGRÁFICOS
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.
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:
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:
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
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.
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.
66
4. CIFRADOS POLIGRÁFICOS
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.
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.
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
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)
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.)
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
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
70
4. CIFRADOS POLIGRÁFICOS
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
V * G D I
| | | | |
Q R T M U
| | | | |
E N S O *
1.1.b
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
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
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
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
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
HT OD SR NM FH DU AO SR EI
ui nt or im nt o*
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
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’.
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
77
5. CIFRADOS POR TRANSPOSICIÓN
O D I U
F R N O R A R C
M V S E
A A C S
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
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.
78
5. CIFRADOS POR TRANSPOSICIÓN
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
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
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.
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
80
5. CIFRADOS POR TRANSPOSICIÓN
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
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
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.
82
5. CIFRADOS POR TRANSPOSICIÓN
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.
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
L R I
I A G
T R A A
S N
L T C
I O S
A E J
L L R
I O
U M E E
O D O
C D A
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.
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.
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
87
5. CIFRADOS POR TRANSPOSICIÓN
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.
88
5. CIFRADOS POR TRANSPOSICIÓN
‘GOSREITEEITDLISEAQEETHOC’.
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
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.
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.
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.
93
6
LA CRIPTOGRAFÍA EN LA PRIMERA
GUERRA MUNDIAL
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.
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.
96
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL
97
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL
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.
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.
100
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL
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.
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.
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”
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):
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.
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
DGGA AFAD DXAF FDAD AXFD GDDFG DAXG DADD DGAA XDAAX
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.
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.
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”:
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.
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
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:
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.
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
“14 ID XX Gen Kdo ersucht vordere linie sofort drahten XX Gen Kdo 7.”
110
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL
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.
111
7
ÁLGEBRA Y CRIPTOGRAFÍA
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)
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:
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.
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.
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
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:
c·T + d = E
c·H + d = A
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:
117
7. ÁGEBRA Y CRIPTOGRAFÍA
hasta dar con la ecuación de descifrado correcta. No será necesario resolver muchos de
ellos.
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:
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.)
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
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
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
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
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
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
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...
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
M –1·D = C → M –1·D ·D –1 = C ·D – 1 → M –1 = C ·D –1
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
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.
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
y1 = π ( x1 + R)
y = π ( x + O)
2 2
y3 = π ( x3 + S)
y4 = π ( x4 + A)
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
125
8. MÁQUINAS DE ROTORES
126
8. MÁQUINAS DE ROTORES
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.
127
8. MÁQUINAS DE ROTORES
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.
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.
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.
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
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.
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.
Cifrado Claro
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.
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.
132
8. MÁQUINAS DE ROTORES
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.
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.
134
8. MÁQUINAS DE ROTORES
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.
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.
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.
136
8. MÁQUINAS DE ROTORES
iniciales, y otra vez por 263, debido al desplazamiento de cada anillo. En total,
3706989312.
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)
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.
138
8. MÁQUINAS DE ROTORES
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.
139
8. MÁQUINAS DE ROTORES
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.
141
8. MÁQUINAS DE ROTORES
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.
142
8. MÁQUINAS DE ROTORES
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.
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.
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.
144
8. MÁQUINAS DE ROTORES
145
9
CRIPTOANÁLISIS DE ENIGMA
147
9. CRIPTOANÁLISIS DE ENIGMA
148
9. CRIPTOANÁLISIS DE ENIGMA
Texto en claro
CGXINFORMAX
WUZKVOKXKWA
Reflector Rotor Rotor Stator Texto cifrado
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.
149
9. CRIPTOANÁLISIS DE ENIGMA
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.
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.
151
9. CRIPTOANÁLISIS DE ENIGMA
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í:
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:
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:
153
9. CRIPTOANÁLISIS DE ENIGMA
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.
155
9. CRIPTOANÁLISIS DE ENIGMA
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.
156
9. CRIPTOANÁLISIS DE 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.
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.
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.
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:
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).
159
9. CRIPTOANÁLISIS DE ENIGMA
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)
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)
(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)
161
9. CRIPTOANÁLISIS DE ENIGMA
σ-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.)
π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
162
9. CRIPTOANÁLISIS DE ENIGMA
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
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.
165
9. CRIPTOANÁLISIS DE ENIGMA
166
9. CRIPTOANÁLISIS DE ENIGMA
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.
167
9. CRIPTOANÁLISIS DE ENIGMA
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:
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.
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.
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.
171
9. CRIPTOANÁLISIS DE ENIGMA
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.
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.
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
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 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.
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.
176
9. CRIPTOANÁLISIS DE ENIGMA
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.
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
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
180
9. CRIPTOANÁLISIS DE ENIGMA
181
10
CRIPTOGRAFÍA MODERNA
183
10. CRIPTOGRAFÍA MODERNA
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
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 ‘%$...#&’.
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
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.
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 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í:
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:
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
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.
188
10. CRIPTOGRAFÍA MODERNA
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.
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
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.
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:
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.
R′ ⊕ K=B1B2B3B4B5B6B7B8
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.
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:
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
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.
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.
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.
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.
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
197
11
CRIPTOGRAFÍA EN CLAVE PÚBLICA
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.
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?
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:
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.
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).
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.
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
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:
204
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA
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
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,
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.
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
208
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA
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:
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:
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.
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.
210
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA
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.
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.
v A = b − sA (módulo p).
2. La autoridad firma digitalmente los datos IDA y vA. Sea fA esta firma.
y los transmite a B.
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.
215
BIBLIOGRAFÍA
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.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.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.7: La máquina americana Sigaba. El mismo origen que la Figura 8.2.
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/
218
Índice alfabético
219
ÍNDICE ALFABÉTICO
220
ÍNDICE ALFABÉTICO
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
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