SlideShare una empresa de Scribd logo
Una introducción a la

CRIPTOGRAFIA




EUGENIO GARCÍA

MIGUEL ÁNGEL LÓPEZ

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



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




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


    Prólogo                                         v
    Introducción                                    1
 1 Los primeros pasos. Cifrado por sustitución      7
 2 El nomenclátor                                  23
 3 Cifrados polialfabéticos                        35
 4 Cifrados poligráficos                           55
 5 Cifrados por transposición                      77
 6 La Criptografía en la Primera Guerra Mundial    95
 7 Álgebra y Criptografía                         113
 8 Máquinas de rotores                            125
 9 Criptoanálisis de Enigma                       147
10 Criptografía Moderna                           183
11 Criptografía en clave pública                  199
    Bibliografía                                  215
    Origen de las fotografías                     217
    Índice alfabético                             219




                                iii
Libro criptografia
Prólogo


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

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


                                            v
PRÓLOGO




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

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




                                             vi
PROLOGO




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

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

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




                                           vii
Libro criptografia
INTRODUCCIÓN


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

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

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



                                            1
INTRODUCCIÓN




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

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

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

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

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

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


                                             2
INTRODUCCION




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

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

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

       S E · A P LAZA · LA · RE UN I ON · D E L · L UNE S
       23 13 9 5 21 18 5 20 5 9 18 5 9 8 1325 7 3 10 7 9 121318 9 18 25 7 13 23

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

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

                                     I MA G I N A R
                                     4 6 1 3 5 7 2 8

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




                                             3
INTRODUCCIÓN




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

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

              69264 24954 65521 92101 60431 92326 30592 14800 93267 0

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

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

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

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


                                             4
INTRODUCCION




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

         1.- Un alfabeto en claro y otro de cifrado, con los que se escriben los textos
         llanos y los criptogramas, respectivamente.
         2.- Una colección de datos llamados claves, en los que se deposita la seguridad
         del criptosistema.
         3.- Un algoritmo de cifrado, que transforma los textos llanos en criptogramas; y
         otro de descifrado, que deshace el proceso anterior.

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

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

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


                                              5
INTRODUCCIÓN




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




                                            6
1
   LOS PRIMEROS PASOS. CIFRADO
         POR SUSTITUCIÓN


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

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

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


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




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

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




                                Figura 1.1. El “atbash” hebreo.


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

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


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




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

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




                                Figura 1.2. El escítalo espartano.


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

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




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




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

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

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

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


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

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

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

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


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




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

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

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

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

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

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


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



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




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

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

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

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

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

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

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

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


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




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

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

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

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

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




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




       HS2BHF7JÑ7207HS2B9C722SJ47JÑ72MP7BN77JMP7H92BS2926
       929J6SNMP72FMP7JS17N7B7H967J96SJ7NN7170FS9J9097J7H
       070SK9NS29ÑS0S2CP19J3HS2192170FÑ9J92SH922S8N7H926S
       8N729198H727JÑN9K98H72BS292MP7H72HH7J9JSH72Q9BF9JH
       9QF097JÑ7N9D93MPF7J6SJ79H2FH7JBFSPJ90719J2SK90SN07
       F16N7BF29N7BSN09BFSJ3D93Ñ918F7JMPF7JD9B7171SNF9BSJ
       H9B9N9982SNÑ937JH9B9N96FJÑ90S7H472ÑS07H9872ÑF9NPFJ
       07H991SNS292P6HFB9JÑ7872ÑF9B9J2909H919JS2P57Ñ9J0SH
        9CN7JÑ737H1FN9NHH7JS07919N4PN9BS1SPJ19N7JB9H190S
                                         Criptograma


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

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


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




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




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

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

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

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

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




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




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


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

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


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




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

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

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

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

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

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

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




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




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


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

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


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

                   Distancia: 25.108           10.815      39.837       24.545

                               Tabla 1.5. Distancias del criptograma.




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




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

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

                        Alfabeto en claro: e a          o s n r
                                            ↓            ↓   ↓
                        Alfabeto cifrado: 9 7            2 j s


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

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

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

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



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




                   Bigramas      Frecuencia       Trigramas       Frecuencia
                      7J               17             JÑ7               5
                      72               12             7JÑ               5
                      H9               11             MP7               5
                      9J               11             7H9               5
                      7H               10             H72               4
                      H7                9             S29               4
                      92                9             F7J               4
                 Tabla 1.6. Bigramas y trigramas más frecuentes en el criptograma.


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

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

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

                         Alfabeto en claro: e          a     s    n     t
                                            ↓          ↓     ↓    ↓     ↓
                         Alfabeto cifrado: 7           9     2    J     Ñ

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


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




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

               Alfabeto en claro: e        a    o    s    n    l    t    u    q
                                  ↓        ↓    ↓    ↓    ↓    ↓    ↓    ↓    ↓
               Alfabeto cifrado: 7         9    S    2    J    H    Ñ    P    M

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

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

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

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

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

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

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

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

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



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




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

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


 Claro: a b c d e f g h i j k l m n ñ o p q r s t u v w x y z
Cifrado: 9 8 B 0 7 C 4 D F 5 H 1 J K S 6 M N 2 Ñ P Q      3
                                    Clave del criptograma


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

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




                                             22
2
                      EL NOMENCLÁTOR


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

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

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

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


                                             23
2. EL NOMENCLÁTOR




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

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




                          Figura 2.1 Sustitución del duque de Mantua.


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

      Texto en claro:   d u q u e d e ma n t u a
      Texto cifrado:    u d h ff t u 4 l z m e I 2

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

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

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



                                              24
2. EL NOMENCLÁTOR




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

                                 u * h * * u * l * me

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

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

                                 u d h ff t u 4 l z m e
                                 u I h d 4 u F l 3me
                                 u ff h ~ 4 u t l 2 m e

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

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

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

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




                                            25
2. EL NOMENCLÁTOR




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

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

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

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

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



                                            26
2. EL NOMENCLÁTOR




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




Figura 2.3 Nomenclátor compilado en Florencia en 1554.




                         27
2. EL NOMENCLÁTOR




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

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

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




                                            28
2. EL NOMENCLÁTOR




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


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


                                              29
2. EL NOMENCLÁTOR




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

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

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

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



                                            30
2. EL NOMENCLÁTOR




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

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

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

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

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

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


                                            31
2. EL NOMENCLÁTOR




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

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

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

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

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



                                            32
2. EL NOMENCLÁTOR




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

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

                                   124 22 125 46 345.

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

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

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


                                            33
2. EL NOMENCLÁTOR




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

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




                                           34
3
        CIFRADOS POLIALFABÉTICOS


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

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

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



                                              35
3. CIFRADOS POLIALFABÉTICOS




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

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




                              Figura 3.1. Los dos discos de Alberti.


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


                                               36
3. CIFRADOS POLIALFABÉTICOS




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

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

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

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

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




                                             37
3. CIFRADOS POLIALFABÉTICOS




                                 Figura 3.2. Tabla de Trithemius.


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

      Clave:         BELASOBELASOBELASOBEL
      Texto claro:   CIFRADOPOLIALFABETICO
      Texto cifrado: d n q r s r p t w l b o m k l b y h k g w




                                               38
3. CIFRADOS POLIALFABÉTICOS




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

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

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

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

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

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




                                             39
3. CIFRADOS POLIALFABÉTICOS




                       abcdefghilm                        abcdefghilm
                AB     nopqrstvxyz                  OP    stvxyznopqr
                       abcdefghilm                        abcdefghilm
                CD     znopqrstvxy                  QR    rstvxyznopq
                       abcdefghilm                        abcdefghilm
                EF     yznopqrstvx                  ST    qrstvxyznop
                       abcdefghilm                        abcdefghilm
                GH     xyznopqrstv                  VX    pqrstvxyzno
                       abcdefghilm                        abcdefghilm
                IL     vxyznopqrst                  YZ    opqrstvxyzn
                       abcdefghilm
                MN     tvxyznopqrs
                             Tabla 3.1. Los once alfabetos de Porta.


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

      Clave:         PORTAPORTAPORTAPORT
      Texto claro:   DEFVRTIVISLITERARVM
      Texto cifrado: x y y e e b p d n f q p c v e s m d p

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

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


                                               40
3. CIFRADOS POLIALFABÉTICOS




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


       Para cifrar, las tablas de Vigenère se emplean igual que la de Trithemius: fijada una
clave, cada letra del texto en claro se reemplaza por la que está en su misma columna y en
la fila determinada por la correspondiente letra de la clave. Empleando la Tabla 3.2 y la
clave ‘TRITHEMIUS’, un ejemplo de cifrado es el siguiente:
      Clave:         TRITHEMIUSTRITHE
      Texto claro:   BLAISEDEVIGENERE
      Texto cifrado: s y f r z f k e l c z u s w x f

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




                                                       41
3. CIFRADOS POLIALFABÉTICOS




                 ABCDEFGILMNOPQRSTVXZ1234
                 dlgazenbosfchtyqixkvp&mr

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

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

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

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

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


                                            42
3. CIFRADOS POLIALFABÉTICOS




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

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

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

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

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

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




                                            43
3. CIFRADOS POLIALFABÉTICOS




                               f a ( f a − 1) + f b ( f b − 1) + ... + f z ( f z − 1)
                        IC =                                                          ,
                                                     n(n − 1)
donde fa, fb, ..., fz son las frecuencias de las letras y n es la longitud del texto (el número de
letras que tiene).

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

                         Inglés        Español            Francés        Alemán
                         0,0685        0,0755             0,0793         0,0736
                                  Tabla 3.3. Índices de coincidencia


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

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

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




                                                     44
3. CIFRADOS POLIALFABÉTICOS




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

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

          adiawñdntrtocdhmphhdusbbkqmgtfkñfpouhuhftñcpmpo
          ekfrneecpsivdyrmsxskitjzuhuhnedwbmrvdyqfhduabop
          oukñfjrrdfhjzkjuijzrcofgoyosmsdhkfunjhymtjpshdz
          ivpjpmkvñkpjnahxsknzukbjnporuzjñfdcgrbywuhmeñcp
          mttcdpodaukpjrouyqouvcdnohnuyefnñdysmxthqqmhidw
          ftjnhklmrlegeopouadnrvikpfqtycpsibposmsauxshlvp
          yhyqyuumtjchqcoqvñqhbpoeihfktqrhkjztrzoddhqfong
          dguujrpjcmgvñrdmapdñeznledfffceybmxhfddxftccñum
          leydzvbfdcgrbdusnnyuguunñrdpohvñdyiaffrisutrrvo
          ibbdmtjgdfefshqdntnrqditjyhgeznrrkpkjñhnsmnghqd
          mrtmjumrtdyrmsikqeyjyhhujmahubosyhgezjzqkbywrqd
                                         Criptograma.


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

        T1:     adchkkhckcykhwyakdjcokyhjkxkrdwcdkydyyqw                          ...
        T2:     dnddqñupfpriubqbñfuosfmdppsbucupppqnesqf                          ...
        T3:     ithumfhmrsmthmfofhifmutzmjkjzghmojoofmmt                          ...
        T4:     armsgpfpnisjnrhpjjjgsnjiknnnjrmtdruhnxhj                          ...
        T5:     wtpbtotoevxzevdorzzodjpvvazpñbetaovnñtin                          ...
        T6:     ñohbfuñeedsudduurkryhhspñhuofyñcuucudhdh                          ...


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



                                              45
3. CIFRADOS POLIALFABÉTICOS




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

                          T1         T2        T3         T4         T5        T6
                         d:14      p:11       m:18       j:15      t:11       h:14
                         k:13      d: 9       o:11       n:14      v:10       u:12
                         y:10      u: 9       f: 9       r: 9      o: 7       d:10
                         c: 7      e: 7       t: 8       s: 7      b: 6       e: 7
                         q: 6      s: 7       h: 6       p: 5      z: 6       ñ: 7
                         r: 6      b: 6       z: 6       h: 4      r: 5       f: 5
                         g: 5      f: 6       u: 5       i: 4      y: 5       q: 5
                         h: 5      c: 4       j: 4       m: 4      a: 4       r: 5
                         j: 4      h: 4       i: 3       a: 3      ñ: 4       p: 4
                         a: 3      q: 4       k: 3       f: 3      p: 4       c: 3
                         u: 3      i: 3       s: 3       g: 3      d: 3       y: 3
                         w: 3      m: 3       y: 3       q: 3      e: 3       b: 2
                         o: 2      n: 3       g: 2       d: 2      g: 3       k: 2
                         x: 2      ñ: 3       n: 2       k: 2      l: 3       o: 2
                         f: 1      r: 2       b: 1       u: 2      c: 2       s: 2
                         i: 1      l: 1       r: 1       x: 2      h: 2       i: 1
                         n: 1      o: 1       x: 1       l: 1      i: 2       m: 1
                         ñ: 1      v: 1                  t: 1      n: 2       t: 1
                                   y: 1                  v: 1      f: 1
                                   z: 1                  w: 1      j: 1
                                                                   w: 1
                                                                   x: 1
                 IC:    0,0807 0,0629 0,0908 0,0813 0,0561 0,0793
                         Tabla 3.4. Frecuencias e índices de los subtextos.


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



                                                46
3. CIFRADOS POLIALFABÉTICOS




      Lo confirmaremos cuando calculemos su índice de coincidencia mutua. Este otro
índice es de aplicación para una pareja de textos y se define como la probabilidad de que
al elegir una letra en cada texto, ambas coincidan. La fórmula que facilita su cálculo es la
siguiente:
                                     f a ⋅ g a + fb ⋅ gb + ... + f z ⋅ g z
                            ICM =                                          ,
                                                    n ⋅m
donde fa, fb, ..., fz son las frecuencias de las letras de uno de los textos, n su longitud; ga,
gb, ..., gz las frecuencias del otro texto y m su longitud.

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

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

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


                                                 47
3. CIFRADOS POLIALFABÉTICOS




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

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




                                              48
3. CIFRADOS POLIALFABÉTICOS




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




                                          49
3. CIFRADOS POLIALFABÉTICOS




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

                        Textos:       Vocales:           Consonantes:
                          1       d   k   c r        y    q g h
                         2, 6     u   d   h e s      p    ñ f
                          3       m   o   f t        h    z
                          4       j   n              r    s p h
                          5       t   v   o b        z    r


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

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


                                                50
3. CIFRADOS POLIALFABÉTICOS




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

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

          A B C D E F G H I J K L MN Ñ O P Q R S T U VWX Y Z
    1               k                                                  j
   2, 6             u           e                          m           s
    3               m                                                  t
    4               j                                      p
    5                                                                  o


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

          A B C D E F G H I J K L MN Ñ O P Q R S T U VWX Y Z
    1               k        p                                         j
   2, 6             u        t e                           m           s
    3               m          s                               u       t e
    4               j                             k        p
    5                                                                  o


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


                                            51
3. CIFRADOS POLIALFABÉTICOS




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

          A B C D E F G H I J K L MN Ñ O P Q R S T U VWX Y Z
    1               k          p                                         j
   2, 6 d o         u          t e                f     h    m           s
    3 f     h       m            s                    d o        u       t e
    4               j                                 k      p
    5 t e                  f     h     m              s               d o         u


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

          A B C D E F G H I J K L MN Ñ O P Q R S T U VWX Y Z
    1     c f   h k m   p r s           d o     u                        j t e
   2, 6   d o     u   j t e       c f   h k m   p r                      s
    3     f   h k m   p r s           d o     u   j                      t e          c
    4         u   j t e       c f   h k m   p r s                                   d o
    5     t e       c f   h k m   p r s           d                      o        u   j


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

   adiawñ dntrto cdhmph hdusbb kqmgtf kñfpou huhftñ cpmpoe
   *A**** O*URAB AACOMO DARS** E*E*AN E*AQUE DECLA* ASEQUI
   kfrnee cpsivd yrmsxs kitjzu huhned wbmrvd yqfhdu abopou
   ENH*BI ASI**A *TES*U E*UE*E DEC*BA **ER*A **ANTE **OQUE
   kñfjrr dfhjzk juijzr cofgoy osmsdh kfunjh ymtjps hdzivp
   E*AENT ONCE*P UE*E*T ABA*U* PUESTO ENR*ZO *QUEMU DA***S




                                             52
3. CIFRADOS POLIALFABÉTICOS




   jpmkvñ kpjnah xsknzu kbjnpo ruzjñf dcgrby wuhmeñ cpmttc
   USEÑ** EST**O *UD**E E*T*MB IE*E*N OM*R** *ECOB* ASEFAM
   dpodau kpjrou yqouvc dnohnu yefnñd ysmxth qqmhid wftjnh
   OSOY*E ESTRUE **OC*M O*ON*E *IA**A *UE*AO **EN*A *NUE*O
   klmrle geopou adnrvi kpfqty cpsibp osmsau xshlvp yhyqyu
   E*ER*I *IOQUE *A*R** ESA*A* ASI**S PUES*E *UC**S *O***E
   umtjch qcoqvñ qhbpoe ihfktq rhkjzt rzoddh qfongd guujrp
   SQUEFO *MO*** *O*QUI *OAÑA* IODE*H I*OYTO *NO**A *ERENS
   jcmgvñ rdmapd ñeznle dfffce ybmxhf ddxftc cñumle ydzvbf
   UME*** IAE*MA *I***I ONALFI **E*IN OA*LAM A*RO*I *A***N
   dcgrbd usnnyu guunñr dpohvñ dyiaff risutr rvoibb dmtjgd
   OM*R*A SU***E *ER**T OSON** O***GN I*ICAT I*O*** OQUE*A
   fefshq dntnrq ditjyh geznrr kpkjñh nsmngh qdmrtm jumrtd
   BIASI* O*U*N* O*UE*O *I**NT ESDE*O *UE**O *AERAQ UEERAA
            yrmsik qeyjyh hujmah ubosyh gezjzq kbywrq d
            *TES*P *I*E*O DETO*O S*OS*O *I*E** E***N* O

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




                                            53
Libro criptografia
4
            CIFRADOS POLIGRÁFICOS


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

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

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


                                            55
4. CIFRADOS POLIGRÁFICOS




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

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

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

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


                                             56
4. CIFRADOS POLIGRÁFICOS




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




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




                                               57
4. CIFRADOS POLIGRÁFICOS




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

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

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




                            Figura 4.2. Cifrado digráfico de Porta.




                                              58
4. CIFRADOS POLIGRÁFICOS




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

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

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


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

                      AV IS TA DO BU QU EX EN EM IG OX

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

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


                                              59
4. CIFRADOS POLIGRÁFICOS




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

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

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

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

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

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

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

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

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

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


                                             60
4. CIFRADOS POLIGRÁFICOS




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

                       D    O     B    L     E        D    O    S       C   U
                       P    A     Y    F     I        A    R    B       E   F
                       R    C     G    H     K        G    H    I       K   L
                       M    N     Q    S     T        M    N    P       Q   T
                       U    V     W    X     Z        V    W    X       Y   Z
                                Tabla 4.2. Ejemplo de doble Playfair.


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

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

                             ENVIE            ERZOS             TEME
                             NREFU            URGEN             NTEX

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

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



                                                 61
4. CIFRADOS POLIGRÁFICOS




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

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

                         0      1    2     3    4     5    6     7      8   9
                     1    N     Q    M     G     B    W    ·     J      T   E
                     2    F     A    X     P     Y    I    Ñ     O      D   V

                     3    S     $    H     Z     C    L    &     R      U   K
                              Tabla 4.3. Ejemplo de cifrado de Chase.


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

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

                      ATAQ          UEN·       AL·A       MANE          CER$

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

                     ATAQ        UEN·          AL·A       MANE          CER$
                      ↓           ↓             ↓          ↓             ↓
                     2121        3111          2312       1211          3133
                     1811        8906          1561       2109          4971




                                                62
4. CIFRADOS POLIGRÁFICOS




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

                  22121       13111       12312       31211       23133
                  16299       80154       14049       18981       44739

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

                  22121       13111       12312       31211       23133
                  16299       80154       14049       18981       44739
                    ↓           ↓           ↓           ↓           ↓
                  AÑMVE       TSQWB       QYSBV       $TVTQ       YCJZK

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

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

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

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

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

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


                                             63
4. CIFRADOS POLIGRÁFICOS




                                     1      2        3    4     5
                               1      D     O        M    S     B
                               2      Q     U        E    X     L
                               3      H     T        Z    Y     F
                               4      V     K        A    P     R
                               5      G     N        I    W     C
                            Tabla 4.4. Ejemplo de cifra de Delastelle.


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

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

                              ESPER         ENORD          ENES
                                ↓             ↓             ↓
                              21424         25141          2521
                              34435         32251          3234

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

          2142434435                  2514132251                          25213234
               ↓                           ↓                                  ↓
        21 42 43 44 35              25 14 13 22 51                       25 21 32 34
               ↓                           ↓                                  ↓
           Q K A P F                   L S M U G                           L Q T Y

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

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

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



                                                64
4. CIFRADOS POLIGRÁFICOS




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

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

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

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


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

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




                                              65
4. CIFRADOS POLIGRÁFICOS




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

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

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

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

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




                                             66
4. CIFRADOS POLIGRÁFICOS




         Bigrama Frecuencia Bigrama Frecuencia Bigrama Frecuencia
            MS            4            NS              3            FO          2
            NQ            4            QN              3            HC          2
            SH            4            SR              3            MN          2
            BQ            3            UD              3            MX          2
            CE            3            AB              2            OD          2
            IH            3            CH              2            QC          2
            MI            3            CQ              2            XO          2
            NM            3            DV              2
                         Tabla 4.5. Bigramas repetidos en el criptograma.


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

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

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




                                               67
4. CIFRADOS POLIGRÁFICOS




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

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

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

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

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

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

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

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

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



                                              68
4. CIFRADOS POLIGRÁFICOS




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

                                                          E
                              E N S                       N
                                                          S
                                 a)                       b)


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

                                                                        E
                    Q R                                                 N
                    | |                E N S R Q                        S
                    E N S                                               R
                                                                        Q
                        1                     2                         3


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

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




                                             69
4. CIFRADOS POLIGRÁFICOS




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


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

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


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

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


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


                                             70
4. CIFRADOS POLIGRÁFICOS




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

                           I        D                                 D     I
                           |        |                                 |     |
                     Q R T U        M                           Q R T M     U
                     | | | |        |                           | | | |     |
                     E N S *        O                           E N S O     *
                          1.1.a                                     1.1.b


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

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

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


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

                                     DU AO SR EI QC
                                     im    nt *v

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


                                                 71
4. CIFRADOS POLIGRÁFICOS




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

                    Q    R    T      ─   M               Q   R    T      ─   M
                    *    *    *      ─   U               *   *    *      ─   U
                    E    N    S      ─   O               *   *    *      ─   I
                    *    *    *      ─   I               *   *    *      ─   D
                    *    *    *      ─   D               E   N    S      ─   O
                             1.1.c                               1.1.d


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

               ID XT OD NQ MI                            ID XT OD NQ MI
               oi ** ui er do                            ui ** di er ou
                        Con 1.1.c                            Con 1.1.d


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

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

                                             X * Z
                                             | | |
                                             Q R T ─ M

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




                                                72
4. CIFRADOS POLIGRÁFICOS




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

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

      SH CQ HX XO IS QO SY BQ HE CH CE IZ CQ MN MT OA SR HQ
               ue *o me                *u    ro       nt

      NM CE HO HC QI KM WD IH IH SH MI UD FK FO MS QP XO AB
      or          m*                do mi       to    ue

      OZ QN DV UD NS MS CH ON LZ NM MI OL FO AS MN XB QC MX
      su re gi mi en to          or do          ro       qu

      SH BQ SQ VH XI MK VB NS OQ VD CE MS QF HT OD SR NM FH
            et    u*       en em ig    to       ui nt or

      DU AO SR EI QC IB QB MF QN GS HC SB ID XT OD NQ MI CZ
      im    nt o*             re          oi zq ui er do

      FM SH QS TB NQ QN DV UD NS MS MX OH BQ IH NQ NO NQ AB
            te    er re gi mi en to qu          er    er

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

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


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



                                              73
4. CIFRADOS POLIGRÁFICOS




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

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


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

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

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

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

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

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

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

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


                                               74
4. CIFRADOS POLIGRÁFICOS




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




                                         75
Libro criptografia
5
    CIFRADOS POR TRANSPOSICIÓN


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

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

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

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

      El texto cifrado es el siguiente: ‘EINZSRTEZGACOIG’.


                                                    77
5. CIFRADOS POR TRANSPOSICIÓN




     He aquí otra simpática muestra:

                       O              D                I            U
                   F       R      N       O        R       A    R       C
                       M              V                S            E
                       A              A                C            S

     Y el criptograma que se obtiene: ‘ODIUFRNORARCMVSEAACS’.

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

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

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

     Por columnas: ‘CDTPIIOROOFPASNRONIARSC’.

     Por filas, al revés: ‘ARFICROPODSNARTCISOPNOI’

     En diagonal: ‘CIDFOTRPRPAOAOIRNSOSINC’.

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

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

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


                                              78
5. CIFRADOS POR TRANSPOSICIÓN




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

               T R         A       N       S     P   O    S    I       C       I       O   N
               13 10       1       5       11    9   7    12   3       2       4       8   6

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

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

                   T   R       A       N    S    P   O    S    I   C       I       O   N
                   13 10       1       5    11   9   7    12   3   2       4       8   6
                   R   E       U       N    I    O   N    E    N   E L             C   U
                   A   R       T       E    L    G   E    N    E   R A             L   E
                   L   L       U       N    E    S   A    L    A   U N             A   D
                   E   L       A       T    A    R   D    E

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

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




                                                     79
5. CIFRADOS POR TRANSPOSICIÓN




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

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

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

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

                    T   R   A    N   S    P   O    S    I   C   I   O   N
                    13 10    1   5   11   9   7    12   3   2   4   8   6
                    U   T   U    A   E    R   U    N    E   A L     A   N
                    N   E   N    T   U    E   D    N    E   A D     C   L
                    A   O   G    S   R    E   R    L    L   I L     E   A
                    E   N   L    E   R    A   L    E

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

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




                                              80
5. CIFRADOS POR TRANSPOSICIÓN




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

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

            1    2     3   4      5   6                   1    2     3   4      5   6
        1   E    L    F    I      N   P              1    U    N    A    R      U   S
        2   O    L    I    T      I   C              2    I    A    S    I      N   E
        3   O    D    E    L      O   S              3    S    T    A    D      O
        4   N    I    H    I      L   I              4

        5   S    T    A    S      R   U              5

        6   S    O    S    E      R   A              6

                     Cuadrado 1                                    Cuadrado 2


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




                                            81
5. CIFRADOS POR TRANSPOSICIÓN




            C    O    M    U      N   A                  C    O     M     U N        A
            2    5    3    6      4   1                  2    5     3     6  4       1
       1    L    N    F    P      I   E             1    N    U     A     S      R   U
       2    L    I    I    C      T   O             2    A    N     S     E      I   I
       3    D    O    E    S      L   O             3    T    O     A            D   S
       4    I    L    H    I      I   N             4

       5    T    R    A    U      S   S             5

       6    O    R    S    A      E   S             6

                     Cuadrado 1                                    Cuadrado 2


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

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

     M 3    D    O    E    S      L   O            M 3    T    O      A          D   S
     U 6    O    R    S    A      E   S            U 6

     N 4    I    L    H    I      I   N            N 4

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


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

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

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


                                           82
5. CIFRADOS POR TRANSPOSICIÓN




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

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




                                Figura 5.1. Ejemplo de rejilla.


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

                                1    2     3        7     4   1
                                4    5     6        8     5   2
                                7    8     9        9     6   3
                                3    6     9        9     8   7
                                2    5     8        6     5   4
                                1    4     7        3     2   1

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


                                               83
5. CIFRADOS POR TRANSPOSICIÓN




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

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

        En general, el número de rejillas distintas de dimensión n×n con n par, n = 2·k, es
 k 2 −1
4 . También pueden considerarse rejillas n×n con n impar, n = 2·k+1. En este caso, la
cuadrícula central nunca debe agujerearse, ya que no cambia de posición durante los
                                                     2
giros. Ahora, el número de rejillas diferentes es 4 k +k −1 . Por ejemplo, como 7 = 2·3+1, hay
   2
4 3 +3−1 = 4194304 rejillas distintas de dimensión 7×7.

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

               L   A    R    E      J   I             E    C    I    F      R   A
               L   L    A    G      I   R             D    O    P    O      R   T
               A   T    O    R      I   A             R    A    N    S      P   O
               E   S    U    N      M   E             S    I    C    I      O   N
               T   O    D    O      C   L
               A   S    I    C      O   D
                       Cuadrado 1                              Cuadrado 2


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



                                             84
5. CIFRADOS POR TRANSPOSICIÓN




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

            L         R                                                          I
                                I                              A    G
                 T         R                        A                            A
                 S                                                  N
                                     L              T                    C
                      I         O                          S

            Posición inicial. LRITRSLIO              Primer giro. IAGAANTCS


                 A         E                                             J
            L                                              L                     R
                                I                              O
                      U         M                   E                            E
                 O                                             D    O
                           C         D              A

             Segundo giro. AELIUMOCD                    Tercer giro. JLROEEDOA


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




                                           85
5. CIFRADOS POR TRANSPOSICIÓN




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

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

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

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

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

                    TLAUNER          SODIAVA        MORIPRE         ARAGENÑ

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


                                             86
5. CIFRADOS POR TRANSPOSICIÓN




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

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

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

                                                  R   A
                                                  A   D
                                                  E   R
                                                  Ñ   A

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

           R   A   T R        A   T R                 A   L   U T             R   A   L
           A   D   S A        D   S A                 D   O   I S             A   D   O
           E   R → M E        R → M E                 R   O → I M             E   R   O →
           Ñ   A   A Ñ        A   A Ñ                 A   R   G A             Ñ   A   R

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

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


                                                  87
5. CIFRADOS POR TRANSPOSICIÓN




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

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

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


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

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




                                            88
5. CIFRADOS POR TRANSPOSICIÓN




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

                          ‘GOSREITEEITDLISEAQEETHOC’.

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

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

 ELAUREMEEOUAAJSNCTIGOAEULEPDONNSUSDNLRIOIINIMYEL
 MILLMOSUNNANTOYAJRCEMRUIGOSREITEEITDLISEAQEETHOC
 LRNATAFEPECROCLUISNREADSOESCSEACHELNDEOROLIRNAIE

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




                                             89
5. CIFRADOS POR TRANSPOSICIÓN




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


          1♥       2♥             12 ♥                     1♦       2♦          12 ♦
          L        E      ...      N                       L        R    ...     L
          G        O               D                       L        I            C
          O        E               N                       D        E            E
                                 Figura 5.2. La baraja de cartas.


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

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

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

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



                                               90
5. CIFRADOS POR TRANSPOSICIÓN




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

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

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


                      12 ♥            12 ♦              12 ♠               12 ♣
                       N               L                 A                  U
                       D               C                 N                  I
                       N               E                 R                  S
                             Figura 5.3. Posición inicial de las cartas.


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




                                                 91
5. CIFRADOS POR TRANSPOSICIÓN




                    1♠                  1♣                      1♥               1♦
           12 ♥     E          12 ♦     A               12 ♠    L        12 ♣    L
            N       M           L       T                A      G         U      L
            D       L           C       O                N      O         I      D
            N                   E                        R                S
               a)                  b)                      c)               d)
                          Figura 5.4. Opciones para la primera jugada.


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

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

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

                                                   1♦     1♣
                                   12 ♦ 12 ♣       L       A
                                    L    U         L       T
                                    C    I         D       O
                                    E    S
                                 Figura 5.5. La segunda jugada.


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



                                              92
5. CIFRADOS POR TRANSPOSICIÓN




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

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

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


                                                   1♦    1♣    2♦   1♠     2♣
                11 ♦ 12 ♥ 11 ♣ 12 ♦ 12 ♣           L      A    R    E      J
                 E    N    E    L    U             L      T    I    M      O
                 O    D    U    C    I             D      O    E    L      C
                 I    N    D    E    S
                               Figura 5.6 Tras la quinta jugada.


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

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

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




                                              93
Libro criptografia
6
 LA CRIPTOGRAFÍA EN LA PRIMERA
        GUERRA MUNDIAL


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

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

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

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


                                             95
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL




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

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

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

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

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




                                            96
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL




                            Figura 6.1. El telegrama Zimmermann.


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



                                            97
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL




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

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

            “Pretendemos comenzar el 1 de febrero la guerra submarina sin
     restricciones. No obstante, nos esforzaremos en mantener neutral a los
     Estados Unidos de América. En el caso que esto no suceda, hacemos a
     Méjico una propuesta de alianza en base a lo siguiente:
            Hagamos la guerra juntos y obtengamos la paz juntos. Habrá ayuda
     financiera y acuerdo por nuestra parte para que Méjico reconquiste los
     territorios perdidos en Texas, Nuevo Méjico y Arizona. Le dejo a usted los
     detalles.
          Informe de lo anterior al presidente de Méjico con el mayor de los
     secretos tan pronto como se inicie la guerra con los Estados Unidos.
     Sugiérale que, por propia iniciativa, invite a Japón a unirse inmediatamente y
     que medie entre Japón y nosotros.
           Por favor, llame la atención al presidente que el empleo sin piedad de
     nuestros submarinos ofrece ahora la perspectiva de obligar a la paz a
     Inglaterra en unos pocos meses.”


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

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

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


                                            98
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL




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

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

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

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


                                            99
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL




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

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

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

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




                                             100
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL




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

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

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

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

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

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


                                            101
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL




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

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

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

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

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

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




                                            102
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL




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

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

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

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

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

      T    O    B   A    T     A   L   L    O     N

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

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

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

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



                                            103
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL




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

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

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

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


                                            104
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL




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

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

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

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


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

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

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




                                            105
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL




     S E N E C E S I T A                       N     M   U   N I C I O        N E S
                                               ↓
     GX DD DA DD FA DD GX AF AG DX DA GA XA DA AF FA AF GD DA DD GX

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

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

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

       DGGA AFAD DXAF FDAD AXFD GDDFG DAXG DADD DGAA XDAAX

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

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

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

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


                                               106
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL




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

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

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

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

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

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

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



                                           107
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL




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

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

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

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




                                             108
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL




                                        A D F G X
                                    A
                                    D
                                    F
                                    G       e
                                    X

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

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

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

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

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

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

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


                                            109
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL




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

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

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

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

      El texto en claro del primer criptograma era el siguiente:

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


                                            110
6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL




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

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

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

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

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




                                             111
Libro criptografia
7
          ÁLGEBRA Y CRIPTOGRAFÍA


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

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

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


                                           113
7. ÁGEBRA Y CRIPTOGRAFÍA




     A B C D E F G H I J K L MN Ñ O P Q R S T U VWX Y Z
     0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
                          Tabla 7.1. Identificación de letras y números.


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

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

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

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

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

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

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


                                              114
7. ÁLGEBRA Y CRIPTOGRAFÍA




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

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

                                           ↓   y=F·x+L (y=5x+11)
                   11 3 11 21 11 17 5 25 11 12 11 17 11 22 4 21 4 20
         Cifrado: L D L U L Q F Y L M L Q L V E U E T

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

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

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

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

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

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


                                            115
7. ÁGEBRA Y CRIPTOGRAFÍA




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

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

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

           Unidad: B C E F H I K L N Ñ P Q S T V W Y Z
           Inversa: B Ñ H L E Q S F Y C V I K W P T N Z
                             Tabla 7.2. Unidades y sus inversas.


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

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

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

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

                                           ↓      x=L·y+Ñ (x=11y+14)
                   0 20 0 2 0 12 15 19 0 11 0 12 0 13 4 2 4 18
         Claro: A T A C A M O S A L A M A N E C E R

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

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


                                            116
7. ÁLGEBRA Y CRIPTOGRAFÍA




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

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


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

                                         c·T + d = E
                                        
                                        c·H + d = A

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

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

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

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

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



                                             117
7. ÁGEBRA Y CRIPTOGRAFÍA




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

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

                                y1   =   C·x1   +   D·x2   +   B·x3   +   B·x4
                                y2   =   B·x1   +   F·x2   +   B·x3   +   E·x4
                                y3   =   G·x1   +   D·x2   +   H·x3   +   F·x4
                                y4   =   L·x1   +   B·x2   +   F·x3   +   D·x4

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

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

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

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

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

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

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



                                                     118
7. ÁLGEBRA Y CRIPTOGRAFÍA




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

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

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

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

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

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

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

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




                                            119
7. ÁGEBRA Y CRIPTOGRAFÍA



                                           −1
                        2    3   1   1           3468         8
                                                                      − 346
                                                                        38           50
                                                                                          
                                                 155         346                 346
                                                                                          
                        1    5   1   4                   −   18
                                                                      − 346
                                                                         1
                                                                                −    26
                                                                                          
                        6                      =  346         346                 346
                                                                                          
                              3   7   5               81
                                                            −   92         91
                                                                                −   56
                                                 346         346       346       346   
                        11   1   5   3           − 216       130
                                                                      −   12         34   
                                                 346         346       346       346   

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

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

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

     Las letras obtenidas componen la matriz inversa:

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

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

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

                                                       ↓ X = M –1·Y
            Claro: A T A C A M O S A L A M A N E C E R X X

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


                                                 120
7. ÁLGEBRA Y CRIPTOGRAFÍA




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

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

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

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

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

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


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

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


                                            121
7. ÁGEBRA Y CRIPTOGRAFÍA




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

           Cifrado: H A H P T Ñ M D D Z J G Q G E T D . . .
                           ↓               ↓          ↓            ↓
            Claro:     E N NO M B R E D E LA R E I N A...

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

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

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

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

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

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

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

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



                                               122
7. ÁLGEBRA Y CRIPTOGRAFÍA




      Entonces:

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

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

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

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

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

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

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




                                            123
7. ÁGEBRA Y CRIPTOGRAFÍA




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

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

      Entonces, las ecuaciones de cifrado son las siguientes:

                                      y1 = π ( x1 + R)
                                      y = π ( x + O)
                                      2         2
                                     
                                      y3 = π ( x3 + S)
                                      y4 = π ( x4 + A)
                                     

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

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

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

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

                                        y = f(x, k),

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



                                            124
8
              MÁQUINAS DE ROTORES


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

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


                                            125
8. MÁQUINAS DE ROTORES




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




                             Figura 8.1. Criptógrafo de Wheatstone


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




                                             126
8. MÁQUINAS DE ROTORES




                               Figura 8.2. La rueda de Jefferson.


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

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

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


                                             127
8. MÁQUINAS DE ROTORES




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

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




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


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

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



                                             128
8. MÁQUINAS DE ROTORES




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

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

              Cifrado              Claro               Cifrado             Claro




                  a) Posición inicial                        b) Tras un giro
                                 Figura 8.4. Esquema de un rotor.


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

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




                                               129
8. MÁQUINAS DE ROTORES




                              A        B        C        D        E
                                                ↓
                              D        C        A        E        B

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

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

                             Posición       A     B     C     D    E
                                1           C     E     D     B    A
                                2           D     C     A     E    B
                                3           B     E     D     A    C
                                4           D     C     E     B    A
                                5           B     D     A     E    C
                             Tabla 8.1. Las 5 sustituciones del rotor.


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

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




                                                130
8. MÁQUINAS DE ROTORES




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

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

                     Cifrado                                            Claro




                               Figura 8.5. Tres rotores concatenados.


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

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


                                               131
8. MÁQUINAS DE ROTORES




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

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




                           Figura 8.6. Máquina de rotores de Hebern.


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




                                             132
8. MÁQUINAS DE ROTORES




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

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

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

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


                                            133
8. MÁQUINAS DE ROTORES




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

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




                           Figura 8.7. La máquina americana Sigaba.


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



                                             134
8. MÁQUINAS DE ROTORES




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

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




                                   Figura 8.8 Enigma A.


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

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

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


                                           135
8. MÁQUINAS DE ROTORES




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

                      Reflector   Rotor     Rotor     Rotor         Teclado




                          Figura 8.9. Esquema de los rotores en Enigma.


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

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



                                              136
8. MÁQUINAS DE ROTORES




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

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

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

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

      Tan sólo un año después, en 1927, apareció la siguiente versión de Enigma, el
modelo D. Con únicamente dos diferencias respecto a Enigma C. La primera, que el
teclado va configurado según el estándar alemán, en el orden “QWERTZ...” en lugar del
alfabético “ABCD...” presente en el modelo C. Ello trae consigo una permutación entre
las teclas y los contactos que dan entrada al banco de rotores, en el llamado “Stator”.
Permutación que también debe realizarse entre estos contactos y las lámparas, para
mantener involutivo el cifrado. La segunda diferencia citada está en el reflector, que ahora
puede situarse en 26 posiciones posibles en lugar de las dos permitidas en Enigma C;
aunque tampoco gira durante el cifrado. Esta pequeña diferencia multiplica por 13 el
número de claves. Enigma D se muestra en la Figura 8.10.a).



                                            137
8. MÁQUINAS DE ROTORES




      Las conexiones internas de los rotores con que se equipó a Enigma D se presentan
en la Tabla 8.2. La hemos elaborado con datos del libro de C. A. Deavours y L. Kruh que
incluimos en la bibliografía. Expliquémosla. Según el mencionado texto, los contactos de
los rotores están numerados del 1 al 26 pero en orden inverso a como lo hacen las letras
del anillo exterior, de modo que si se hace coincidir la ‘A’ con el contacto 1, entonces la
‘Z’ lo hace con el 2, la ‘Y’ con el 3, etcétera. Situando así los anillos en los tres rotores,
sus contactos se pueden identificar ya por letras. Hecha esta identificación, las letras en
negrita de la primera fila de la tabla representan a los contactos de la cara del rotor por la
que entra la corriente por vez primera, y las letras de las filas de los rotores corresponden
a los contactos homónimos en la otra cara. Van colocadas en el orden que indica la
conexión. Por ejemplo, en el rotor 1 el contacto ‘A’ se conecta con el ‘L’. La aclaración
anterior no es necesaria para el reflector, ya que su anillo no se desplaza. En su fila hemos
agrupado entre paréntesis los pares de contactos conectados. Por ejemplo, los contactos
‘B’ y ‘M’ están conectados en el reflector. Imaginemos ahora que, sin girar los anillos,
colocamos los rotores en la máquina en la posición en que es visible la letra ‘A’ por la
ventanilla. Entonces los contactos del rotor derecho tocaran a los del Stator y ello nos
permite identificar también con letras a sus contactos. En tal situación, la segunda fila de
la tabla contiene la permutación que tiene lugar entre las teclas y los contactos de Stator.
Y para completar la descripción de Enigma D, señalemos que en los tres rotores la
muesca que hace avanzar al rotor contiguo va junto al contacto 21 (‘G’ en la
configuración anterior) y producirá tal avance después de verse el contacto 2 (‘Z’) en la
ventanilla.

                       A B C D E F G H I J K LMN O P Q R S T U VWX Y Z
           Stator:     J WU L CMN O H P Q Z Y X I R A D K E G V B T S F
           Rotor 1:    L P G S Z MH A E O Q K V X R F Y B U T N I C J DW
           Rotor 2:    S L V G B T F X J Q O H EW I R Z Y AMK P C N DU
           Rotor 3:    C J G D P S H K T U R AWZ X F MY N Q O B V L I E
          Reflector:   (AI) (BM) (CE) (DT) (FG) (HR) (JY) (KS) (LQ) (NZ) (OX) (PW) (UV)

                         Tabla 8.2. Especificaciones de los rotores de Enigma D


      Enigma D fue un gran éxito comercial. Se vendió por todo el mundo. Lógicamente,
la popularidad de la máquina llegó a oídos de muchos ejércitos, quienes consideraron
emplearla como sistema de cifras. Entre ellos el propio ejército alemán, naturalmente.
Pero enseguida se dieron cuenta de las debilidades de Enigma D; de hecho, llegaron a
saber como criptoanalizarla. Conocimiento que mantuvieron en secreto. Por una razón
evidente: para poder acceder a las comunicaciones de ejércitos de otros países que
estuvieran cifrando con Enigma.

      El criptoanálisis de Enigma D derivó también en una versión militar alemana de
Enigma, con dos modificaciones importantes respecto a la comercial que elevaron
considerablemente la seguridad. Este modelo militar se llamó Enigma I y apareció en
junio de 1930.




                                                 138
8. MÁQUINAS DE ROTORES




      La primera modificación, la más significativa desde el punto de vista criptográfico,
es la sustitución de la permutación fija entre el teclado y el Stator por la transformación
variable que proporciona el “Steckerverbindung”. Así denominaron a un panel con 26
enchufes colocado en la parte frontal de la máquina. Puede observarse el “Stecker” en la
Figura 8.10.b), que muestra una imagen de Enigma I.




                 a) Enigma D                                       b) Enigma I
                      Figura 8.10. Versiones comercial y militar de Enigma.


       Cada enchufe del Stecker va asociado a una letra del alfabeto. Mediante cables se
conectan pares de enchufes dando lugar a una permutación involutiva que actúa
doblemente, entre el teclado y el banco de rotores y entre éste y el panel de lámparas. Así,
cada vez que se pulsa una tecla y tras producirse el avance de los rotores, se origina una
corriente eléctrica que circula primero por el Stecker antes de adentrarse en el banco de
rotores. Si un cable conecta el enchufe correspondiente a la letra pulsada con otro, esta
letra se transforma en la asociada al otro enchufe. Tras abandonar el banco de rotores, la
corriente eléctrica pasa de nuevo por el Stecker antes de concluir su viaje en el panel de
lámparas, produciendo el mismo efecto que antes. Esta doble entrada del flujo eléctrico en
el Stecker mantiene el carácter involutivo del cifrado.

     Por otro lado, el Stecker aumenta considerablemente el número de claves. Por
ejemplo, según consta en el manual de operaciones de la Wehrmacht de noviembre de
1939, se empleaban diez cables que conectaban veinte enchufes. Ello puede hacerse de
más de 150 billones de modos diferentes.


                                              139
8. MÁQUINAS DE ROTORES




      La otra diferencia de Enigma I respecto al modelo comercial afecta al movimiento
de los rotores. En la Figura 8.11 mostramos una fotografía de un rotor de Enigma I. En
ella puede verse que la muesca que ocasiona el avance del rotor adyacente está situada en
el anillo exterior, denominado ahora “Ringstellung”. De este modo, el hecho que el
Ringstellung pueda girar con respecto al cuerpo del rotor adquiere sentido criptográfico
en Enigma I. Ahora, la sucesión de sustituciones que genera el movimiento de los rotores
depende de su posición inicial y de la situación del Ringstellung en los rotores central y
diestro. Por lo demás, tal movimiento es idéntico al de la versión comercial. En
contrapartida a esta mejora, el reflector de Enigma I sólo puede colocarse en una única
posición, la cual es invariante durante el cifrado.




                               Figura 8.11. Un rotor de Enigma I.


      Teniendo en cuenta tales modificaciones, una clave en la Enigma militar de 1930
consta de los siguientes cuatro datos: el orden de los tres rotores, que se pueden disponer
de 6 modos distintos; la configuración inicial del Ringstellung, elegida entre 263 =17576
posibles; las posiciones iniciales de los rotores, que de nuevo hay 17576 distintas; y,
finalmente, las conexiones en el Stecker. En total, empleando diez cables en el Stecker, el
número de claves consta de 24 dígitos.

       Obviamente, las conexiones internas de los rotores y el reflector de Enigma I son
también diferentes de la versión comercial. Las hemos incluido en la Tabla 8.3. Las
explicaciones que dimos para la Tabla 8.2 son válidas también para esta otra. Sólo hemos
de añadir que la última columna contiene la letra del anillo de cada rotor que se ve en la
ventanilla cuando éste va a mover el rotor contiguo en la siguiente pulsación. Los tres
rotores con que se dotó la máquina de 1930 se identifican en la Tabla 8.3 con los números
‘I’, ‘II’ y ‘III’, y el reflector con la letra ‘A’. Figuran también otros rotores y reflectores
que fueron apareciendo posteriormente. En 1938 se pusieron en servicio los rotores ‘IV’ y
‘V’, aumentando a cinco el número de rotores disponibles. (Con ello, el número de
selecciones ordenadas de tres de ellos se eleva a 5·4·3 = 60). Un año antes, el reflector ‘B’
había reemplazado al inicial ‘A’; y en 1941 apareció otro reflector, el ‘C’, que se utilizó
conjuntamente con aquel. Por entonces, en plena Segunda Guerra Mundial, varios miles
de Enigmas estaban siendo empleadas.




                                              140
8. MÁQUINAS DE ROTORES




                 A B C    D E F G H I J K LMN O P Q R S T U VWX Y Z
       Rotor I: E K M     F L G D Q V Z N T OWY H X U S P A I B R C J                   Q
      Rotor II: A J D     K S I R U X B L HWTMC Q G Z N P Y F V O E                     E
      Rotor III: B D F    H J L C P R T X V Z N Y E I WG A KMU S Q O                    V
      Rotor IV: E S O     V P Z J A Y Q U I R H X L N F T G K D C MW B                  J
      Rotor V: V Z B      R G I T Y U P S D N H L X A WM J Q O F E C K                  Z
      Rotor VI: J P G     V O U M F Y Q B E N H Z R D K A S X L I C T W M, Z
     Rotor VII: N Z J     H G R C X M Y S W B O U F A I V L P E K Q D T M, Z
     Rotor VIII: F K Q    H T L X O C B J S P D Z R A M E W N I U Y G V M, Z
      Rotor β: L E Y      J V C N I XWP B QMD R T A K Z G F U H O S
      Rotor γ: F S O      K A N U E R HMB T I Y CWL Q P Z X V G J D
        Reflector A:       (AE) (BJ) (CM) (DZ) (FL) (GY) (HX) (IV) (KW) (NR) (OQ) (PU) (ST)
        Reflector B:       (AY) (BR) (CU) (DH) (EQ) (FS) (GL) (IP) (JX) (KN) (MO) (TZ) (VW)
        Reflector C:       (AF) (BV) (CP) (DJ) (EI) (GO) (HY) (KR) (LZ) (MX) (NW) (TQ) (SU)
      Reflector B dünn:    (AE) (BN) (CK) (DQ) (FU) (GY) (HW) (IJ) (LO) (MP) (RX) (SZ) (TV)
      Reflector C dünn:    (AR) (BD) (CO) (EJ) (FN) (GT) (HK) (IV) (LM) (PW) (QZ) (SX) (UY)
              Tabla 8.3. Especificaciones de los rotores en la versión militar de Enigma.


       La armada alemana siempre dudó de la seguridad que ofrecía Enigma y no cesó en
añadir modificaciones que dificultaran el trabajo de posibles criptoanalistas. A partir de
1939 añadió tres nuevos rotores a los cinco que empleaba el resto del ejército: los rotores
‘VI’, ‘VII’ y ‘VIII’. Estos tres rotores exclusivos de la armada tienen la característica de
presentar dos muescas en el Ringstellung en lugar de una, lo que produce un movimiento
más frecuente del rotor adyacente. A partir de 1942, los submarinos alemanes emplearon
una Enigma con cuatro rotores. Su cuarto rotor, identificado con la letra griega ‘β’, no
gira durante el cifrado; aunque puede situarse en las 26 posiciones posibles, entre el
reflector y los otros tres rotores. Un año después, un similar rotor ‘γ’ fue puesto en uso.
Para asegurar la compatibilidad de la nueva máquina de cuatro rotores con la antigua de
tres, dos nuevos reflectores ‘B dünn’ y ‘C dünn’ deben emplearse conjuntamente con los
rotores ‘β’ y ‘γ’, respectivamente. Así, el cifrado con reflector ‘B’ de la máquina de tres
rotores es el mismo que el producido con el reflector ‘B dünn’ y el rotor ‘β’ en la Enigma
de los submarinos. Y en 1944, la armada introdujo dos modificaciones más en su Enigma.
La primera el reflector ‘D’, con la posibilidad de variar sus conexiones internas. La
segunda un dispositivo especial, el ‘Uhr box’. Esta caja se acoplaba al Stecker mediante
20 cables, haciendo no involutiva su permutación. Además, cada hora se movía un dial en
el Uhr box que alteraba dicha permutación.

      Y todavía hubo otras versiones diferentes de Enigma. Una muy conocida es el
modelo ‘Abwehr’, empleado por el servicio secreto alemán. Este aparato no incorpora el
Stecker. En realidad es el modelo comercial ‘D’ con una variación en el movimiento de
los rotores y en sus conexiones internas. Estos, incluido el reflector, se mueven en el
modelo Abwehr mediante un sistema de engranajes en lugar del mecanismo de muescas y
dientes explicado antes.




                                                 141
8. MÁQUINAS DE ROTORES




      En fin, creemos haber dedicado ya suficientes párrafos a la descripción de las
múltiples variantes de la famosa Enigma alemana. Nos la volveremos a encontrar en el
siguiente capitulo, que dedicamos íntegro a su criptoanálisis; quizás el episodio más
interesante y relevante de la historia de la Criptografía.

      Naturalmente, además de la americana y la alemana, hay otras máquinas de rotores.
Casi todos los ejércitos que intervinieron en la Segunda Guerra Mundial tenían su propia
máquina de rotores, diferente del resto. Muy conocidas son también la inglesa “Typex” y
la japonesa “Purple”. No vamos a entrar en su descripción. Aunque no concluimos aquí
esté capítulo. Queda hablar de la máquina de rotores sueca, la que sin duda fue la más
vendida y permitió a su inventor hacer una gran fortuna.

      Es la identificada por su creador, el ingeniero sueco Boris Hagelin, con las siglas
C−38. Apareció en 1938. Un ingenio mecánico de tamaño de bolsillo que funciona sin
corriente eléctrica y que, incluso, imprime el texto cifrado. Con estas características, no es
extraño el éxito comercial que tuvo. Como no emplea la energía eléctrica, no responde al
modelo de máquina de rotores que aquí hemos expuesto. La C−38 es una máquina de tipo
“pin and lug”, mecanismo ideado por el propio Hagelin tres años antes. Trataremos de
explicar su principio describiendo al mismo tiempo el funcionamiento de la C−38.
Aclarará la exposición la Figura 8.12, en la que se muestra la versión de esta máquina
empleada por el ejército americano: el famoso convertidor M−209.




                               Figura 8.12. El M−209 americano.




                                             142
8. MÁQUINAS DE ROTORES




      Puede observarse en la mencionada figura que la máquina contiene un banco de seis
rotores. Estos llevan en su anillo exterior unos pines en número distinto en cada rotor: 26,
25, 23, 21, 19 y 17, respectivamente. Los pines se identifican con sendas letras del
alfabeto. Cada pin puede estar en dos posiciones, una activa y otra inactiva. Junto al
banco de rotores hay un eje horizontal que lleva seis pequeñas barras verticales, una por
cada rotor. Si al girar el rotor un pin activo llega a cierta posición, la diminuta barra
correspondiente se levanta; si el pin esta inactivo, dicha barra se retrae. Puesto que cada
vez que se cifra una letra todos los rotores avanzan una posición, se obtiene una sucesión
de estados (levantados o retraídos) de las seis barritas. El periodo de esta sucesión puede
llegar a ser el maximal: 26·25·23·21·19·17 = 101405848, ya que estos factores no tienen
ningún divisor primo en común.

      Detrás del eje de pequeñas barras se encuentra un cilindro con 27 varillas dispuestas
horizontalmente, asemejándose a una pequeña jaula. Cada varilla lleva dos diminutas asas
(“lugs”). Las asas pueden deslizarse a lo largo de la varilla y colocarse en una de las ocho
posiciones destinadas a ello. Dos de estas posiciones son neutras. Cada una de las otras
seis permite que el asa haga contacto con la pequeña barra asociada al correspondiente
rotor, si es que está elevada. Al cifrar una letra la jaula da una revolución completa. Si
durante esta rotación un asa de una varilla contacta con una barra levantada, la varilla se
desliza hacia la izquierda. Como hay 27 varillas, un número entre 0 y 27 de ellas sufrirán
un desplazamiento en la codificación de una letra; y este número es diferente cada vez,
puesto que así lo es el estado de las seis barras asociadas a los rotores.

      Con este ingenioso mecanismo Hagelin consigue generar una sucesión de enteros
entre 0 y 27, prácticamente aleatorios y cuyo periodo es un número muy grande,
coincidente con el de la serie de estados de las barras. Cada número se utiliza para cifrar
una letra en la manera que explicamos a continuación. En la parte izquierda de la máquina
figura una rueda con las 26 letras del alfabeto en el orden habitual. Para cifrar una letra se
gira esta rueda hasta que dicha letra llega a una posición señalada al efecto. Al mismo
tiempo, el eje de la rueda gira otra que contiene en su borde el alfabeto de cifrado pero
con las letras en orden inverso. Seguidamente, se acciona una manivela situada en la parte
derecha de la máquina. La manivela ocasiona primero un giro completo de la jaula,
imprime el carácter cifrado después y, por último, hace adelantar un paso los seis rotores.
Al revolucionar la jaula, cada desplazamiento de sus varillas ocasiona un avance de la
rueda que contiene el alfabeto de cifrado, trayendo una nueva letra de este alfabeto a la
posición marcada. Seguidamente, el dispositivo de impresión es activado por la acción de
la manivela y graba la letra resultante en una cinta de papel. Las varillas deslizadas
retornan a su posición inicial y, por último, los seis rotores avanzan un paso trayendo una
nueva configuración de las pequeñas barras y concluyendo así el ciclo de cifrado.

      La codificación de una letra puede describirse mediante una ecuación si hacemos
uso de la aritmética de letras introducida en el tema anterior. Como allí hicimos,
identifiquemos la ‘A’ con el 0, la ‘B’ con el 1, la ‘C’ con el 2, etcétera. Tanto el alfabeto
en claro como el de cifrado están grabados en el borde de sendos discos unidos por un
mismo eje. Este segundo alfabeto sigue el orden inverso y ello ocasiona que la ‘A’ del
alfabeto en claro se corresponda con la ‘Z’ del alfabeto de cifrado, la ‘B’ con la ‘Y’, la



                                             143
8. MÁQUINAS DE ROTORES




‘C’ con la ‘X’ y así sucesivamente. La ecuación que relaciona una letra α del alfabeto en
claro con otra β del de cifrado es entonces β=25−α. El mecanismo de cifrado no hace
sino girar un número de pasos π el eje de los alfabetos. Añadiendo π al lado derecho de la
ecuación anterior, tenemos ya la expresión que nos relaciona una letra α con su cifrada β:
                                       β=25−α+π.
      Despejando α en esta igualdad, α=25−β+π . La misma ecuación. Ello significa que
la máquina produce un cifrado involutivo. La misma clave sirve a la vez para cifrar y
descifrar.

      Hablar de ellas es lo único que falta para describir completamente el criptosistema
que implementa el ingenio de Hagelin. Cada clave está constituida por los siguientes tres
datos: el estado activo o inactivo de los pines, la posición inicial de los rotores y la
disposición de las pequeñas asas o lugs. Hay en total 131 pines que se pueden configurar
de 2131 modos diferentes. El número de posiciones iniciales de los seis rotores es el ya
mencionado producto 26·25·23·21·19·17 = 101405848. Las dos asas de una varilla pueden
colocarse de (8·7)/2=28 modos diferentes. Como hay 27 varillas obtenemos 27·28=756
maneras distintas de colocar las asas. El producto 2131·101405848·756 da el número de
claves disponibles, una cifra que supera a 1050. En la práctica, la máquina se utilizaba
manteniendo la misma configuración de pines y lugs durante un periodo de tiempo
determinado, un día o una semana por ejemplo; pero la posición inicial de los rotores
variaba con cada mensaje. Usando así la máquina, la posición inicial de los rotores debe
transmitirse en claro junto con el mensaje cifrado.

       Además de escribir el texto cifrado, la máquina incorpora un contador que muestra
el número de letras cifradas en cada momento. En caso de error, un botón permite
regresar al estado anterior para corregirlo. Si la máquina se queda sin papel puede verse la
letra cifrada en la rueda correspondiente. En fin, toda una maravilla mecánica. Su único
punto débil es la seguridad del criptosistema que proporciona. En un ataque con texto
pleno, un criptoanalista puede recuperar la configuración de pines y lugs y a partir de ahí
el resto de mensajes cifrados con esa misma configuración. También es posible un ataque
con texto cifrado únicamente, pero se requiere una alta capacidad de cálculo.

      Al igual que otras máquinas anteriores de Hagelin, la C−38 tuvo una buena acogida
en algunos países europeos. En 1940, cuando Hitler ya había conquistado media Europa,
Hagelin viajó secretamente de Estocolmo a Washington con 50 ejemplares de la C−38. La
máquina encantó al ejército americano y decidió incorporarla como sistema criptográfico
de nivel medio, sustituyendo al cilindro criptográfico M−94. En 1942, la compañía de
máquinas de escribir “Smith & Corona” inició la producción en serie del criptógrafo de
Hagelin con la denominación militar de convertidor M−209. Más de ciento cuarenta mil
unidades fueron fabricadas.

      Al terminar la guerra, el ahora multimillonario Boris Hagelin regresó a Suecia.
Enseguida se dio cuenta que el negocio de la Criptografía no había concluido con la
guerra. Los nuevos países que surgieron de ella constituían un mercado potencial mayor
incluso que el que había antes del conflicto. En 1948, Hagelin fundó en la pequeña ciudad



                                            144
8. MÁQUINAS DE ROTORES




suiza de Zug la compañía “Crypto AG”, dedicada exclusivamente a la Criptografía. La
razón del traslado a Suiza fue el obstáculo que el gobierno sueco puso al desarrollo de
esta disciplina, freno inexistente en Suiza. Desde su fundación y aún en la actualidad,
Crypto AG ha sido una empresa boyante, cuya producción no ha conocido crisis alguna.




                                         145
Libro criptografia
9
         CRIPTOANÁLISIS DE ENIGMA


      En 1974, el que fuera oficial del servicio de inteligencia británico, Frederik W.
Winterbotham, se atrevió a revelar en su libro “The Ultra Secret” lo que todavía era un
secreto oficial: que durante la Segunda Guerra Mundial los aliados habían descifrado
regularmente la correspondencia militar alemana y que ello les había proporcionado una
gran ventaja en sus confrontaciones bélicas con el ejército alemán. El libro despertó un
gran interés en Gran Bretaña y Estados Unidos, y acabó vendiéndose por todo el mundo.
No era la primera publicación acerca de tal hecho, pero sí la que despertó la curiosidad
por el tema de numerosos historiadores y criptógrafos. Tras el de Winterbotham, una
sucesión de textos fueron descubriendo poco a poco como se logró penetrar en Enigma.
Es, con diferencia, el episodio más contado de toda la historia de la Criptografía. También
el más fascinante.

      Explicar detallada y razonadamente los diferentes métodos que se emplearon en el
criptoanálisis de Enigma es complicado, requiere un libro entero. Y emplear unas
matemáticas que superan el nivel elemental que aquí hemos decidido no sobrepasar.
Limitados entonces por los objetivos marcados en este texto, nos conformaremos con un
amplio resumen. Su lectura requerirá estar familiarizado con la máquina. De ella se hizo
una descripción detallada en el capítulo anterior y a él nos remitimos.

       Hay que comenzar con el criptoanálisis de las versiones comerciales de Enigma.
Esta labor se inició a finales de los años veinte, en la Government Code & Cypher School
(GCCD), la oficina de inteligencia británica que sucedió a la Habitación 40 tras la
Primera Guerra Mundial. Uno de sus miembros, Hugh Foss, encontró un complicado
método para penetrar en el cifrado de Enigma. Pocos años después, el también
perteneciente a la GCCD, Alfred ‘Dilly’ Knox, desarrolló y perfeccionó dicho método. El
mismo Knox lo puso en práctica durante la Guerra Civil española, criptoanalizando la
máquina Enigma empleada por la armada italiana. (La Enigma comercial identificada con
la letra K, pero con las conexiones internas de los rotores alteradas. Este modelo K era
muy similar al que llamamos D en el tema anterior.) Según los británicos, el trabajo de
Knox fue de enorme ayuda a la Royal Navy en la trágica batalla del cabo Matapán, en
1941. En ella, la flota italiana sufrió enormes pérdidas.


                                           147
9. CRIPTOANÁLISIS DE ENIGMA




      Tratar de explicar el método de Knox, al que los ingleses denominaron ‘rodding’, es
el objetivo de los siguientes párrafos. Exactamente: mostraremos como criptoanalizar un
texto cifrado con Enigma D en el supuesto que se disponga de un ejemplar de la máquina
y que se haya identificado un pequeño fragmento de texto en claro. En tal caso, el método
de Knox proporciona la clave. Con ella se puede descifrar completamente el mensaje.

      Acceder a un ejemplar de Enigma sólo está al alcance de unos pocos y nosotros no
estamos entre ellos. Por fortuna, el ordenador puede suplir esta carencia. No es difícil
elaborar un programa que simule el cifrado de una máquina de rotores. Naturalmente, se
necesita conocer su mecanismo y las conexiones internas de los rotores. Aprovechando la
detallada descripción que de Enigma D hicimos en el capítulo anterior, y con los datos de
la Tabla 8.2, hemos construido en el ordenador un simulador de esta máquina. Con él
hemos cifrado cierto texto en claro. El criptograma resultante, agrupando las letras en
bloques de cinco, es el siguiente:

       WUZKV OKXKW ARHZO THRQC AKVBA NBKOV KTESD LUAVO
       DOKIP RMLRJ EYBXU MLQSS CJHNY KKCVJ SAR

      Del texto en claro sabemos que comienza por ‘CGXINFORMAX...’ (CG es
abreviatura de Cuartel General. La X se utiliza como separador de palabras, hecho común
en cifrados con Enigma). Este pequeño trozo va a ser suficiente para determinar la clave
que, recordemos, consta de los siguientes datos: la posición inicial de los anillos respecto
al cuerpo de los rotores, el orden de éstos al colocarlos en la máquina y la posición inicial
de rotores y reflector.

      En primer lugar, como ya señalamos en la descripción de Enigma D efectuada en el
capítulo anterior, girar inicialmente los anillos de sus rotores es una operación redundante
ya que ello no afecta al movimiento de los mismos. Así, por ejemplo, girar un anillo de un
rotor situando la A sobre el contacto 4 y luego colocar el rotor en la máquina viendo la N
por la ventanilla equivale a colocar la A del anillo encima del contacto 1 y disponer el
rotor viendo la K por la mencionada ventanilla. En consecuencia, en nuestro
criptoanálisis, podemos muy bien suponer que los anillos de los rotores están situados con
la A junto al contacto 1.

      Hecha esta aclaración, fijémonos en la Figura 9.1, que esquematiza el cifrado de
Enigma al pasar la corriente eléctrica por el banco de rotores. Primero atraviesa el Stator,
luego los rotores derecho, central e izquierdo, se refleja en el reflector y deshace el
camino anterior hasta concluir su viaje en el panel de lámparas. Antes de ello, se ha
producido el avance de los rotores. Pero este movimiento se limita casi exclusivamente al
rotor derecho, que adelanta un paso con cada letra. El central lo hace cada 26 letras, y el
izquierdo cada 650. Así, hay fragmentos de 26 letras en los que únicamente el rotor
derecho se mueve. El bloque formado por el reflector y los rotores izquierdo y central
permanece inmóvil, se comporta como un reflector fijo. Este es el punto débil de Enigma
que aprovecha el método que concibió Knox. Veámoslo.




                                            148
9. CRIPTOANÁLISIS DE ENIGMA




                                                                         Texto en claro

                                                                        CGXINFORMAX


                                                                        WUZKVOKXKWA
   Reflector    Rotor       Rotor                   Stator               Texto cifrado

                          Figura 9.1. Esquema de cifrado en Enigma D.


      El punto de partida es que la máquina ha transformado el fragmento de texto en
claro ‘CGXINFORMAX’ en las once primeras letras del criptograma: ‘WUZKVOKXKWA’.
Como disponemos de la máquina, conocemos la sustitución que proporciona el Stator. En
consecuencia, podemos determinar el transformado del trozo en claro tras su paso por el
Stator. Y también el correspondiente fragmento de texto cifrado antes de atravesar dicho
Stator. La ya citada Tabla 8.2 incluye la sustitución del Stator; con ella deshacemos su
acción:

               UNTHXMIDYJT                                              CGXINFORMAX
                                                 Stator
               BGFQVIQTQBJ                                              WUZKVOKXKWA

       Supongamos ahora que con los nuevos fragmentos de texto repetimos la acción
anterior, empleando un rotor en lugar del Stator. Obtenemos otros dos trozos. Llamemos
C1 al transformado del fragmento ‘UNTHXMIDYJT’ y D1 al de ‘BGFQVIQTQBJ’.
Sucede que si el rotor empleado es el rotor derecho de la clave y en la posición inicial
correcta, entonces C1 y D1 son “isomorfos”, según explicamos a continuación. En el
proceso de cifrado, C1 se transforma en D1 mediante la acción del bloque constituido por
el reflector y los rotores izquierdo y central. Si durante esta transformación tal bloque ha
permanecido inmóvil, ha actuado como un reflector fijo; esto es, ha tenido lugar una
sustitución involutiva. Ello implica que, por ejemplo, si una A en C1 se cambia una vez
por una P en D1, entonces toda A de C1 se transforma en P en D1 y viceversa: toda P de
C1 se sustituye por A en D1. En esto consiste el isomorfismo. Puede suceder que, durante
la transformación de C1 en D1, el rotor central haya avanzado (recordemos que ello
ocurre tras verse la Z del rotor derecho en la ventanilla correspondiente.) En tal caso,
puesto que los fragmentos de texto tienen sólo once letras, lo habrá hecho una o dos veces
seguidas (en este segundo caso, el rotor central habrá movido también al izquierdo.) Ello
rompe el isomorfismo entre C1 y D1. Aunque entonces estos fragmentos se parten en dos
trozos en los que el rotor central está inmóvil y, en consecuencia, son isomorfos.

      Por lo general, si C1 y D1 se obtienen con un rotor diferente al rotor derecho de la
clave o con el mismo rotor pero en una posición inicial distinta, entonces C1 y D1 no son
isomorfos.




                                             149
9. CRIPTOANÁLISIS DE ENIGMA




       El isomorfismo permite averiguar el rotor derecho de la clave y su posición de
partida. Para ello, hemos de contemplar todas las posibilidades para C1 y D1 y determinar
cuando o bien son isomorfos o bien se parten en dos trozos que lo son. Puesto que hay
tres rotores disponibles y 26 posiciones iniciales, el número de textos C1 y D1 diferentes
es 3·26 = 78. Su cómputo es posible porque conocemos las conexiones internas de los
rotores (figuran en la Tabla 8.2). Si se hace “a mano”, empleando lápiz y papel
únicamente, es un proceso muy lento y tedioso que requiere disponer de sendas tablas en
las que figuren las 26 sustituciones de un rotor en función de su posición en cada
momento. Por ejemplo, la Tabla 9.1 contiene estas transformaciones para el rotor número
1 de Enigma D. La letra de la primera columna representa la letra que se observa en la
ventanilla en cada posición y la fila de letras que sigue indica la sustitución que tendrá
lugar en esa posición. Así, por ejemplo, si el rotor está en la posición K, al pulsar la tecla
L esta letra se transforma en R.

             A   B   C   D   E   F    G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
        Z:   L   P   G   S   Z   M    H   A   E   O   Q   K   V   X   R   F   Y   B   U   T   N   I   C   J   D   W
        A:   O   F   R   Y   L   G    Z   D   N   P   J   U   W   Q   E   X   A   T   S   M   H   B   I   C   V   K
        B:   E   Q   X   K   F   Y    C   M   O   I   T   V   P   D   W   Z   S   R   L   G   A   H   B   U   J   N
        C:   P   W   J   E   X   B    L   N   H   S   U   O   C   V   Y   R   Q   K   F   Z   G   A   T   I   M   D
        D:   V   I   D   W   A   K    M   G   R   T   N   B   U   X   Q   P   J   E   Y   F   Z   S   H   L   C   O
        E:   H   C   V   Z   J   L    F   Q   S   M   A   T   W   P   O   I   D   X   E   Y   R   G   K   B   N   U
        F:   B   U   Y   I   K   E    P   R   L   Z   S   V   O   N   H   C   W   D   X   Q   F   J   A   M   T   G
        G:   T   X   H   J   D   O    Q   K   Y   R   U   N   M   G   B   V   C   W   P   E   I   Z   L   S   F   A
        H:   W   G   I   C   N   P    J   X   Q   T   M   L   F   A   U   B   V   O   D   H   Y   K   R   E   Z   S
        I:   F   H   B   M   O   I    W   P   S   L   K   E   Z   T   A   U   N   C   G   X   J   Q   D   Y   R   V
        J:   G   A   L   N   H   V    O   R   K   J   D   Y   S   Z   T   M   B   F   W   I   P   C   X   Q   U   E
        K:   Z   K   M   G   U   N    Q   J   I   C   X   R   Y   S   L   A   E   V   H   O   B   W   P   T   D   F
        L:   J   L   F   T   M   P    I   H   B   W   Q   X   R   K   Z   D   U   G   N   A   V   O   S   C   E   Y
        M:   K   E   S   L   O   H    G   A   V   P   W   Q   J   Y   C   T   F   M   Z   U   N   R   B   D   X   I
        N:   D   R   K   N   G   F    Z   U   O   V   P   I   X   B   S   E   L   Y   T   M   Q   A   C   W   H   J
        O:   Q   J   M   F   E   Y    T   N   U   O   H   W   A   R   D   K   X   S   L   P   Z   B   V   G   I   C
        P:   I   L   E   D   X   S    M   T   N   G   V   Z   Q   C   J   W   R   K   O   Y   A   U   F   H   B   P
        Q:   K   D   C   W   R   L    S   M   F   U   Y   P   B   I   V   Q   J   N   X   Z   T   E   G   A   O   H
        R:   C   B   V   Q   K   R    L   E   T   X   O   A   H   U   P   I   M   W   Y   S   D   F   Z   N   G   J
        S:   A   U   P   J   Q   K    D   S   W   N   Z   G   T   O   H   L   V   X   R   C   E   Y   M   F   I   B
        T:   T   O   I   P   J   C    R   V   M   Y   F   S   N   G   K   U   W   Q   B   D   X   L   E   H   A   Z
        U:   N   H   O   I   B   Q    U   L   X   E   R   M   F   J   T   V   P   A   C   W   K   D   G   Z   Y   S
        V:   G   N   H   A   P   T    K   W   D   Q   L   E   I   S   U   O   Z   B   V   J   C   F   Y   X   R   M
        W:   M   G   Z   O   S   J    V   C   P   K   D   H   R   T   N   Y   A   U   I   B   E   X   W   Q   L   F
        X:   F   Y   N   R   I   U    B   O   J   C   G   Q   S   M   X   Z   T   H   A   D   W   V   P   K   E   L
        Y:   X   M   Q   H   T   A    N   I   B   F   P   R   L   W   Y   S   G   Z   C   V   U   O   J   D   K   E
                                     Tabla 9.1. Las sustituciones del rotor nº 1.


      El cálculo a mano de todos los fragmentos C1 y D1 se acelera notablemente
empleando tiras de papel deslizantes confeccionadas con las columnas de estas tablas. De
ahí el nombre de ‘rodding’ al método de Knox. Imaginamos que en tiempos de Enigma
los criptoanalistas ingleses utilizarían máquinas electromecánicas con las que obtendrían
rápidamente todos los fragmentos C1 y D1 posibles. Hoy en día, el ordenador lo hace al
instante. Con su ayuda hemos elaborado la Tabla 9.2, en la que figuran los textos C1 y D1
para cada posición inicial del rotor 1 de Enigma D. En ella, hemos situado C1 sobre D1
para que se observe mejor si son isomorfos. A su lado, en la izquierda, figura la posición


                                                          150
9. CRIPTOANÁLISIS DE ENIGMA




inicial del rotor. A partir de la posición P los textos están partidos en dos. Ello es porque
el rotor ha llegado a la posición Z durante su movimiento, ocasionando a continuación el
avance del rotor central. Este momento lo representa el espacio en blanco que parte en
dos los fragmentos.

                NQGNLWLJZLI             JZOHDXUDOXC                 DODLXRJH DPG
             Z: PZYQSSWEVHJ          I: HONUROXYJBN          R: BDCPFPTV YFI
                HDZGBOYCRJO             PSAAWANWGND                 EGWWQSB SVIZ
             A: FCBJGLCHNAC         J: AQPFAURZMUY            S: URQZXJG TAQS
                AVFQMMQMUCA             BKUUGQFQIYW                 XJJCKL EYJSF
             B: QLKDJYVXBKW         K: KIHLBNJSVOE            T: OUTAVB YMSWT
                GXYRSFSNDWU             VYMNHBTJAEJ                 KSBOD VNKMTY
            C: WMLWZQNIELP          L: LGFXUFMCWHQ           U: HKJTO EAGQIM
                ZPQKEZKGEPM             NBPTAHWPYQB                 CTDI JWOECMQ
            D: IFECKSBOUEV          M: EZYRETVDPNK            V: NVUG INSZJCZ
                RNEXYSITXVP             QRYMNTMIRKD                 EMV ACPHWNZE
             E: CPOVQKEAFRO         N: RTSJFWWWZGC           W: GBA YBOQFDUR
                FGHPQYBLHOY             ZCZEFNXALCV                 WW TDUCRZTRH
             F: UQPNCIUULJG         O: JMLMYMPJAYF            X: YN MAHHJYWXT
                IAXRTRVNIGZ             AISSHFDOEF T                U XMMIUSIFTX
            G: XJIBWBFMXLU          P: LSRVLXZBTM O Y: M HGSARDQCGL
                YTIJCJOFBUS             TUCVZIPRK OM
            H: GWVEOVLPRDX          Q: DLKWDDADG PP
                               Tabla 9.2. Los fragmentos C1 y D1.


      Fijémonos, por ejemplo, en los trozos C1 y D1 obtenidos con el rotor 1 en su
posición inicial Z. No son isomorfos porque en D1 figuran dos S consecutivas y encima
de ellas dos letras diferentes en C1. Observemos ahora los primeros trozos de C1 y D1
correspondientes a la posición inicial U. Vemos una K sobre una H y a continuación una
S sobre una K. Si fueran isomorfos, la S debería ser H. En cambio, los textos que figuran
al lado de la posición G sí son isomorfos: la I y la X se emparejan tres veces, la R y la B
dos. Muy probablemente, el rotor derecho de la clave es el número 1 y en la posición G.
Aunque también es posible la posición W, la única que no permite confirmar o descartar
el isomorfismo por no repetirse las letras en ninguno de los dos trozos en que se han
partido C1 y D1. Continuemos el criptoanálisis suponiendo que el rotor derecho de la
clave es el número 1 en la posición inicial G. Si llegamos a una contradicción, habrá que
considerar la posición W. Si de nuevo se alcanza una contradicción, habrá que probar con
otro rotor.

      El siguiente paso es averiguar el rotor central y su posición inicial. Para ello, es
necesario observar el cambio de isomorfismo que se produce en los textos C1 y D1
cuando avanza el rotor central. Como ya hemos dicho en varias ocasiones, tal avance se
produce tras llegar el rotor derecho a la posición Z. Si éste parte de la G, llegará a la Z
tras 19 letras codificadas. En consecuencia, el cambio de isomorfismo no se observará en
fragmentos con menos de 20 letras. Es lo que sucede con nuestros C1 y D1: sólo tienen
once letras. Si no los ampliamos más allá de 20 letras, nuestro criptoanálisis se detendrá.




                                              151
9. CRIPTOANÁLISIS DE ENIGMA




       Podemos ampliar el fragmento D1 más allá de 20 letras porque disponemos de la
totalidad del texto cifrado. Sólo tenemos que repetir el proceso anterior con una porción
mayor de texto cifrado. Pero, en principio, esto no es posible con C1 ya que
desconocemos como continúa el trozo de texto en claro del que hemos partido. Aunque
quizás nos ayude el isomorfismo descubierto. Veámoslo. En primer lugar, alarguemos D1
repitiendo lo anterior con las 26 primeras letras del texto en claro:

                     D1: XJIBWBFMXLUQHCXPNRX               NPSAHMM

      El espacio en blanco que hemos añadido corresponde al momento que el rotor llega
a la posición Z. Hasta ese espacio, podemos añadir letras a C1 en virtud del isomorfismo
ya conocido: encima de la X una I, sobre la N una M... Descubrimos cuatro nuevas letras
en C1:

                           C1:    IAXRTRVNIGZ***I*MBI
                           D1:    XJIBWBFMXLUQHCXPNRX

      Obtengamos las letras del texto en claro que corresponden a las cuatro letras
recuperadas. Para ello, las sometemos primero a la acción inversa del rotor número 1 y
después a la del Stator. Por ejemplo, efectuemos esta operación con la I que ocupa el
decimoquinto lugar. Después de quince pasos, el rotor ha llegado a la posición U. En la
Tabla 9.1, la I de la fila correspondiente a la posición U está en la columna D; por tanto,
la sustitución inversa del rotor cambia la I por la D. Y como según la Tabla 8.2 la D es la
transformada de la R mediante el Stator, resulta que la R es la letra decimoquinta del texto
en claro. De igual modo procederíamos con las otras tres letras y descubriríamos sus
asociadas en el texto en claro. Tras hacerlo, éste queda así:

                        Texto en claro: CGXINFORMAX***R*QUI
                                    C1: IAXRTRVNIGZ***I*MBI

      Hemos de completar los trozos reemplazando los asteriscos por las letras correctas.
El modo de hacerlo es conjeturar con letras que den sentido al texto en claro y que, al
transformarlas, mantengan el isomorfismo entre C1 y D1. O, recíprocamente, suponer
letras en C1 que no contradigan el isomorfismo y que al trasladarlas al texto en claro
conserven el significado. Esta es la parte más delicada del criptoanálisis, donde la
intuición es más eficaz que la argumentación. Por ello, mejor presentamos ya los trozos
completos:

                        Texto en claro: CGXINFORMAXSEXREQUI
                                    C1: IAXRTRVNIGZOPDIHMBI
                                    D1: XJIBWBFMXLUQHCXPNRX

      Ya hemos llegado hasta el espacio en blanco en C1. Pero debemos superar la
barrera que representa. Sólo es posible recurriendo de nuevo al texto en claro. En él
parece asomar una forma impersonal de los verbos requerir o requisar. Probemos con
‘requiere’. Si acertamos, habremos prolongado correctamente C1 con tres letras más.


                                            152
9. CRIPTOANÁLISIS DE ENIGMA




Pasando ‘ERE’ primero por el Stator y después por el rotor 1 (que ha llegado a la posición
Z), obtenemos:

                       C1:    IAXRTRVNIGZOPDIHMBI             GYX
                       D1:    XJIBWBFMXLUQHCXPNRX             NPS

      Notemos como ha cambiado el isomorfismo tras el espacio en blanco: Antes de él,
la G se emparejaba con la L, después va asociada a la N. Como decíamos, tal cambio
permite descubrir el rotor central y su posición inicial en la clave. Y del mismo modo que
antes: Sometemos los textos C1 y D1 a la acción de otro rotor en cada una de sus 26
posiciones iniciales. Aquella en la que los textos resultantes presenten el mismo
isomorfismo antes y después del espacio en blanco será, muy probablemente, la posición
correcta en la clave. Si tal circunstancia no se observa en ninguna posición, habrá que
probar con el otro rotor.

       En la Tabla 9.3 se presentan los 26 transformados de los textos C1 y D1 con el rotor
2 en cada una de sus posiciones iniciales posibles. Esta tabla puede obtenerse rápidamente
incluso a mano, ya que el rotor central sólo avanza una vez, tras el espacio en blanco.
Naturalmente, necesitamos una tabla similar a la 9.1, en la que figuren las sustituciones
que produce el rotor número 2 en cada una de sus 26 posiciones. Si examinamos la Tabla
9.3, únicamente en la posición Q se observa idéntico isomorfismo antes y después del
espacio en blanco. Ello es porque, en efecto, el rotor central es el número 2 y su posición
inicial es la Q.

       Ya no es necesario prolongar los nuevos fragmentos para revelar completamente la
clave. Sometemos los dos textos proporcionados por el rotor 2 en su posición inicial Q a
la acción del tercer y último rotor, en sus 26 posiciones iniciales posibles. (Durante esta
operación, este rotor no gira porque el central no llega a la posición Z.) Obtendremos una
tabla similar a la 9.3. Seguidamente, nos ayudamos de otra tabla en la que figuren las 26
sustituciones involutivas del reflector en función de su posición inicial. Debe haber una
casilla en cada una de estas dos últimas tablas en las que se observen los mismos
emparejamientos de letras. Tales casillas corresponderán, respectivamente, a la posición
inicial del rotor izquierdo y del reflector. Pero no detallamos esta última parte del
criptoanálisis y dejamos que el lector interesado complete la clave y descifre el mensaje.




                                           153
9. CRIPTOANÁLISIS DE ENIGMA




            JSNYMYPWJFUIRGJXELJ WTC                   YSEUHULIYOVGZFYARKY ZUB
         Z: NQJLCLTENHKZXVNRWYN HYL M: EDYKXKMREBTJAWEZIUE FIG
            JSNYMYPWJFUIRGJXELJ WTC                   CJBOSOWFCZRYIMCXHVC WQT
         A: NQJLCLTENHKZXVNRWYN HYL N: BPCVDVNHBQKTXEBIFOB XSR
            PKCZJZBHPWRQYAPIVUP HQS                   OUTFJFCXOWIHSKOBEDO AHP
         B: CNPUMUEVCDOXIFCYHZC PWI O: TZODADYETGVNBLTSXFT GMI
            MTSKNKLPMHJXWRMOGEM NIP                   YCPQUQZGYATRMLYNWKY MSG
         C: SFMEBEVGSUAYOZSWPKS WXM P: POYKSKVWPDBENJPMGQP QDT
            EDPHZHAWENSVXCELOYE KRH                   NJGHAHRQNMBLDWNXFIN WAR
         D: PBEYRYGOPFKJLQPXWHP UIY Q: GENIOIZFGVYPXKGDQHG KOZ
            AXHLJLQUAKCWITADVPA CBQ                   DHRSXSNKDWICOTDMPJD LHZ
         E: HSAPOPMVHNZGDBHIULH VFI R: RBDJFJLPREQGMVROKSR BFW
            ROQXYXNVRCWHFERZTAR YVA                   AIZYPYEBALGNFXACJUA BFG
         F: QDRAGAJTQUPKZSQFVXQ GJX S: ZTAUQUVJZOMRCSZFBYZ MQO
            CZAHOHFGCYNEJKCQURC PMU                   STGVLVPMSBHEQJSZARS YGE
         G: ALCRPRBUASMWQDAJGHA DVN T: GCSRYRKAGIDXZWGQMVG DWK
            KQUWLWODKPYIVHKBFCK AXL                   BQENCNXDBYSPWTBRLVB QRF
         H: USKCZCXFUTEGBJUVDWU HFK U: EMBVFVALEZOURIEWDNE OTB
            RBLMDMYHRAPUFZRJCIR IOW                   LUFJNJEOLQPVTILACHL ZOQ
         I: LQRITIOCLENVJGLFHML TUC V: FGLHDHXCFKWMASFTOJF ULM
            PHWJMJSTPIAEUVPQGFP PZN                   FGQAVACUFZTSLYFKNRF JSN
         J: WRPFKFZGWBXLQYWUTJW DKL W: QXFRERPNQBDIKHQLUAQ RHU
            QENBWBJDQPGTKMQOSXQ NFY                   WQNLCLDRWJFKHVWETGW DER
         K: NCQXVXHSNFRIOUNKDBN SHV X: NIWGPGYTNMBZEXNHRLN JYB
            BWYKQKUSBNDJHXBPCTB OCE                   HFRTATOJHDPGYNHVQWH UDN
         L: YZBTMTOCYRIAPLYHSKY IZP Y: RZHWMWIQRSCKVURYJTR FRA
                         Tabla 9.3. Transformados de los textos C1 y D1.


      Recordemos que el laborioso criptoanálisis anterior ha partido del supuesto que se
disponga de un ejemplar de Enigma D y que se haya identificado un pequeño fragmento
de texto en claro. En tiempos de Enigma, tal situación no era irreal en la práctica. El
volumen de las comunicaciones que ya tenía lugar entre las unidades de un ejército
requería emplear muchas máquinas cifradoras. Tarde o temprano, alguna caía en manos
enemigas. Por otro lado, muchos mensajes militares se estructuraban siempre de la misma
manera, incluyendo en su cabecera o su final fragmentos que indicaban quien emitía el
mensaje y a quien iba dirigido. Con frecuencia, la identificación del emisor y del receptor
de estos mensajes proporcionaba trozos de texto en claro. En la GCCS llamaron cribs
(chuletas) a estos fragmentos de texto en claro.

      Los alemanes también conocían el método anterior. Está comprobado que lo
emplearon para acceder a las comunicaciones suizas durante la Segunda Guerra Mundial.
Suiza, al igual que Italia y otras naciones europeas, empleaba una versión comercial de
Enigma. Fruto del criptoanálisis alemán es la inclusión del panel de enchufes en la parte
frontal de la versión militar, el Stecker. Con él, la seguridad de Enigma aumenta de forma
considerable. Incluso hubiera sido indescifrable de no ser por... Pero mejor lo contamos
más despacio.

       Tras la Primera Guerra Mundial, el tratado de Versalles trajo la reducción del
ejército alemán a poco más de 100.000 hombres y el desmantelamiento de gran parte de


                                              154
9. CRIPTOANÁLISIS DE ENIGMA




sus estructuras militares. Una de ellas, su oficina de cifras. Como consecuencia, las pocas
comunicaciones cifradas se hacían de un modo muy simple, frecuentemente mediante
transposiciones. Eran fácilmente criptoanalizadas por los servicios de inteligencia de los
países vencedores de la Primera Guerra Mundial. Pero esta situación duró muy poco. A
finales de los años veinte, los aliados interceptaron algunas comunicaciones militares
alemanas que ya no seguían los simples patrones empleados hasta ese momento. Eran las
pruebas que el ejército alemán estaba realizando con el nuevo criptosistema que pensaba
adoptar, basado en la versión militar de Enigma. Entró en vigor en junio de 1930. A partir
de entonces, los aliados dejaron de acceder a las comunicaciones de un ejército alemán en
expansión.

       El análisis de los mensajes cifrados mostraba que la nueva cifra alemana era un
sistema polialfabético, con un periodo que superaba la longitud de los textos y con una
clave que cambiaba diariamente. Todo indicaba que Alemania había adoptado un
criptosistema basado en una máquina de rotores y contra el que no se conocía
criptoanálisis alguno. Por otra parte, el mencionado análisis reveló una curiosa norma que
afectaba a las seis primeras letras de los criptogramas y que enseguida fue observada por
los criptoanalistas: Todos los textos cifrados de un mismo día que coincidían en su
primera letra, lo hacían también en la cuarta. La misma regla seguían la segunda y quinta
letras. Y también la tercera y sexta. Pero estas coincidencias no abrieron ninguna grieta en
la cifra alemana. Parecía impenetrable.

      La razón de la regla anterior está en el modo de cifrar con Enigma que inicialmente
se escogió y que permaneció vigente hasta el 15 de septiembre de 1938. Hasta esa fecha,
antes de cifrar un mensaje, el operador encargado de hacerlo debía disponer la máquina
según la configuración inicial que se indicaba en la correspondiente “Tageschlüssel”, o
clave del día. Cada una de ellas constaba de los siguientes datos:
      1. El orden de los tres rotores disponibles (“Walzenlage”) y la posición de sus
         anillos (“Ringstellung”).
      2. Las conexiones del Stecker, que hasta noviembre de 1936 fueron seis
         exactamente. Después de esta fecha y hasta fin de 1938, su número varió entre
         cinco y ocho.
      3. La posición inicial de los rotores en la máquina (“Grundstellung”), determinada
         por las letras visibles en la ventanilla.

      El Grundstellung y las conexiones del Stecker eran diferentes en cada
Tageschlüssel. Pero el orden de los rotores y el Ringstellung se mantenían durante un
trimestre. No obstante, este periodo se redujo a un mes a partir de enero de 1936. Y desde
octubre de ese mismo año, todos los datos variaron ya diariamente.

      Un ejemplo de Tageschlüssel es el siguiente:




                                            155
9. CRIPTOANÁLISIS DE ENIGMA




      Walzenlage        Ringstellung             Stecker                Grundstellung
      I III II           X P R             AT DS IJ MO WZ XY              D E O
                              Tabla 9.4. Ejemplo de Tageschlüssel.


       Una vez situada Enigma en la posición indicada en la clave del día, el emisor del
mensaje elegía tres letras al azar y las cifraba dos veces. Las seis letras resultantes
encabezaban el texto cifrado. Por ejemplo, si el trío de letras escogidas por el operador es
‘amx’, éste cifraba el fragmento ‘amxamx’. Si, por ejemplo, obtenía ‘PHBCJZ’, estas
seis letras eran la cabecera del mensaje cifrado. Seguidamente, giraba los rotores hasta
leer las tres letras escogidas en la ventanilla (‘amx’, en este caso). En esta nueva posición
cifraba el mensaje propiamente dicho. El texto resultante se añadía a la cabecera anterior,
obteniéndose el criptograma que se transmitía. El receptor del mismo, con Enigma en la
posición señalada en la Tageschlüssel, descifraba primero las seis letras de la cabecera,
recuperando así las tres letras elegidas por el emisor. A continuación, situaba los rotores
en la posición marcada por esas tres letras y tecleaba el resto del criptograma, obteniendo
el mensaje en claro. Los alemanes denominaban “Spruchschlüssel” (clave del mensaje) al
trío de letras elegido por el operador.

      De este modo, cada mensaje se cifraba con una posición diferente de los rotores,
con la que elegía el operador que lo transmitía. A su vez, esta posición se radiaba cifrada
con la clave indicada en la Tageschlüssel. Se cifraba por duplicado para que el receptor
pudiera corregir posibles errores producidos durante la transmisión de la cabecera, los
cuales impedirían descifrar el mensaje que seguía a continuación. El doble cifrado de la
Spruchschlüssel explica que dos criptogramas que coincidan en su primera (segunda o
tercera) letra lo hagan también en su cuarta (quinta o sexta, respectivamente) letra, ya que
así lo hacen los dos fragmentos de texto en claro de los que proceden. Pero esto
constituye un tremendo error criptográfico que, como veremos, comprometió la seguridad
de Enigma. El mismo fin se hubiese conseguido cifrando la Spruchschlüssel una sola vez
y transmitiendo el resultado por duplicado: ‘PHBPHB’, en nuestro ejemplo.

      Los aliados supieron como empleaba Enigma el ejército alemán el 8 de noviembre
de 1931. En esa fecha, espías franceses se reunieron en Bélgica con Hans-Thilo Schmidt,
empleado de la oficina de cifra del ministerio de defensa alemán. A cambio de una
importante suma de dinero, Schmidt facilitó a los franceses varios documentos secretos.
Uno de ellos describía detalladamente el manejo de Enigma, otro hacía lo mismo con el
sistema de claves en vigor.

      Sin embargo, de nada sirvieron estos documentos a los criptoanalistas franceses.
Tampoco a los ingleses, quienes dispusieron de una copia días después. Tras la
descorazonadora respuesta inglesa, al jefe del servicio francés de “Decryptement et
Interceptions”, el capitán Gustave Bertrand, se le ocurrió proporcionar dichos documentos
al “Biuro Szyfrow”, la oficina de cifras polaca. Bertrand había oído hablar de la habilidad
polaca en materia de criptoanálisis. Así, el 7 de diciembre de 1931, Bertrand viajó a
Varsovia con una copia de los citados documentos y la entregó al mayor Gwido Langer,
responsable del Biuro Szyfrow. Langer explicó a Bertrand que la información


                                             156
9. CRIPTOANÁLISIS DE ENIGMA




proporcionada era de enorme utilidad, pero que sin un ejemplar de Enigma su
criptoanálisis era imposible. Los documentos incluían una detallada descripción de la
máquina con la que quizás fuese posible construir una copia de Enigma; pero faltaban las
conexiones internas de los rotores, dato imprescindible para reproducir Enigma.

      Días después, el servicio secreto francés se reunió de nuevo con Schmidt. Este no
les proporcionó las ansiadas conexiones internas de los rotores, pero sí las Tageschlüssels
de ese mes de diciembre de 1931. Y al año siguiente, las correspondientes a los meses de
mayo, septiembre, octubre, noviembre y diciembre. Bertrand viajó de nuevo a Varsovia
con este material.

       A finales de los años veinte, antes de aparecer Enigma, los polacos descifraban las
comunicaciones alemanas sin ninguna dificultad. No obstante, el personal de la Biuro
Szyfrow no estaba capacitado para derrotar a una máquina de rotores. Sus jefes se dieron
cuenta de ello. Entendieron que tal tarea requería una sólida formación matemática. Por
ello, a partir de 1928, contactaron con estudiantes de Matemáticas de la Universidad de
Poznan. Varios de ellos recibieron cursos introductorios de Criptografía. La razón de
elegir la Universidad de Poznan fue que sus alumnos hablaban alemán perfectamente, ya
que Poznan había formado parte de Alemania desde 1793 hasta 1918. En septiembre de
1932, la Biuro Szyfrow empleó a tres jóvenes matemáticos de Poznan: Marian Rejewski,
Jerzy Rozycki y Henry Zygalski. A ellos se les encargó el criptoanálisis de Enigma.

      Rejewski lo logró a finales de diciembre de 1932. Mostrar como lo hizo es el
propósito de los siguientes párrafos. En ellos va a ser inevitable recurrir a las
Matemáticas, concretamente a la teoría de permutaciones. No obstante, intentaremos que
nuestra exposición sea accesible a aquel lector no familiarizado con esta teoría
matemática.

      Examinando la documentación facilitada por el espía Schmidt, Rejewski
comprendió que la máquina que estaba empleando el ejército alemán era una
modificación de la versión comercial. La inclusión del Stecker era la variación principal y
el mayor obstáculo en el criptoanálisis. Como en la comercial, la máquina militar disponía
de tres rotores intercambiables y un reflector que ahora permanecía siempre fijo. La
presencia del reflector implica que las sustituciones son involutivas. Esto y el doble
cifrado del trío de letras que permite acceder al resto del mensaje, la Spruchschlüssel, fue
el punto de partida del criptoanálisis de Rejewski. Veámoslo.

     La Biuro Szyfrow interceptaba diariamente varias decenas de criptogramas.
Rejewski entresacó las cabeceras de todos los mensajes de un mismo día. Obtuvo listas
como la que figura a continuación:




                                            157
9. CRIPTOANÁLISIS DE ENIGMA




  NEZ   IDL       CLX     XKK         AXW     FYN           YXF     WYT         JCS     PSX         WPB     RUZ
  PKG   CTH       RLD     AKM         QCH     JSO           AEW     FDN         SNK     HAY         LFT     KHB
  DCI   DSI       BRK     EVY         XLT     SKB           SYR     HGR         ISL     ZFA         QYC     JGW
  EGR   YXR       ISN     ZFG         MDG     TRH           WAU     RCC         RLK     AKY         PEO     CDJ
  WPB   RUZ       JLY     PKU         VCK     LSY           LFT     KHB         SPV     HUQ         IJA     ZIE
  WLP   RKV       YQH     WOO         VAW     LCN           IZU     ZNC         BAN     ECG         OHO     QJJ
  GZH   GNO       QJN     JIG         HIQ     UWF           OAI     QCI         HKZ     UTL         TUQ     BBF
  MOQ   TMF       JNI     PAI         YVO     WQJ           ABB     FPZ         SPV     HUQ         WTC     REW
  RWX   AZK       TYM     BGP         UDN     VRG           QHJ     JJS         ZOE     MMD         EOT     YMB
  FMD   NLM       DML     DLA         GLD     GKM           JNZ     PAL         GLZ     GKL         KQA     OOE
  OQR   QOR       TEP     BDV         LND     KAM           VCK     LSY         FFF     NHT         QDM     JRP
                                      Tabla 9.5. Lista de cabeceras.


       De hecho, tal lista la hemos obtenido a partir de un programa en el ordenador que
simula fielmente la máquina Enigma que entonces se utilizaba. Cada fragmento de seis
letras es el cifrado repetido de tres letras escogidas al azar por nosotros. Naturalmente,
con el simulador de la máquina dispuesto siempre según cierta Tageschlüssel.

       Enigma cifra cada letra con una permutación diferente. No obstante, todas las
primeras letras de las cabeceras de los mensajes han sido cifradas con la misma
permutación, ya que la máquina parte siempre de la misma posición inicial indicada en la
clave del día. De igual modo, todas las segundas letras han sido producidas también por la
misma permutación, distinta a la anterior naturalmente. Lo mismo sucede con las otras
cuatro letras de las cabeceras. Consideremos esas seis permutaciones y designémoslas por
π1, π2... y π6, respectivamente.

      Fijémonos en la primera cabecera de la lista anterior: ‘NEZIDL’. Es el resultado de
cifrar dos veces tres letras que nos son desconocidas. Usemos la incógnita x para
representar a la primera de ellas. Entonces π1 transforma x en N mientras que π4 sustituye
x por I. En Matemáticas esto se expresa π1(x) = N y π4(x) = I. Ahora, recordemos que el
cifrado de Enigma es involutivo. En consecuencia, sus permutaciones también lo son. Por
tanto, π1(N) = x. Sustituyendo x en la otra igualdad: π4(π1(N)) = I, lo que significa que el
producto (o composición) π4·π1 transforma la letra N en I, que π4·π1(N) = I. De igual
modo, considerando ahora las permutaciones π2 y π5, se obtiene π5·π2(E) = D. Y,
similarmente, π6·π3(Z) = L. Vemos así que cada cabecera de la lista proporciona un dato
de cada uno de los productos π4·π1, π5·π2 y π6·π3. Como hay suficientes cabeceras,
podemos obtener completamente estas permutaciones:

         A    B   C   D   E   F   G   H   I   J   K   L     M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
  π4·π1: F    E   X   D   Y   N   G   U   Z   P   O   K     T   I   Q   C   J   A   H   B   V   L   R   S   W   M
  π5·π2: C    P   S   R   D   H   X   J   W   I   T   K     L   A   M   U   O   V   F   E   B   Q   Z   Y   G   N
  π6·π3: E    Z   W   M   D   T   H   O   I   S   Y   A     P   G   J   V   F   R   X   B   C   Q   N   K   U   L
                              Tabla 9.6. Los productos π4·π1, π5·π2 y π6·π3 .




                                                      158
9. CRIPTOANÁLISIS DE ENIGMA




      El objetivo es determinar las permutaciones πi. Ello pasa por factorizar π4·π1, π5·π2 y
π6·π3 en producto de ciclos disjuntos. Fijémonos en π4·π1. Esta permutación transforma la
A en F, la F en N, N en I... y al llegar a la R, esta letra se cambia por A. Hemos
completado un ciclo de π4·π1: (A F N I Z M T B E Y W R), de 12 letras. Considerando
una letra no incluida en este ciclo y repitiendo este proceso, encontramos otro. Por
ejemplo, empezando con la C obtenemos este otro ciclo: (C X S H U V L K O Q J P),
también de 12 letras. Quedan dos letras que no figuran en los dos ciclos calculados, la D y
la G. Nos proporcionan ciclos de una sola letra: (D) y (G), ya que se transforman en ellas
mismas. Ya tenemos todos los ciclos de π4·π1. Se dicen disjuntos porque ninguno de ellos
comparte letra alguna con otro. Y se verifica que π4·π1 es producto de todos ellos:

        π4·π1 = (A F N I Z M T B E Y W R)·(C X S H U V L K O Q J P)·(D)·(G).

     El orden de los ciclos es indiferente puesto que, a diferencia de lo que ocurre en
general con el resto de las permutaciones, los ciclos disjuntos conmutan. Similarmente se
descomponen π5·π2 y π6·π3 en producto de ciclos disjuntos:

        π5·π2 = (A C S F H J I W Z N)·(D R V Q O M L K T E)·(B P U)·(G X Y)
        π6·π3 = (A E D M P V Q F T B Z L)·(C W N G H O J S X K Y U)·(I)·(R).

      En las tres factorizaciones obtenidas aparecen pares de ciclos de igual longitud. Ello
no es casualidad. Tal y como demostró Rejewski, es lo que sucede cuando se multiplican
dos permutaciones como las que produce Enigma, consistentes ambas en trece
transposiciones disjuntas (una transposición es un ciclo de longitud dos). Más aún, su
demostración indica como recuperar las trece transposiciones de que constan los factores:
para cada pareja de ciclos de igual longitud, se elige una letra en cada ciclo y se escriben
los ciclos uno debajo de otro, empezando por las letras elegidas y ordenando las letras de
uno de ellos en modo inverso. Por ejemplo, fijándonos en los dos ciclos de longitud 12
que aparecen en la factorización de π4·π1 y eligiendo la F y la V, escribimos:

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

      Entonces, las dos letras de cada columna determinan transposiciones del segundo
factor π1: (F V), (N U), (I H)..., (A L); y las diagonales ascendentes proporcionan
transposiciones del primer factor π4: (V N), (U I), (H Z)..., (L F).

      Naturalmente, si variamos las letras elegidas en cada ciclo, entonces obtenemos
emparejamientos diferentes que dan lugar a distintas transposiciones. El número de
emparejamientos diferentes es precisamente la longitud de los ciclos. En consecuencia,
hay varias soluciones para cada uno de los factores buscados. Así, en nuestro ejemplo,
hay 12 soluciones para π1 y π4. Las mismas que para π3 y π6. Y este número aumenta a 30
para π2 y π5 porque las parejas de ciclos tienen longitudes 10 y 3. ¿Cómo elegir las
soluciones correctas?

     Aquí Rejewski contó con la “inestimable ayuda” de los operadores alemanes.
Observó que, entre las decenas de mensajes que diariamente se transmitían, era frecuente


                                            159
9. CRIPTOANÁLISIS DE ENIGMA




encontrar cabeceras repetidas. Iguales deben ser también las correspondientes
Spruchschlüssels. Algo extraño, si se tiene en cuenta que hay 263 = 17576 tríos de letras
donde escoger. Rejewski pensó que ello era porque algunos operadores elegían ternas con
las tres letras iguales; como sólo hay 26 distintas, es fácil que se produzcan repeticiones.
Tenía razón. Los mismos alemanes se dieron cuenta de este mal hábito entre sus
operadores y lo prohibieron en abril de 1933. Claro que entonces adquirieron este otro:
elegir tres letras adyacentes en el teclado de Enigma como, por ejemplo, ‘qwe’ o ‘xdr’.
Haciendo esto, es difícil que haya Spruchschlüssels repetidas; pero es muy probable que
algunas compartan dos letras. Las correspondientes cabeceras tienen entonces cuatro
letras en común. Esto también ayuda a identificar correctamente las permutaciones πi .

       Nosotros, siguiendo fielmente el modo de proceder de los operadores alemanes,
también formamos ternas con las tres letras iguales cuando obtuvimos la lista de
cabeceras que nos sirve de ejemplo. En ella, los fragmentos ‘VCKLSY’ y ‘WPBRUZ’
figuran dos veces. Supongamos que provienen de tríos de letras idénticas y tratemos de
hallarlas. Consideremos primero ‘VCKLSY’. Una letra que mediante π1 se transforme en
V debe estar en el ciclo de π4·π1 que se empareja con el que contiene dicha V. Es (A F N I
Z M T B E Y W R). Del mismo modo, una letra que mediante π2 se cambie por C debe
estar en el ciclo (D R V Q O M L K T E). Y en (A E D M P V Q F T B Z L) se encuentra
la letra que π3 la sustituya por K. Estos tres ciclos tienen en común las letras M, T, y E. Si
‘VCKLSY’ procede de una letra repetida tres veces, tal letra es una de las anteriores.
Consideremos ahora ‘WPBRUZ’. Los ciclos duales de los que contienen a W, P, y B en
π4·π1, π5·π2 y π6·π3 son, respectivamente, (C X S H U V L K O Q J P), (G X Y) y (C W N
G H O J S X K Y U). La única letra en común es X. En consecuencia, ‘WPBRUZ’ ha sido
originada por la terna ‘xxx’.

      Luego π1(X) = W. Este dato permite ya determinar tanto π1 como π4. Para obtener
sus trece transposiciones disjuntas, procedemos según explicamos antes: asociamos ahora
la W con la X y escribimos de nuevo los dos ciclos de longitud doce de π4·π1, uno debajo
de otro y con las letras del segundo en orden inverso:

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

      Entonces:

      π1 = (W X)(R C)(A P)(F J)(N Q)(I O)(Z K)(M L)(T V)(B U)(E H)(Y S)(D G)
      π4 = (X R)(C A)(P F)(J N)(Q I)(O Z)(K M)(L T)(V B)(U E)(H Y)(S W)(D G)

     (Nótese que ambas permutaciones contienen la transposición (D G), obtenida al
emparejar los dos ciclos de longitud 1 de π4·π1.)

      De igual manera se calculan π3 y π6, casando la letra B con la X en los dos ciclos de
longitud 12 del producto π6·π3 :




                                             160
9. CRIPTOANÁLISIS DE ENIGMA




      π3 = (B X)(Z S)(L J)(A O)(E H)(D G)(M N)(P W)(V C)(Q U)(F Y)(T K)(I R)
      π6 = (X Z)(S L)(J A)(O E)(H D)(G M)(N P)(W V)(C Q)(U F)(Y T)(K B)(I R)

      Si emparejamos la P con la X en los correspondientes ciclos de π5·π2, únicamente
descubriríamos tres transposiciones de π2 y π5, ya que 3 es la longitud de dichos ciclos.
Para calcular las otras diez, necesitamos emparejar letras de los otros dos ciclos.
Consideremos otra vez la cabecera repetida ‘VCKLSY’. Bajo el supuesto que proceda de
un trío de letras iguales, hemos deducido que tal letra repetida es una de estas tres: M, T,
o E. Como π1(T) = V, dicha letra debe ser T. Además, el hecho que π3(T) = K confirma
que vamos por buen camino. Entonces π2(T) = C y ya tenemos el emparejamiento que nos
faltaba: T con C. Sólo resta escribir convenientemente los ciclos de π5·π2 :

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

      Y obtener ya π2 y π5 :

      π2 = (C T)(S K)(F L)(H M)(J O)(I Q)(W V)(Z R)(N D)(A E)(P X)(U G)(B Y)
      π5 = (T S)(K F)(L H)(M J)(O I)(Q W)(V Z)(R N)(D A)(E C)(X U)(G B)(Y P)

      Calculadas las permutaciones πi de cierto día, se pueden recuperar todas las
Spruchschlüssels de ese día. Por ejemplo, la terna que dio lugar a la primera cabecera de
nuestra lista, ‘NEZIDL’, es ‘qas’; ya que π1(N) = Q, π2(E) = A y π3(Z) = S. El primer paso
hacía el criptoanálisis de Enigma ya estaba dado. Gracias al doble cifrado de las
Spruchschlüssels.

      No obstante, el conocimiento de las claves no sirve de nada si no se dispone de un
ejemplar de la máquina con el que descifrar los mensajes. Y como los alemanes no iban a
prestar una a los polacos, éstos, si la querían, debían construir una. Ello pasaba por
conocer las conexiones internas de los rotores, algo que el espía alemán Schmidt o no
podía o no quería proporcionar. No hizo falta, Rejewski las calculó.

      El movimiento de los rotores tampoco figuraba en los documentos aportados por el
espía alemán. Rejewski pensó que debía ser similar al de la máquina comercial. Si esto
era así, la Enigma militar seguía teniendo el mismo punto débil que aquella: al cifrar
fragmentos pequeños, únicamente el rotor derecho se mueve. Es lo que debía ocurrir la
mayoría de las veces al cifrar las Spruchschlüssels que acababan de ser calculadas. De
esta observación parte el análisis que permitió a Rejewski deducir las conexiones de los
rotores.

      Fijémonos de nuevo en la Figura 9.1, que esquematiza el cifrado de la comercial
Enigma D. Sirve también para la máquina militar, cambiando el Stator por el Stecker.
Supongamos que la máquina está dispuesta inicialmente según cierta Tageschlüssel.
Designemos por la letra griega σ a la permutación que proporciona el Stecker; por α, β y δ
a la de los rotores izquierdo, central y derecho, respectivamente; y por ρ a la del reflector.
Observando la Figura 9.1 y teniendo en cuenta como fluye la corriente eléctrica en el



                                             161
9. CRIPTOANÁLISIS DE ENIGMA




banco de rotores, la permutación total de Enigma antes de empezar a cifrar se expresa
matemáticamente así:

                                     σ-1·δ-1·β-1·α-1·ρ·α·β·δ·σ

donde σ-1, δ-1... son las sustituciones recíprocas, las que tienen lugar cuando la corriente
atraviesa los rotores y el Stecker en sentido contrario, tras abandonar el reflector. (Como
ya habrá notado el lector familiarizado con permutaciones, la expresión anterior debe
recorrerse de derecha a izquierda: primero actúa σ, luego δ, etcétera.)

      Recordemos que el avance de los rotores se produce inmediatamente después que el
operador pulsa una tecla y antes de cifrar la letra correspondiente. Como hemos dicho
antes, admitamos que sólo el rotor derecho es el que mueve durante el doble cifrado de las
Spruchschlüssels. Entonces, durante este cifrado, la única permutación que cambia en la
expresión anterior es δ. Veamos cómo. Para ello, introducimos el ciclo de longitud 26:
γ = (A B C . . . Z ), el que transforma la A en B, ésta en C..., y la Z en A. La nueva
permutación del rotor derecho tras avanzar una posición es γ-1·δ·γ. (El lector puede
comprobar esta afirmación en la Tabla 9.1, que contiene las 26 sustituciones de un rotor.
Si δ es una de sus filas, entonces γ-1·δ·γ es la siguiente). Y su inversa (γ-1·δ·γ)-1 = γ-1·δ-1·γ.
Cambiando en la expresión de antes δ y δ-1 por γ-1·δ·γ y γ-1·δ-1·γ, respectivamente, se llega
a la permutación π1 que cifra la primera letra:

                             π1 = σ·γ-1·δ-1·γ·β-1·α-1·ρ·α·β·γ-1·δ·γ·σ

        Nótese que hemos puesto σ en lugar de σ-1 porque, al ser involutiva la permutación
proporcionada por el Stecker, σ = σ-1. Del mismo modo se obtiene una descomposición
análoga para las demás permutaciones π2, π3..., y π6; en las que el rotor derecho avanza
dos, tres..., y seis posiciones desde el punto de partida. Sólo hay que cambiar γ por γ 2,
γ 3..., y γ 6, respectivamente. Juntando las seis ecuaciones, Rejewski llegó al siguiente
sistema:

                             π1 = σ·γ-1·δ-1·γ·β-1·α-1·ρ·α·β·γ-1·δ·γ·σ
                            π2 = σ·γ-2·δ-1·γ 2·β-1·α-1·ρ·α·β γ-2·δ·γ 2·σ
                                                ···
                            π6 = σ·γ ·δ ·γ ·β ·α ·ρ·α·β γ-6·δ·γ 6·σ
                                    -6 -1 6 -1 -1



      En verdad, en las ecuaciones que inicialmente obtuvo Rejewski incluso aparecía
una permutación más. Guiándose por la máquina comercial, en un principio supuso la
presencia de un Stator que actuaba entre el Stecker y el banco de rotores. Le llevó algún
tiempo darse cuenta que, en la Enigma militar, el Stecker no se añadía sino que
reemplazaba al Stator.

      Las permutaciones πi y γ son datos conocidos en las ecuaciones anteriores. También
lo es σ, la sustitución del Stecker, si las ecuaciones corresponden a un día incluido en las
Tageschlüssels suministradas por Schmidt. Entonces δ y el producto ω = β-1·α-1·ρ·α·β
pueden ser calculados en el sistema anterior. No lo haremos, porque explicarlo nos



                                               162
9. CRIPTOANÁLISIS DE ENIGMA




adentraría más en la teoría de permutaciones y no es nuestro propósito. Aunque sí
diremos que la solución de ese sistema no es única, sino que hay 26 permutaciones δ y ω
que la cumplen. Ello es debido a que cada rotor tiene otros 25 equivalentes que producen
el mismo cifrado, sólo es cuestión de ajustar el Ringstellung convenientemente. Eligiendo
entre las 26 posibles una solución δ, se tienen ya las conexiones internas de un
equivalente al rotor situado en la derecha. Y como el orden de los rotores era cambiado
periódicamente, Rejewski pudo calcular primero equivalentes de los otros dos rotores y
del reflector después. Tras ello, queda determinar el lugar donde va situada la muesca del
Ringstellung que produce el avance del rotor adyacente. Pero esto ya es sencillo, sólo hay
que descifrar algunos mensajes correspondientes a Tageschlüssels y Spruchschlüssels
conocidas y observar cuando debe girar el rotor central para que el texto en claro siga
revelándose.

      En 1934, la fábrica de aparatos de radio AVA proporcionó a la Biuro Szyfrow las
primeras réplicas polacas de Enigma. A partir de entonces, Rejewski y compañía
pudieron descifrar cómodamente los mensajes alemanes. Naturalmente, después de
averiguar la clave. Los polacos seguían obteniendo regularmente las Spruchschlüssels y
recibían de los franceses las Tageschlüssels que algunos meses suministraba el espía
alemán. Pero en la Biuro Szyfrow no querían depender de Schmidt. Por ello, Rejewski y
sus dos colegas abordaron el problema recíproco, que consiste en completar la clave con
la ayuda de la máquina y los criptogramas interceptados. Exactamente: el orden de los
rotores, el Ringstellung y las conexiones del Stecker. Resumimos a continuación como lo
resolvieron.

      A Rozycki se le ocurrió una idea para identificar el rotor derecho. Como ya hemos
comentado antes, entre las Spruchschlüssels solía haber algunas con dos letras repetidas.
Supongamos que dos de ellas, correspondientes al mismo día, coinciden en sus dos
primeras letras. Por ejemplo, ‘qwe’ y ‘qws’. Si el rotor de la derecha fuese el número I,
partiendo de la posición ‘qwe’ nunca se llega a ‘qws’; ya que de ‘qwq’ se pasa a ‘qxr’
porque el rotor I hace avanzar al de su derecha cuando la Q de su anillo es visible en la
ventanilla al efecto. Lo mismo sucede colocando el rotor II en la derecha, ya que tras
‘qwe’ se ve ‘qxf’. En cambio, como el tercer rotor debe llegar hasta la V para que se
produzca el avance del rotor vecino, situando el rotor III en la derecha, de ‘qwe’ se llega
a ‘qws’ al cabo de catorce pasos. Por tanto, en el caso que el rotor de la derecha sea el III,
la decimoquinta letra del mensaje que arranca con ‘qwe’ se cifra con la misma
permutación que la primera letra del mensaje que parte con ‘qws’. La decimosexta con
idéntica que la segunda. Etcétera. Entonces, colocando los criptogramas uno debajo de
otro y desplazando el segundo catorce lugares para que su primera letra quede debajo de
la decimoquinta del primero, el número de letras coincidentes es el mismo que el de los
textos en claro. En el idioma alemán, el porcentaje de coincidencias es 7.6. Luego, si en
efecto, el porcentaje de coincidencias en los criptogramas se aproxima a este número,
muy probablemente será porque el rotor III es el de la derecha. En otro caso, el porcentaje
caerá hasta casi 3.8, que es el correspondiente a textos con letras elegidas aleatoriamente.
En este caso, el rotor diestro será el I o el II y quizás otro par de Spruchschlüssels con las
dos primeras letras iguales permita decidirlo.




                                             163
9. CRIPTOANÁLISIS DE ENIGMA




     Una vez identificado el rotor derecho, el paso siguiente es encontrar las conexiones
del Stecker; esto es, la permutación que antes representamos por σ. Para ello,
consideramos de nuevo el sistema de seis ecuaciones obtenido por Rejewski, con las
permutaciones πi ya calculadas. Si en estas ecuaciones no figurase la permutación σ,
entonces al efectuar los productos

                                    γ -i·δ·γ i·πi·γ -i·δ-1·γ i

obtenemos siempre la permutación ω = β-1·α-1·ρ·α·β. Pero, claro, está σ y, por tanto,
ninguno de esos seis productos es ω. Tanto ω como estos productos constan de 13
transposiciones disjuntas. Como en el Stecker hay seis conexiones, σ altera doce letras y
deja fijas las catorce restantes. Ello implica que, aún no siendo ω, cada uno de los seis
productos anteriores contiene entre una y siete transposiciones de ω. Lo más probable es
que sean tres o cuatro. Sucede que ω y δ son desconocidas. Ahora bien, como δ es una de
las 26 permutaciones que implementa el rotor derecho, el cual hemos identificado,
podemos calcular para cada valor posible de δ los seis productos de antes y tratar de
averiguar cual es la permutación δ correcta. Muy probablemente será aquella que
proporcione seis productos con más transposiciones repetidas. Y también muy
posiblemente estas transposiciones duplicadas pertenezcan a ω. Se trata de analizar
cuidadosamente cada caso para determinar correctamente δ y ω. Para facilitar esta labor,
los polacos confeccionaron un catálogo con todas las permutaciones ω posibles, una por
cada ordenación de los rotores y por cada posición de los rotores izquierdo y central. En
total: 6 × 26 × 26 = 4056. Identificada ω, es fácil calcular σ. Sólo hay que comparar ω con
los seis productos obtenidos; las doce letras que cambian, proporcionan σ. De este modo
se averiguan las conexiones del Stecker. Y también el orden de los tres rotores y sus
posiciones iniciales, determinados por las permutaciones δ y ω. (Por supuesto, todo este
proceso se complica considerablemente si durante el doble cifrado de las
Spruchschlüssels no es el rotor derecho el único que se mueve.)

      Todavía falta por calcular el Ringstellung, ya que las anteriores posiciones iniciales
de los rotores sólo proporcionan la diferencia entre el Grundstellung y el Ringstellung.
Cuando las conexiones del Stecker son conocidas, la Enigma militar se puede
criptoanalizar como la comercial, mediante el método de los isomorfismos que vimos
antes. (Más fácil aún, porque el reflector no se mueve.) En la aplicación de dicho método,
los polacos utilizaron el hecho que el texto en claro de muchos mensajes alemanes
empezaba por ‘ANX’ (‘AN’ significa PARA en alemán y la ‘X’ se empleaba como
separador de palabras). Lo supieron cuando gracias a las Tageschlüssels proporcionadas
por Schmidt, descifraron mensajes de 1932. Un trigrama es, por supuesto, una cantidad
muy pequeña de texto en claro, pero hay que multiplicarla por el número de mensajes en
los que esté presente. Determinada la posición inicial del rotor diestro en un mensaje que
comience por ‘ANX’, la de los otros dos rotores se puede obtener en el catálogo de
permutaciones ω antes mencionado. Estas nuevas posiciones iniciales dan la diferencia
entre la Spruchschlüssel y el Ringstellung. Y como la primera ya es conocida, puede
calcularse el segundo.

     El método anterior para determinar el orden de los rotores y las conexiones del
Stecker fue mejorado notablemente en 1937. Todo el análisis anterior arranca de los


                                              164
9. CRIPTOANÁLISIS DE ENIGMA




productos π4·π1, π5·π2 y π6·π3. Como bien notó Rejewski, diferentes conexiones del
Stecker cambian estas permutaciones pero no su estructura cíclica. Exactamente: el
número de ciclos y sus longitudes no dependen de las conexiones del Stecker, sólo del
orden de los rotores y de sus posiciones iniciales. Rejewski llamó característica a dicho
número de ciclos y longitudes. En el ejemplo que pusimos antes, la característica es la
siguiente terna ordenada de listas de números: {12, 12, 1, 1}, {10, 10, 3, 3} y {12, 12, 1, 1}.
Otro ejemplo podría ser este: {10, 10, 1, 1, 1, 1}, {10, 10, 2, 2, 1, 1} y {13, 13}. Para cada
orden de los rotores y cada posición inicial de éstos, se halló su característica (suponiendo
siempre que sólo el rotor derecho es el que se mueve). En total, hubo que calcular 6 × 26 3
= 105456 características. Algunas se repetían, pero casi todas eran diferentes. Los
resultados se ordenaron en un catálogo en el que a continuación de cada característica iba
el correspondiente orden de los rotores y sus posiciones iniciales. Calculada la
característica de un día, el catálogo proporcionaba de forma inmediata el orden de los
rotores y sus posiciones iniciales (la diferencia entre el Grundstellung y el Ringstellung).
A continuación se procedía al cálculo de σ, la sustitución Stecker. Para ello, se
comparaban los productos π4·π1, π5·π2 y π6·π3 con sus homónimos obtenidos sin conexión
alguna en el Stecker. Las letras cambiantes proporcionan σ. Todo este proceso se
efectuaba en unos pocos minutos.

       En la confección del catálogo de características, los polacos emplearon un aparato
que llamaron ciclómetro. La Figura 9.2 muestra el dibujo que de este artefacto hizo el
propio Rejewski. Consistía en dos bancos de rotores conectados convenientemente y de
modo que el rotor de la derecha de un banco estaba desplazado tres posiciones con
respecto a su homónimo del otro banco. Debajo de los dos bancos de rotores figuraba un
panel de lámparas y palancas, una por cada letra del alfabeto. Al accionar una palanca,
una corriente eléctrica atravesaba varias veces los bancos de rotores y encendía un
número par de lámparas, las correspondientes a dos ciclos asociados de la permutación
π4·π1 . Accionando otra palanca de una letra no iluminada se encontraba otro par de ciclos
asociados. Así se determinaba la descomposición en ciclos disjuntos de π4·π1 . Y variando
el orden de los rotores y sus posiciones iniciales, se calcularon todas las permutaciones
π4·π1 existentes. Ello fue suficiente para elaborar el catálogo, ya que las permutaciones
π5·π2 y π6·π3 asociadas a una determinada posición de los rotores coinciden con la π4·π1
que se obtiene adelantando los rotores diestros una o dos posiciones, respectivamente.

      Aún empleando ciclómetros, los polacos tardaron casi un año en completar el
catálogo. Y poco tiempo después, el 1 de noviembre de 1937, los alemanes cambiaron el
reflector y el proceso tuvo que empezar de nuevo. (Obviamente, tras hallar las conexiones
del nuevo reflector.)




                                             165
9. CRIPTOANÁLISIS DE ENIGMA




                              Figura 9.2. Ciclómetro de Rejewski.


      El 15 de septiembre de 1938 entró vigor una modificación en el sistema de cifrado
que hizo inservibles los métodos anteriores. A partir de entonces, el Grundstellung era
diferente para cada mensaje y, al igual que la Spruchschlüssel, elegido libremente por el
operador. Sus tres letras se transmitían en claro en la cabecera del mensaje, antes de las
seis letras que resultaban del doble cifrado de la Spruchschlüssel. De este modo, el
receptor del mensaje se encontraba ahora con cabeceras de nueve letras. Como por
ejemplo: ‘RXT AWDAPS’, en la que el trío de letras ‘RXT’ es el Grundstellung y las otras
seis letras corresponden al doble cifrado de la Spruchschlüssel. El resto del proceso de
cifrado no sufrió ninguna variación. Por entonces, el orden de los rotores y el
Ringstellung ya se cambiaban todos los días y el número de conexiones del Stecker
oscilaba entre cinco y ocho.

      La modificación introducida anula los métodos de criptoanálisis anteriores. Al
variar el Grundstellung en cada mensaje, lo hacen también los productos π4·π1, π5·π2 y
π6·π3. De ellos, el criptoanalista sólo conoce ahora la transformada de una letra y ello
impide que los métodos previos puedan iniciarse. No obstante, los alemanes siguen
cometiendo el mismo error: cifrar dos veces la Spruchschlüssel de cada mensaje. De
nuevo, los polacos aprovecharían este fallo. Veamos cómo.

      Para elaborar el catálogo de características, tuvieron que calcular los 105456
productos π4·π1 . Observaron que aproximadamente el 40% de estas permutaciones
contienen ciclos de longitud 1. Lo mismo ocurre con los productos π5·π2 y π6·π3 ya que,
como se explicó antes, las permutaciones π5·π2 y π6·π3 asociadas a una determinada
posición de los rotores coinciden con las π4·π1 de otras posiciones. Los ciclos de longitud
1 se manifiestan en las cabeceras de los mensajes mediante repeticiones en las letras que
siguen al Grundstellung. Por ejemplo:

                 RXT AWDAPS               ABC OXUCXW                ETV ASTBUT



                                             166
9. CRIPTOANÁLISIS DE ENIGMA




      Los británicos emplearían el término “female” para referirse a estas repeticiones. La
primera cabecera anterior indica que la permutación π4·π1 correspondiente contiene el
ciclo (A). Usando la terminología británica, tal cabecera es una 1,4-female. La segunda
cabecera es una 2,5-female y (X) es un ciclo de π5·π2 , y la tercera una 3,6-female y (T) un
ciclo de π6·π3.

       Recordemos que las longitudes de los ciclos de las permutaciones π4·π1, π5·π2 y
π6·π3 no dependen de las conexiones del Stecker sino del orden de los rotores y de sus
posiciones iniciales, y que estas posiciones vienen determinadas por las diferencias entre
las letras del Grundstellung y las del Ringstellung. El Grundstellung es diferente en cada
mensaje, pero conocido. Por el contrario, el Ringstellung es igual en todos los mensajes
de un mismo día, aunque desconocido. El objetivo es identificar el correcto orden de
rotores y Ringstellung entre los 105456 posibles. Ahora bien, este número se reduce en un
factor de 0.4 cada vez que se observe un ciclo de longitud 1, ya que sólo el 40% de las
permutaciones π4·π1 (o π5·π2 , o π6·π3) presentan tales ciclos. Por tanto, como
105456·(0.4)12 = 1.7, muy posiblemente doce o trece females determinen unívocamente el
orden de rotores y Ringstellung.

      Afortunadamente, los polacos disponían de este número de females. No era
casualidad. Si las permutaciones πi y el Grundstellung se eligen aleatoriamente, la teoría
de probabilidades dice que el 11.5% de las cabeceras presentarán females. Por tanto, para
que haya una docena de females se requiere poco más de un centenar de mensajes;
cantidad que se alcanzaba en algunas de las redes de comunicaciones del ejército alemán.
Luego, es posible determinar el orden de rotores y Ringstellung correctos a partir de las
females. Sí, en teoría, pero ¿y en la práctica?

       A Zygalski se le ocurrió un ingeniosísimo método para hacerlo. Para cada uno de
los 6 órdenes posibles de los rotores y para cada una de las 26 posiciones del rotor
izquierdo, se confeccionaron en material opaco unas hojas como la de la Figura 9.3. En
total, 6·26 = 156. Cada hoja se divide en 51×51 pequeños recuadros que se identifican por
una letra en el eje horizontal y por otra en el vertical. Las letras horizontales representan
las posiciones del rotor central y las verticales las del derecho. La razón de repetir
posiciones aparecerá cuando expliquemos como se utilizan las hojas. Si en una
determinada posición de los rotores se pueden presentar 1,4-females al cifrar dos veces la
Spruchschlüssel, el recuadro correspondiente está perforado. Para saberlo, los polacos no
tuvieron que efectuar ningún cálculo nuevo, sino consultar el catálogo de características.
Aún así, tardaron varias semanas en tener listo un primer juego de hojas de Zygalski.




                                            167
9. CRIPTOANÁLISIS DE ENIGMA




                              Figura 9.3. Una hoja de Zygalski.


      Antes de emplear las hojas es preciso “normalizar” las 2,5 y 3,6-females
adelantando su Grundstellung derecho una o dos posiciones, respectivamente. Por
ejemplo:

        ABC OXUCXW → ABD OXUCXW                   ETV ASTBUT → ETX ASTBUT

      Hecho esto, el siguiente proceso ha de repetirse para cada orden de los rotores y
cada posición del Ringstellung del rotor izquierdo. Fijado un orden de los rotores, se
normalizan de nuevo aquellas females cuyo Grundstellung indique un avance del rotor
central. Por ejemplo, si el orden de rotores es III-I-II, el Grundstellung ‘AHE’ debe
normalizarse ‘AIE’, ya que la E del rotor II ocasiona un avance del rotor central.
Seguidamente, se seleccionan las 26 hojas asociadas al orden de los rotores y se aparta el
resto. Fijada también una letra del Ringstellung del rotor izquierdo, digamos C, se
considera el Grundstellung de una primera female. Por ejemplo: ‘PDY’. Su letra izquierda
es P. Puesto que P−C=N, se escoge la hoja correspondiente a la letra N y se coloca



                                            168
9. CRIPTOANÁLISIS DE ENIGMA




encima de una mesa transparente. Esta hoja hace de referencia básica. Se considera a
continuación el Grundstellung de otra female. Por ejemplo: ‘HXT’. Su primera letra es H
y H−C=F. Se elige entonces la hoja correspondiente a esta letra F. Se coloca encima de la
anterior hoja básica desplazándola 6 recuadros hacia la derecha y 5 hacia abajo, seis a la
derecha porque de la X a la D van 6 letras y cinco hacia abajo porque de la T a la Y van 5.
Se hace lo mismo con el resto de las females. Colocadas todas las hojas, se hace actuar un
foco de luz sobre las hojas y se observa si la luz traspasa algún agujero común a todas
ellas.

      Si hay suficientes females, el haz de luz atravesará un único agujero. Este agujero
proporciona de forma inmediata el orden de los rotores y el Ringstellung del rotor
izquierdo. Para obtener el de los otros dos rotores, notemos que, fijada una de las females
(normalizada si ha sido necesario), las letras del agujero de la hoja correspondiente
determinan la posición de los rotores que la ha producido. Esta posición es precisamente
la diferencia entre el Grundstellung de la female y el Ringstellung que se pretende
calcular. Por tanto, el Ringstellung de los rotores central y diestro se obtiene restando al
Grundstellung de una female las letras del agujero. Ya sólo queda obtener las conexiones
del Stecker. Como éste cambia las letras de los ciclos de longitud 1 del catálogo de
características por las letras repetidas de las females, entonces la letra repetida de una
female está conectada con una de las letras de los ciclos de longitud 1 de la
correspondiente permutación π4·π1 del catálogo. Contemplando todas las females a un
tiempo, no será difícil averiguar cual.

      Puede ocurrir que el haz de luz atraviese más de un agujero. En tal caso se procede
con cada uno de ellos como antes. Las contradicciones descartarán casi todos los casos. Y
si todavía queda más de uno, la solución correcta será aquella que permita descifrar los
mensajes.

      Además de las hojas de Zygalski, los polacos contaron con una máquina diseñada
por Rejewski que, bajo las condiciones que describimos a continuación, también
calculaba el orden de los rotores y el Ringstellung. Le dieron el nombre de bomba.
Expliquemos en qué consiste.

    Entre las females de un mismo día, en ocasiones había tres que presentaban la
misma letra repetida. Como por ejemplo:

              XTH RPYRAC              AQL TRVSRJ              MOZ RFGRVW

       La primera de estas females indica que el ciclo (R) está presente en la permutación
π4·π1 . Supongamos que la R no se vea alterada por el Stecker, que no está conectada con
ninguna otra letra. Entonces, también el ciclo (R) aparece en la sustitución π4·π1 que se
obtendría sin ninguna conexión en el Stecker. Como ya sabemos, el número de tales
productos π4·π1 es 105456, tantos como configuraciones posibles de los rotores (orden y
posiciones iniciales). Desconocemos cuantos de estos productos contienen al ciclo (R); no
obstante, la Teoría de Probabilidades muestra que, fijado un ciclo de longitud 1, si π1 y π4
se eligen aleatoriamente entre las de su clase, entonces el 4% de los productos π4·π1
contienen dicho ciclo. Admitamos esta regla para las sustituciones de Enigma. Entonces,


                                            169
9. CRIPTOANÁLISIS DE ENIGMA




el anterior número 105456 se reduce en un factor de 0.04 cada vez que se observe una
female con la letra R repetida. Como 105456·(0.04)3 = 6.75, resulta que muy
probablemente tan sólo seis o siete configuraciones de los rotores pueden ocasionar las
tres females anteriores. La máquina ideada por Rejewski automatizaba la identificación
de esas configuraciones.

      Esencialmente, la bomba de Rejewski consiste en tres ciclómetros conectados
convenientemente. Un motor eléctrico hace girar de forma sincronizada los seis bancos de
rotores recorriendo las 17576 posibles posiciones. Cuando se llega a una posición en la
que los tres ciclómetros reconocen el ciclo programado, (R) en nuestro ejemplo, el
mecanismo se detiene mostrando dicha posición.

       Los polacos construyeron seis bombas, una por cada orden de los rotores. Antes de
utilizarlas, es preciso ajustar adecuadamente las posiciones de los rotores de los
ciclómetros. Para ello, primero se normalizan las females del mismo modo que
explicamos antes. Hecho esto, se asocia cada uno de los tres ciclómetros a una female y
se colocan sus rotores en la posición indicada en el Grundstellung, con el rotor derecho
del segundo banco desplazado tres posiciones respecto a su homónimo del primer banco.
En nuestro ejemplo, los rotores del ciclómetro asociado a la primera female deben
colocarse así: el primer banco en la posición ‘XTH’, el segundo ‘XTK’. Tras situar los
rotores se activa la palanca de la letra R y se pone en marcha la bomba. Las seis bombas
encontraban las seis o siete posiciones que ocasionan las tres females en unos 90 minutos.
Entre esas posiciones se encuentra la que proporciona la clave. Para reconocerla, se sigue
el mismo proceso que con los agujeros de las hojas de Zygalski.

      Las bombas de Rejewski supusieron una comodidad para el personal de la Biuro
Szyfrow y eliminaban los errores debidos al factor humano. Por el contrario, requerían
que entre las females hubiera tres con la misma letra repetida y que ésta fuese invariante
por el Stecker. Algo que no ocurría todos los días.

      El 15 de diciembre de 1938 los alemanes pusieron en servicio dos nuevos rotores.
Con ello, aumentaron de tres a cinco los rotores disponibles y, por consiguiente, de seis a
sesenta el número de ordenaciones posibles. La consecuencia para los criptoanalistas
polacos es obvia: a partir de esa fecha, sólo uno de cada diez días pudieron descifrar los
mensajes alemanes. No obstante, los polacos encontraron enseguida las conexiones de los
nuevos rotores. De nuevo contaron con la “ayuda” alemana. En esta ocasión no fue el
espía Schmidt, quien meses atrás había dejado de tener acceso a las claves de Enigma,
sino el servicio de inteligencia del partido nazi. Su red de comunicaciones incorporó los
nuevos rotores, pero seguía cifrando con el sistema anterior al 15 de septiembre. Gracias a
ello, las conexiones de los nuevos rotores pudieron obtenerse como las de los tres
anteriores, manipulando el antiguo sistema de ecuaciones obtenido por Rejewski. Esta
vez, los polacos tuvieron mucha suerte. Habría sido muy difícil recuperar los dos nuevos
rotores sin la “colaboración” del servicio de inteligencia del partido nazi,

      A pesar de ello, el paso de tres a cinco rotores superó con creces las posibilidades
de cómputo de la pequeña oficina de cifras polaca. Poder emplear el método de Zygalski
con los nuevos rotores requería preparar 26·54 = 1404 nuevas hojas, una tarea que podía


                                           170
9. CRIPTOANÁLISIS DE ENIGMA




costar varios años de trabajo a la reducida plantilla de la Biuro Szyfrow. El otro método,
el de las bombas de Rejewski, quedó inoperante el 1 de enero de 1939, cuando los
alemanes incrementaron a diez las conexiones del Stecker. Los polacos no lograron
aumentar la proporción de días que accedían a las comunicaciones alemanas.

      Durante todos estos años, ningún otro país tuvo noticia del éxito polaco con
Enigma. Ni siquiera Francia, cuyo servicio secreto había facilitado a Polonia los
documentos comprados al espía Schmidt. El gobierno polaco entendió que comunicar a
otros países como descifrar Enigma violaba el pacto de no agresión firmado con
Alemania en enero de 1934. La situación cambió el 27 de abril de 1939, cuando Hitler
declaró “nulo y vacío” el tratado de no agresión. Días después, la Biuro Szyfrow recibió
la orden de compartir secretos con Francia e Inglaterra. Atendiendo a este mandato, los
polacos reunieron secretamente en Pyry, cerca de Varsovia, a una delegación francesa y
otra británica el 24 de julio. En este encuentro, Rejewski y compañía mostraron a sus
colegas franceses e ingleses todo y cuanto sabían de Enigma y les proporcionaron réplicas
polacas de la máquina. El 1 de septiembre, cincuenta y tres divisiones alemanas
invadieron Polonia. A los pocos días, la sección alemana de la Biuro Szyfrow borraba
todo rastro de Enigma y huía del país por la frontera rumana.

      Tras la invasión de Polonia, el criptoanálisis de Enigma quedó en manos de Francia
y Gran Bretaña, ya en tiempo de guerra. En Francia, el capitán Bertrand organizó una
unidad de interceptación y decodificación en torno a los tres matemáticos polacos, los
cuales llegaron a Francia procedentes de Rumania. El grupo, que operaba cerca de París,
contaba con unas setenta personas (curiosamente, entre ellas había siete republicanos
españoles), pero carecía de medios para enfrentarse por sí solo a Enigma. Con el apoyo
inglés, penetraron en algunas redes de comunicaciones alemanas durante el primer
trimestre de 1940. En mayo de 1940 tuvo lugar la invasión alemana y la unidad de
Bertrand estableció dos puestos de interceptación y decodificación, uno en Uzès, en la
Francia no ocupada, y otro en Argelia. Los matemáticos polacos alternaron estancias en
uno y otro. En uno de estos viajes, en enero de 1942, Rozycki murió al naufragar el barco
que le transportaba. A finales de 1942, los alemanes ocuparon toda Francia y el puesto de
Uzès se disolvió. Tras una larga y penosa huída por nuestro país, Rejewski y Zygalski
llegaron a Inglaterra en agosto de 1943, con la intención de continuar el criptoanálisis de
Enigma al lado de los británicos. Sin embargo, éstos no lo estimaron conveniente y ahí
acabó su lucha con la máquina alemana.

      Cuando en septiembre de 1938 Hitler invadió Checoslovaquia, el director del GCCS
británico, Alistair Denniston, consideró probable la guerra con Alemania. Su centro
tendría que pelear con la Enigma del ejército alemán. El equipo de Knox había tenido
éxito con la versión comercial, pero ninguno con la militar. Quizás fuese tarea de
matemáticos. Había llegado a la misma conclusión que los jefes de la Biuro Szyfrow diez
años antes. Denniston pensó en la Universidad de Cambridge. Pocas semanas después, el
GCCS estaba dando un curso introductorio de Criptografía a algunos de los mejores
matemáticos ingleses. Denniston encabezó la delegación británica que se reunió con
polacos y franceses en Pyry. A su regreso a Londres tenía muy claro lo que había que
hacer. Trasladó la sede del GCCS en Londres a Bletchley Park, un lugar tranquilo, a 70
kilómetros de Londres y muy bien comunicado; a salvo de los bombardeos aéreos que en


                                           171
9. CRIPTOANÁLISIS DE ENIGMA




un futuro cercano asolarían Londres. En septiembre de 1939, reunió en Bletchley Park al
equipo de Knox y a los matemáticos con los que había contactado meses antes. Entre
éstos, Alan Turing sería el Rejewski inglés.

      Comenzaron estudiando el trabajo de los polacos. El método de las hojas de
Zygalski era viable con los recursos humanos que ahora disponían los ingleses. En pocos
meses tendrían listas las 1560 hojas que se necesitaban. Esta tarea se encargó a un grupo
dirigido por el matemático John Jeffreys. Mientras se preparaban las hojas, otro equipo se
ocupó de analizar el tráfico de mensajes. Se trataba de identificar las diferentes redes de
comunicaciones del ejército alemán, las emisoras que operaban dentro de cada red,
aquella que gestionaba el tráfico dentro de la red, qué emisora transmitía cada mensaje y a
cuál otra iba dirigido. Este análisis era fundamental para descifrar los mensajes, ya que
cada red funcionaba con unas claves diferentes.

     El trabajo requería mucho más personal que el inicialmente previsto. Se reclutaron
más matemáticos de Cambridge y a sus alumnos de los últimos cursos. Y no sólo
matemáticos, sino ingenieros, lingüistas, jugadores de ajedrez, secretarias, personal de
apoyo... En total, se estima que unas 12000 personas trabajaron en Bletchley Park, la
mayoría mujeres.

       El equipo de Jeffreys tuvo listas las hojas a finales de diciembre. Antes, ya había
llegado a Bletchley Park una batería de máquinas Typex adaptadas para reproducir el
cifrado de Enigma. Pocas semanas después, en enero de 1940, Turing en persona hizo
llegar varios juegos de hojas a la unidad en Francia bajo el mando de Bertrand. De forma
coordinada, franceses e ingleses penetraron en la mayoría de las redes de comunicaciones
alemanas. Hasta el 10 de mayo de 1940. Ese día, coincidiendo con la invasión de Francia,
el ejército alemán volvió a modificar el sistema de cifrado. Dejaron de cifrar dos veces la
Spruchschlüssel de cada mensaje, quizás porque se dieron cuenta que el doble cifrado
debilitaba Enigma. En adelante, la Spruchschlüssel sólo se cifraría una vez. Los alemanes
eliminaban así las females de las cabeceras de los mensajes e inutilizaban las hojas de
Jeffreys.

      En Bletchley Park presentían que tarde o temprano sucedería y desde un principio
pusieron a algunos matemáticos a buscar otros métodos de criptoanálisis. Turing era uno
de ellos. Había estudiado detenidamente la bomba polaca. Un mecanismo capaz de
comprobar todas las posiciones de los rotores no podía ser derrotado por diez simples
cables del Stecker. Y en efecto, así era. Rejewski no se dio cuenta que bastaba una
pequeña modificación en su diseño para burlar cualquier conexión en el Stecker. Turing
lo descubrió a finales de 1939 y seguramente habló de ello con Rejewski durante su
estancia en París en enero del año siguiente. Sin embargo, aún con la modificación
descubierta por Turing, la bomba polaca requería de la existencia de females, de observar
el mismo ciclo de longitud 1 en tres productos π4·π1 distintos. Productos que
desaparecieron cuando los alemanes cambiaron el sistema de cifrado el 10 de mayo.

      Pero otros vinieron a reemplazarlos. Los mensajes descifrados antes del 10 de mayo
revelaban la presencia de cribs, bien al comienzo o al final. Identificando la unidad que
emitía el mensaje, podía sospecharse si contenía una crib determinada. El análisis del


                                           172
9. CRIPTOANÁLISIS DE ENIGMA




tráfico de las comunicaciones del ejército alemán permitió tal identificación. Las cribs
proporcionaron los ciclos necesarios en la bomba de Turing. Expliquémoslo con un
ejemplo.

      Sospechamos que cierto mensaje interceptado comienza con “Fuhrerhauptquartier”
(cuartel general del Furer). Coloquemos cada letra de este pequeño fragmento de texto en
claro encima de su correspondiente letra del texto cifrado y ambas debajo de un número
que indica su orden:

                    1   2   3   4   5   6   7    8    9   10 11 12 13 14 15 16 17 18 19
      Texto claro: F U H R E R H A U P T Q U A R T I E R
     Texto cifrado: I D Z O Z L A H X Y B G I U A H L R H

       Vamos a llamar ahora πi a la permutación proporcionada por el conjunto formado
por los tres rotores y el reflector en la posición i que señala el número encima de las
letras. Como antes, designamos por σ a la sustitución del Stecker. El producto σ·πi·σ es
entonces la permutación resultante con la que se cifra la letra en el i-ésimo lugar. Así, por
ejemplo, σ·π7·σ(H) = A y σ·π8·σ(A) = H. Pasando σ al otro lado en estas igualdades:
π7·σ(H) = σ(A), π8·σ(A) = σ(H). Sustituyendo σ(H) en la primera igualdad:
π7·π8·σ(A) = σ(A). Esto significa que σ(A) queda fija por el producto π7·π8, que (σ(A)) es
un ciclo de longitud 1 de esta permutación. De esto se trata, de observar el mismo ciclo de
longitud 1 en al menos tres productos diferentes de las permutaciones πi. Y estos
productos pueden tener más de dos factores.

       Para observar mejor los ciclos, Turing dispuso las letras como en la Figura 9.4. El
lector con conocimientos en Matemáticas reconocerá que se trata de un grafo. En sus
vértices figuran las letras que aparecen en la crib o en su cifrado. Dos letras están
conectadas por una arista si una de ellas se transforma en la otra. El número junto a la
arista referencia la permutación que produce tal transformación.




                                                173
9. CRIPTOANÁLISIS DE ENIGMA




                             F                                               O

                                     1                                           4

                                             17                     6                     18
                                 I                    L                      R                 E

                                     13                    15                    19            5

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

                             D                                               T                 Q

                                                                                 11            12
                                             10
                             P                        Y                      B                 G

                                                  Figura 9.4.


      El grafo de la Figura 9.4 facilita la búsqueda de ciclos de longitud 1: partiendo de
una letra sobre un vértice, se pasa de una a otra por las aristas hasta regresar a la de
partida, completando así un ciclo. Por ejemplo, comenzando en la letra A, se observan los
siguientes tres ciclos:
                                                  8             7
                                             A        H                 A
                                             7        19                15
                                     A            H         R                A
                            14               13       17                6            15
                       A                 U        I             L            R            A

       El primero indica que (σ(A)) pertenece al producto π7·π8, como ya hemos visto
antes. Análogamente, este mismo ciclo de longitud 1 está presente en las permutaciones
π15·π19·π7 y π15·π6·π17·π13·π14. Ahora, recurramos de nuevo a la Teoría de Probabilidades.
Si las sustituciones πi se eligen aleatoriamente entre las de su clase, sólo una vez de cada
17576 ( = 263) figurará el ciclo (σ(A)) en los tres productos de antes. La bomba de Turing
utiliza esta circunstancia para determinar el correcto orden y posición de los rotores. Su
funcionamiento se esquematiza en la Figura 9.5.




                                                      174
9. CRIPTOANÁLISIS DE ENIGMA




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

                                                                                      A
                                                                                      14
       ABCDEFGHIJKLMNOPQRSTUVWXY Z                                                    U
                                                                                      13
                                                                                      I
                                                                                      H
                                                                                      8
                                                                                      A
                               Figura 9.5. Esquema de la bomba de Turing.


       Como en la bomba de Rejewski, la de Turing consiste en una serie de bancos de
rotores conectados entre sí convenientemente. Para ello, los bancos presentan una doble
entrada, como puede apreciarse en la figura. Al lado de estas entradas hemos escrito la
correspondiente letra del vértice del grafo. Elegidos tres de los cinco rotores y un orden,
se disponen en la bomba tantos bancos como permutaciones πi intervienen en los tres
ciclos considerados. En nuestro ejemplo: 8. Precisamente, el número i al lado de cada
banco de rotores indica el subíndice de la permutación. Las conexiones entre los bancos
de rotores se realizan conforme a los ciclos. Puede observarse en la figura que, en efecto,
así se ha hecho. Para las conexiones se emplea un cable con 26 direcciones, una por cada
letra. Este tipo de cable conecta también un panel con 26 lámparas con los bancos de
rotores, de la manera que se indica en la figura: uniendo el panel a las entradas ‘A’.

      Antes de utilizar la bomba, es preciso ajustar las posiciones de los rotores en los
bancos. Los del banco de índice menor en una posición inicial, digamos AAA, y los de
los demás bancos avanzados tantas posiciones como la diferencia entre sus índices y el
menor. Por ejemplo, en nuestro caso el índice menor es 6. Luego los rotores asociados al
índice 7 deben situarse en la posición AAB, los del índice 8 en AAC, etcétera. Tras


                                                   175
9. CRIPTOANÁLISIS DE ENIGMA




ajustar los rotores, se hace una conjetura sobre la letra del ciclo de longitud 1 común a los
tres productos de permutaciones πi . En nuestro caso, σ(A). Hagamos la suposición
σ(A) = B, por ejemplo. Entonces en el panel de lámparas se activa la palanca
correspondiente a la letra B y, a continuación, se pone en marcha la bomba. Un motor
eléctrico hace girar de forma sincronizada todos los bancos de rotores, recorriendo éstos
las 17576 posiciones posibles. Cada una de ellas da lugar a un juego de permutaciones πi
diferentes.

      Del panel de lámparas parte una corriente eléctrica por la dirección B del cable y
llega a las entradas A de los bancos 7, 8, 14 y 15. De ellos sale por la entrada opuesta, por
las direcciones πi(B) del cable. Y así va entrando y saliendo por los diferentes bancos de
rotores, siguiendo el camino al que obligan las conexiones entre ellos. Cuando la corriente
regrese a una entrada A, circula también por el panel, por la misma dirección que lo hace
que en dicha entrada.

      Si en una determinada posición de los rotores el ciclo (B) es común a los tres
productos de permutaciones πi , entonces en cada trozo de cable la corriente circula por
una única dirección. En las entradas A y en el panel lo hace por la dirección B y sólo se
enciende la bombilla de esta letra. En tal caso, un mecanismo detiene la bomba. Se anota
el orden de rotores, la posición y la suposición σ(A) = B. Más adelante habrá que
comprobar si estos datos coinciden con los de la clave buscada. Supongamos por el
momento que, en efecto, así es. Entonces en otra entrada, la U por ejemplo, la corriente
circula por la dirección de la letra emparejada con la U en el Stecker. Esta letra puede
determinarse conectando otro panel de lámparas a la entrada U y observando cual es la
única bombilla que luce. De este modo, repitiendo esta operación con las demás entradas,
pueden averiguarse las conexiones en el Stecker de las letras que figuran en las entradas.
En cambio, si la posición de los rotores o la conexión ‘A−B’ no figuran en la clave
buscada, entonces el proceso anterior proporciona falsas conexiones en el Stecker que
ayudarán a rechazar tales datos cuando se comprueben.

      Como dijimos antes, muy probablemente el ciclo (B) sólo sea común a los tres
productos de permutaciones πi en una posición por cada orden de los rotores. En el resto
de las posiciones, alguno de estos productos transforma la B en otra letra. Entonces, en el
panel, la corriente eléctrica fluye también por la dirección de esta nueva letra,
encendiendo su correspondiente lámpara. A su vez, la nueva letra se transforma en otra en
alguno de los productos y así sucesivamente. El resultado es que la corriente eléctrica
circula por todas las direcciones y, en consecuencia, todas las bombillas lucen. Cuando
esto ocurre, los rotores avanzan automáticamente una posición.

      En unas pocas posiciones puede suceder que resten lámparas no encendidas. En
estos casos, la bomba también se detiene. Entonces el operario activa la palanca de una
bombilla apagada, digamos la C. Si no se enciende otra lámpara apagada es porque el
ciclo (C) es común a los tres productos de permutaciones πi . Habrá que anotar también la
posición, la conexión σ(A) = C y las de las otras letras que pueden obtenerse como se
indicó antes. Tal situación sucede, por ejemplo, cuando sólo resta una bombilla apagada.
Una vez que lucen todas las bombillas se reinicia la bomba en la siguiente posición.



                                            176
9. CRIPTOANÁLISIS DE ENIGMA




      La bomba de Turing proporciona, para cada orden de rotores, un reducido número
de posibles posiciones correctas. Asociadas a cada posición van unas supuestas
conexiones en el Stecker de las letras que han intervenido en la bomba (seis en nuestro
ejemplo). Dado que el número de ordenaciones de rotores es sesenta, el de posiciones
anotadas puede ascender a varios cientos. No obstante, no es difícil encontrar la posición
y conexiones correctas entre las candidatas: Situando los rotores de Enigma en una de
estas posiciones y con las conexiones asociadas en el Stecker, se teclea el fragmento texto
en claro (la crib). Seguidamente, se repite esta operación con el fragmento cifrado. Una
simple comparación de estos fragmentos con los obtenidos permite determinar si tal
posición es la correcta. Además, en tal caso, se obtienen las demás conexiones del
Stecker. Después de esto, para completar la clave, sólo queda ajustar el Ringstellung.
También es sencillo. Se descifra el resto del mensaje y se observa donde debe avanzar el
rotor central para que siga revelándose el texto en claro.

       No obstante, puede ocurrir que ninguna de las posiciones proporcionadas por la
bomba de Turing sea la correcta. Esto sucede si avanza el rotor central mientras se cifran
las letras que darán lugar a los tres ciclos necesarios para el funcionamiento de la bomba.
En ella no se contempla esta posibilidad. En nuestro ejemplo, la primera letra de la crib
que interviene en los ciclos es la sexta y la última la decimonovena. Entre ambas, catorce
letras. Si durante el cifrado de estas catorce letras avanza el rotor central, el método de
Turing no funcionará. En consecuencia, como el rotor central avanza cada 26 letras, la
probabilidad de éxito de la bomba con nuestro ejemplo es 12/26 ó, en términos de
porcentaje, del 46%.

      Pero el principal inconveniente de la bomba de Turing está en que es difícil que en
cribs con menos de 26 letras aparezcan los tres ciclos requeridos. En la preparación de
nuestro ejemplo hemos necesitado cifrar varias veces la crib con distintas claves hasta dar
con una que proporciona los ciclos aquí mostrados. Por este motivo, el mecanismo ideado
por Turing, aunque ingeniosísimo, era poco eficiente en la práctica.

      Afortunadamente, la ausencia de los tres ciclos se solventó con una sencilla pero
brillante idea de Gordon Welchman, otro matemático de Cambridge. Se le ocurrió incluir
en la bomba de Turing el llamado tablero diagonal, un cuadro de conexiones que,
implementando las conexiones del Stecker, hacía circular de nuevo la corriente por los
bancos de rotores. Un dibujo similar al de la Figura 9.5 describirá más detalladamente
esta función. Previamente, extraigamos del grafo de la Figura 9.4 otro carente de tres
ciclos. Por ejemplo, el siguiente:




                                           177
9. CRIPTOANÁLISIS DE ENIGMA




                                        17                          18
                               I                 L             R           E

                                   13                 15       19

                       9                14                 8
                X             U                  A             H

                                                               16

                                                               T

                                                               11

                                                               B
                                             Figura 9.6.


       La razón de escoger este grafo obedece únicamente a servir de ejemplo en la bomba
de Turing-Welchman. Podíamos haber elegido cualquier otro, ya que esta nueva bomba
funciona con cualquier grafo, tengan o no ciclos. El dibujo anunciado corresponde a la
Figura 9.7. En su parte superior izquierda puede observarse el tablero diagonal. Un
cuadro con 26×26 puntos, cada uno identificado por un par de letras correspondientes a la
fila y columna en la que se encuentra y representando la conexión en el Stecker de estas
letras. Así, el punto (A, B) simboliza el emparejamiento de las letras A y B en el Stecker.
Igual que el punto (B, A), evidentemente. Por esta razón, los puntos se encuentran
conectados de modo simétrico respecto a la diagonal del tablero: el punto (A, B) con el
(B, A), el (A, C) con el (C, A), etcétera. En el dibujo se incluyen estas dos conexiones y la
de los pares (E, H) y (H, E). A la derecha del tablero diagonal se encuentran los bancos de
rotores; conectados entre sí mediante un cable con 26 direcciones, según indica el grafo
anterior. Este mismo tipo de cable conecta las filas del tablero con las entradas
homónimas de los bancos, uniendo cada dirección del cable con su correspondiente
punto. Así, la fila A del tablero se conecta con las entradas A de los bancos, de forma que
la dirección B concluye en el punto (A, B), la C en (A, C), etcétera. Y como en la bomba
de Turing, se incluye también un panel de lámparas conectado a cierta entrada. La A en
nuestro dibujo.




                                                178
9. CRIPTOANÁLISIS DE ENIGMA




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

                              Figura 9.7. Esquema de la bomba de Turing-Welchman.


       La utilización de esta bomba es idéntica a la diseñada por Turing y no hace falta que
repitamos todo el proceso. Sólo es preciso mostrar el efecto del tablero diagonal. Al poner
en marcha la bomba el fluido eléctrico circula por la dirección B y se introduce por la
entrada A de los bancos 8, 14 y 15 y también por esta misma entrada del tablero diagonal.
Al estar conectado al punto (A, B) con el (B, A), la corriente eléctrica sale del tablero por
la dirección A de la entrada B y se dirige al banco 11. Después de abandonar cada uno de
estos bancos, el flujo eléctrico entra en otro conectado y también en el tablero diagonal.
Por ejemplo, la corriente que abandona el banco 14 llega al tablero por cierto cable de la
fila U. Si la letra de este cable figura en la entrada de algún banco, se introducirá en él por
el cable U. Y así sucesivamente. El tablero diagonal abre nuevas direcciones de flujo
eléctrico en la red de bancos.

      Al igual que en el diseño de Turing, en casi todas las posiciones de los rotores la
corriente eléctrica circulará por las 26 direcciones de cada trozo de cable, en el panel se


                                                                      179
9. CRIPTOANÁLISIS DE ENIGMA




iluminarán todas las lámparas y los rotores avanzarán automáticamente a la siguiente
posición. En otras, en cambio, habrá direcciones sin flujo eléctrico y no todas bombillas
del panel estarán encendidas. Cuando esto sucede, la bomba se detiene. De nuevo se trata
de encontrar aquellas posiciones en las que la corriente circula por una única dirección.
Entre ellas está la que figura en la clave que se pretende hallar. Ahora es más difícil
estimar el número de paradas de la bomba. Si esta cantidad se eleva a varias decenas por
cada ordenación de los rotores, la bomba será poco eficaz. Hablando de forma poco
precisa pero intuitiva, la eficiencia de la bomba depende de que la corriente circule el
mayor número posible de veces por los bancos de rotores. Los ciclos favorecen esta
circulación; también un mayor número de bancos y conexiones. Pero si se añaden más
bancos, aumenta la posibilidad de que avance el rotor central, circunstancia que sigue
derrotando a la bomba. Nótese que la probabilidad de éxito en nuestro ejemplo es del
54%.

       En agosto de 1940, la British Tabulating Machine Company llevó a Bletchley Park
la primera bomba. Tardaba unos quince minutos en comprobar todas las posiciones de un
orden de rotores determinado. Con ella, la búsqueda de la clave se efectuaba en una media
de ocho horas. Poco a poco fueron llegando más bombas que redujeron progresivamente
este tiempo. En mayo de 1941 había ya ocho bombas funcionando, sesenta dos años más
tarde y unas doscientas hacia el final de la guerra. No se conserva ninguna, ya que
Winston Churchill mandó destruirlas cuando término la contienda.

      En Estados Unidos también se construyeron bombas criptográficas. Eran más
rápidas que las británicas y por ello se emplearon principalmente contra la armada
alemana. Ésta dio mucho más trabajo que el ejército de tierra o la fuerza aérea. Por un
lado, usaba tres rotores más que elevaban el número de ordenaciones posibles a 336; por
otro, el sistema de cifrado era diferente. La obtención de las Spruchschlüssels requería
elegir dos trigramas de un libro de claves, combinar sus letras para formar cuatro
bigramas y reemplazarlos por otros según cierta tabla. Además, a partir de febrero de
1942, los submarinos alemanes emplearon una Enigma con 4 rotores. Para poder penetrar
en las comunicaciones de la armada alemana, los aliados tenían que esperar a que las
sucesivas capturas de navíos enemigos proporcionasen todo este material criptográfico. Y
una vez conseguido, recuperar las claves requería el empleo de un elevado número de
bombas. La Figura 9.8 es una fotografía de la bomba que se exhibe en el National
Cryptologic Museum, en Washington. Es una de las 121 fabricadas en 1943 por la
National Cash Register Company y que se destinaron contra la Enigma de los submarinos
alemanes. En 20 minutos recorría las 456976 posiciones de los cuatro rotores.




                                          180
9. CRIPTOANÁLISIS DE ENIGMA




Figura 9.8. Una bomba americana.




              181
Libro criptografia
10
            CRIPTOGRAFÍA MODERNA


      A finales de 1945, Presper Eckert y John Mauchly, de la Universidad de
Pensilvania, concluyeron la construcción del que muchos textos consideran el primer
ordenador electrónico: ENIAC (Electronic Numerical Integrator And Computer).
Constaba de unos 18000 tubos de vacío como principal componente de sus circuitos,
pesaba casi 32 toneladas y media más de 2 metros de ancho y 30 de largo. La primera
tarea que llevó a cabo fueron unos cálculos en Física Nuclear que suponían 100 años de
trabajo de una persona y en los que ENIAC empleó sólo 2 horas. Este primer ordenador
podía efectuar 5000 sumas ó 360 multiplicaciones en un segundo. Actualmente, tan sólo
poco más de medio siglo después, en el mundo hay ya varios cientos de millones de
ordenadores, de un peso y tamaño cada vez más reducidos. Todos estos ordenadores son
capaces de realizar más de un millón de operaciones por segundo (un billón los llamados
supercomputadores) y, lo que es más trascendente, como pueden ser programados para
realizar “cualquier” tarea, cada vez están presentes en un mayor número de actividades
humanas.

      Como era de esperar, la Criptografía también se ha visto afectada por la llegada de
los ordenadores. De entrada, en el modo de hacerla. Un ordenador puede ser programado
para implementar cualquiera de los métodos de cifrado que hemos visto hasta ahora,
incluidas las máquinas de rotores descritas en un capítulo anterior; pero también los
métodos de criptoanálisis. Y si estos criptosistemas ya fueron derrotados sin emplear el
ordenador, con él no tienen ninguna posibilidad. No obstante, ello no debe inducir a
pensar que la llegada de los ordenadores ha dado ventaja a los criptoanalistas frente a los
diseñadores de códigos. Todo lo contrario, en el ordenador es posible implementar nuevos
criptosistemas que proporcionan una seguridad muy superior a la de los cifrados clásicos.
Quizás no sea aventurado decir que implementando uno de esos cifrados en un simple PC,
se puede derrotar incluso a organizaciones gubernamentales que disponen de
supercomputadores destinados a tareas de criptoanálisis. En este capítulo describiremos
de forma breve y genérica estos modernos cifrados y después hablaremos de dos de ellos:
el controvertido DES y el actual AES.




                                           183
10. CRIPTOGRAFÍA MODERNA




      Los fundamentos de los nuevos criptosistemas arrancan del modo en que se
representa la información en los ordenadores. En ellos se procesan datos de procedencia
muy distinta como números, textos, gráficos o sonidos; pero internamente se representan
del mismo modo: mediante números, números binarios. Expliquemos brevemente qué
números son éstos.

       Estamos familiarizados con la escritura de números enteros usando los dígitos del 0
al 9, es una de las primeras cosas que se aprende en la escuela. Como bien nos enseñaron
allí, en el número 3524, el 4 ocupa el lugar de las unidades, el 2 el de las decenas, el 5 el
de las centenas y 3 el de las unidades de millar. Esto significa que

               3524 = 3·1000 + 5·100 + 2·10 + 4·1 = 3·103 + 5·102 + 2·10 + 4·1.

      De este modo, la secuencia de dígitos 3524 no es sino una manera abreviada de
escribir la expresión anterior, eliminando los signos ‘+’ y ‘·’ y las potencias de 10. Esta es
la bien conocida forma decimal de escribir números, inventada en la India en el siglo VII
y trasmitida a Europa en la Edad Media por los árabes.

      En lugar de emplear 10 como base de las potencias, puede utilizarse cualquier otro
entero b mayor o igual que 2. En tal caso, el desarrollo de un entero genérico n según las
potencias de b tiene esta expresión:

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

donde r es el único entero tal que br ≤ n < br+1 y n0, n1, ..., nr, son enteros estrictamente
menores que la base b. Si buscamos signos para representar a cada uno de los enteros
comprendidos entre el 0 y b–1; si, por ejemplo, nr se representa por el signo ‘%’, nr-1 por
‘$’, ..., n1 por ‘#’ y n0 por ‘&’, entonces n se escribe en base b como ‘%$...#&’.

      Cuando la base b es 2, el sistema de representación que resulta recibe el nombre de
binario. Los números binarios son entonces los enteros expresados en forma binaria. Sólo
requiere dos símbolos, que suelen ser los dígitos 0 y 1, llamados ahora bits, y que, como
es de suponer, corresponden con los números cero y uno, respectivamente. Así pues, un
número binario es una secuencia de bits. Por ejemplo: 1101101, que escrito en modo
decimal es 109 ya que:

                  1101101 = 1·26 + 1·25 + 0·24 + 1·23 + 1·22 + 0·2 + 1 = 109.

      Si se desea expresar en forma binaria un número escrito en otro sistema, basta con
dividir sucesivamente dicho número entre 2 y tomar la sucesión de restos en orden
inverso. Por ejemplo, escribamos en binario el número que en modo decimal es 25. Las
divisiones entre 2 son las siguientes:




                                                 184
10. CRIPTOGRAFÍA MODERNA




                                 25   2
                                 1    12     2
                                      0      6     2
                                             0     3     2
                                                   1     1

      Por tanto, 25 se escribe en binario 11001.

      Como decíamos antes, los ordenadores operan internamente con números binarios.
Cualquier información que procesen ha de transformarse antes en una sucesión de
números binarios. El modo de hacerlo es asignar un número a cada dato básico de
información, empleando para ello un código. Por ejemplo, un texto escrito con cierto
alfabeto se puede transformar en una secuencia binaria haciendo corresponder a cada letra
del alfabeto el número binario que figure en el código utilizado al efecto. Hasta hace muy
poco, tal código era habitualmente el famoso ASCII (American Standard Code for
Information Interchange). Inicialmente, el ASCII fue diseñado como código de 7 bits.
Con 7 bits se manejan los números binarios comprendidos entre 0 y 1111111 (=127, en
decimal), disponiendo así de 128 números que se pueden asignar a otros tantos signos. La
relación de signos y sus correspondientes números (en decimal y binario) incluidos en
este primer ASCII de 7 bits se muestra en la Tabla 10.1.

       Cuando en los años 60 se adoptó el código ASCII, la mayoría de los ordenadores se
diseñaban para almacenar y manipular números de 8 bits (esto es, un byte). En un
principio, el bit sobrante se utilizó como bit de paridad, para detectar posibles errores en
la codificación; pero después se empleó para codificar más signos. Pasar de 7 a 8 bits
permite añadir otros 128 caracteres al ASCII: letras acentuadas, nuestra ñ, la francesa ç,
etc. No obstante, esta ampliación no fue estándar; los 128 nuevos caracteres cambiaban de
un fabricante a otro. En la actualidad, se ha desarrollado un nuevo código estándar de 16
bits, el Unicode. Es una extensión del ASCII que incluye numerosos juegos de caracteres:
griego, árabe, cirílico, chino, japonés, símbolos matemáticos… Con 16 bits hay lugar para
216 = 65536 signos diferentes.

     En resumen, que al introducir texto (o cualquier otro tipo de información) en el
ordenador, éste lo contempla como la secuencia de números binarios que proporciona el
código empleado al efecto. Por ejemplo, usando un código ASCII de 8 bits, la palabra
‘ADIOS’ da lugar a la siguiente sucesión de bytes:

                             A          D          I         O          S
                             ↓          ↓          ↓          ↓         ↓
            Decimal:        65       68       73       79       83
            Binario:     01000001 01000100 01001001 01001111 01010011

      Es precisamente sobre esta secuencia de bits donde actúan los modernos métodos de
cifrado, transformándola en otra que será la que se transmita al receptor del mensaje.



                                            185
10. CRIPTOGRAFÍA MODERNA




Cuando éste la reciba, deberá someterla al proceso de descifrado para obtener de nuevo la
secuencia inicial originada por el código empleado. Por tanto, en los criptosistemas que
cifran la información interna del ordenador, tanto el alfabeto en claro como el de cifrado
constan sólo de dos signos: 0 y 1; y los textos en claro y cifrado son largas secuencias de
tales bits. Nótese que el código no forma parte del criptosistema.

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




                                                     186
10. CRIPTOGRAFÍA MODERNA




      Los textos de Criptografía clasifican los modernos criptosistemas en dos categorías
básicas: cifrados secuenciales y cifrados en bloque. Describámoslos brevemente.

      Los secuenciales se llaman así porque para cifrar generan una sucesión de bits con
la misma longitud que el texto cifrado, la denominada secuencia clave. El modo de
producirla es precisamente la clave en esta forma de cifrado. Con los bits de la secuencia
clave y del texto en claro se efectúa la suma ‘XOR’, que se representa por el signo ‘⊕’ y
se define así:

                   0 ⊕ 0=0,       1 ⊕ 0=1,         0 ⊕ 1=1,     1 ⊕ 1=0.

      La sucesión suma obtenida es el texto cifrado que se transmite.

       Un sencillo ejemplo aclarará este modo de cifrar. En él cifraremos la secuencia de
bits que obtuvimos antes mediante la codificación en ASCII de la palabra ‘ADIOS’. En
primer lugar, hemos de precisar como se genera la secuencia clave k1k2 k3 k4… Se va a
obtener conforme a la fórmula recurrente ki = ki-1⊕ ki-4 y a partir de los bits que componen
el llamado estado inicial, que en este ejemplo son los cuatro siguientes: k0 = 0, k-1 = 1, k-
2 = 0, y k-3 = 1. Entonces:


                                 k1 = k 0 ⊕ k-3 = 0 ⊕ 1=1,
                                 k2 = k 1 ⊕ k-2 = 1 ⊕ 0=1,
                                 k3 = k 2 ⊕ k-1 = 1 ⊕ 1= 0,
                                 k4 = k 3 ⊕ k0 = 0 ⊕ 0= 0…

     Como hemos dicho antes, los bits del texto en claro se suman con los de la
secuencia clave y el resultado es el texto cifrado:

      Texto en claro: 010000010100010001001001…
      Secuencia clave: 110010001111010110010001…
                                             ↓ ⊕
      Texto cifrado:     100010011011000111011000…

     Observemos que el receptor del mensaje recupera el texto en claro generando de
nuevo la secuencia clave y sumando sus bits con los del texto cifrado.

      Notemos también que sumando los bits del texto en claro con los del cifrado se
obtiene la secuencia clave. En consecuencia, un criptoanalista que disponga de texto en
claro y su correspondiente cifrado accede rápidamente a la secuencia clave. Por esta
razón, si se desea cierto grado de seguridad, la secuencia clave debe ser distinta en cada
transmisión. En la práctica, el modo más eficiente de hacerlo es variando los bits que
componen el estado inicial.

     Cuando el estado inicial es secreto (y, por tanto, forma parte de la clave) el cifrado
secuencial se dice sincronizado. En este caso, para que el receptor pueda descifrar


                                             187
10. CRIPTOGRAFÍA MODERNA




correctamente el mensaje, debe sincronizar con el emisor su generador de secuencias
clave, situándolo en el mismo estado inicial. Esto, si el tráfico de mensajes es denso,
supone un problema de difícil solución. Tal problema no existe si cada estado inicial es
elegido por el emisor y comunicado en claro al receptor en la cabecera del mensaje. Si se
elige esta opción, el cifrado se dice autosincronizado. En este caso, al ser público el
estado inicial, la seguridad recae exclusivamente en el modo en que se genera la
secuencia clave. Por tanto, debe resultar imposible recuperar tal secuencia a partir del
estado inicial. Y aunque se dispone de un amplio conocimiento teórico sobre esta
cuestión, en la práctica es complicado diseñar un generador secuencial que sea seguro en
modo autosincronizado.

      Puede ser interesante notar que un cifrado secuencial es de hecho un cifrado
polialfabético sobre el alfabeto formado por los bits 0 y 1. En este alfabeto sólo son
posibles dos sustituciones: una, la que deja invariantes dichos bits y que podemos
representar por σ0; otra, la que los permuta y que representamos por σ1. Esto es: σ0(0)=0
y σ0(1)=1, σ1(0)=1 y σ1(1)=0. Por tanto:

                 σ0(0) = 0 ⊕ 0, σ0(1) = 1 ⊕ 0, σ1(0) = 0 ⊕ 1, σ1(1) = 1 ⊕ 1.

      Luego sumar un bit del texto en claro con un 0 de la secuencia clave equivale a
aplicarle la sustitución σ0, y añadirle un 1 es lo mismo que hacer actuar σ1 sobre él. Así
pues, sumar una secuencia clave a un texto en claro produce el mismo resultado que el
cifrado polialfabético obtenido con la sucesión correspondiente de sustituciones σ0 ó σ1.
Y siguiendo con esta analogía entre modernos cifrados secuenciales y antiguos
polialfabéticos, un aparato electrónico que genere secuencias clave es la versión digital de
una máquina de rotores, en donde su estado inicial se corresponde con la posición inicial
de los rotores.

      Si los cifrados secuenciales pertenecen a la categoría polialfabética, los cifrados en
bloque responden al modelo poligráfico descrito en el Capítulo 4. Dividen el texto en
claro en bloques de bits del mismo tamaño y cada uno de ellos se transforma en otro
según determina el proceso de cifrado, en el que interviene la clave elegida.
Seguidamente, presentamos un ejemplo sencillo de cifrado en bloques de 8 bits en el que
emplearemos una clave de ese mismo tamaño. En la práctica, valores típicos de estas
longitudes son 64, 128 ó 256 bits; y sus procesos de cifrado son mucho más complejos
que el que aquí sirve de ejemplo.

      Nuestro cifrado consiste en dividir la sucesión de bits que conforma el texto en
claro en trozos de 8 bits y sobre cada uno de ellos efectuar las siguientes tres operaciones:

      1. Reordenar los 8 bits según el orden 4, 7, 8, 1, 6, 5, 2, 3.

      2. Efectuar la suma XOR con la clave.

      3. Volver a realizar la permutación de bits del paso 1.




                                             188
10. CRIPTOGRAFÍA MODERNA




      Empleando en este cifrado la clave 10100111, la cadena de bits obtenida al
codificar en ASCII la palabra ‘ADIOS’ se cifra de la siguiente manera:

     Texto en claro: 01000001 01000100 01001001…
                                          ↓
                                    Reordenación
                      00100010 00001010 00100110…
                                          ↓    ⊕ 10100111
                      10000101 10101101 10000001…
                                          ↓
                                  Reordenación
     Texto cifrado: 00111000 00111101 00110000…

      Notemos que los pasos de este cifrado son involutivos y que, en consecuencia, el
proceso de cifrado sirve también para descifrar. Esta es una propiedad que suele estar
presente en la mayoría de los criptosistemas que se emplean en la práctica, por la
comodidad que ello supone.

      En el ejemplo anterior hemos empleado un cifrado en bloque de la manera más
simple y natural que puede hacerse. Los textos americanos lo denominan modo ECB,
acrónimo de “Electronic Code Book”. En ocasiones no es el más conveniente. En este
modo, si no varía la clave, bloques iguales de texto en claro dan lugar también a trozos
idénticos de texto cifrado. Con frecuencia, los mensajes que generan los ordenadores
tienen estructuras muy regulares y presentan numerosos fragmentos idénticos; sobre todo
en la cabecera y en el final. Esto puede presentar un gran riesgo para la seguridad de un
cifrado en bloque. Tal problema puede resolverse usando el cifrado en bloque de la
manera que explicamos a continuación.

      Antes de cifrar, el emisor elige aleatoriamente el denominado vector de
inicialización, que es un bloque de bits de la misma longitud con la que opera el cifrado y
que se transmite en claro al receptor en la cabecera del mensaje. Con este vector y el
primer bloque de texto en claro se efectúa la suma XOR y se cifra el resultado,
obteniéndose el primer fragmento de texto cifrado. Este primer trozo de texto cifrado se
suma con el segundo bloque de texto en claro y se cifra el resultado, dando lugar al
segundo trozo de texto cifrado. Y así se continúa, sumando un bloque de texto en claro
con el anterior de cifrado y cifrando la suma resultante. Para descifrar, el receptor del
mensaje debe aplicar el proceso de descifrado a cada trozo de texto cifrado y el resultado
obtenido sumarlo con el bloque anterior. Quizás sea más clarificador expresar todo esto
matemáticamente:

            Cifrado: yi = C(xi ⊕ yi−1)           Descifrado: xi = yi−1⊕D(y i ),

donde C y D representan respectivamente los procesos de cifrado y descifrado; xi e yi los
i-ésimos bloques de cifrado y descifrado, siendo y0 el vector de inicialización.

     Esta forma de operar que acabamos de describir recibe el nombre de modo CBC
(“Cipher Block Chaining”). Operando en este modo y variando el vector de inicialización


                                           189
10. CRIPTOGRAFÍA MODERNA




en cada transmisión, los bloques iguales de texto en claro se transforman siempre en
trozos distintos de texto cifrado. Hay otras formas de emplear los cifrados en bloque que
resuelven el problema planteado antes y que se adaptan mejor a ciertas condiciones de
transmisión. Pero no entramos a describirlos y damos ya por concluido esta breve
incursión por la teoría de los modernos cifrados. El lector interesado puede consultar
alguno de los magníficos textos que se adentran en este campo. El de Bruce Schneier,
incluido en la bibliografía, es uno de ellos.

       Dejemos entonces a un lado las cuestiones teóricas y pasemos a hablar de DES, un
cifrado moderno que ya tiene reservado un capítulo en la historia de la Criptografía. Para
introducirlo, situémonos en los Estados Unidos a comienzos de los años setenta. Por
aquellos años, la proliferación de los ordenadores y el paralelo desarrollo de los sistemas
de comunicación permitieron que bancos y empresas diversas almacenasen y
transmitiesen un volumen de información cada vez mayor. Ello trajo consigo una
demanda de protección de la información por parte de estas organizaciones. Para atender
esta petición, la entonces llamada NBS, la oficina nacional de estándares, puso en marcha
un programa destinado a dotar de seguridad a las comunicaciones y bases de datos. Parte
de ese programa era la adopción de un estándar de cifrado de uso general. Con este
objetivo, en mayo de 1973, la NBS solicitó públicamente propuestas de tal estándar. Se
recibieron muy pocas, y ninguna de ellas mereció la consideración de la NBS. Un año
después, en agosto de 1974, la NBS efectuó un segundo concurso. En esta ocasión, la
mítica compañía IBM remitió un criptosistema basado en un cifrado denominado
“Lucifer” y que Horst Feistel, uno de sus técnicos, había ideado unos años antes. A la
NBS le pareció un cifrado interesante; pero antes de adoptarlo como estándar, lo sometió
a la consideración de los expertos de la NSA, la agencia nacional de seguridad.

       La NSA es el organismo oficial responsable de la seguridad en las comunicaciones
militares y gubernamentales de los Estados Unidos; así como de interceptar y penetrar en
las comunicaciones de ejércitos y gobiernos de otros países. Fue creada por el presidente
Harry Truman a finales de 1952, con el objeto de reunir en un solo órgano los servicios de
inteligencia de los tres cuerpos del ejército americano. El hecho que emplee más personas
que la CIA y que sus instalaciones ocupen un espacio similar al del Pentágono da una
idea de la importancia de la NSA.

      Unos meses después, en marzo de 1975, y tras la evaluación positiva de los expertos
de la NSA, la NBS publicó en el Registro Federal los detalles del cifrado de IBM, con
objeto de someterlo a discusión pública. Casi dos años más tarde, en enero de 1977, la
NBS lo adoptó como estándar de cifrado de la información “no clasificada”, con el
nombre de “Data Encryption Standard”: DES. Poco tiempo después, compañías como
Motorola, AMD o DEC iniciaban la producción y distribución de chips que
implementaban DES. Durante los veinte años que ha estado en vigor, ha sido el
criptosistema preferido de empresas, bancos e incluso organizaciones gubernamentales
como el Departamento de Justicia o la Reserva Federal.

      Seguidamente, presentamos una descripción abreviada de este criptosistema que
permite conocer su funcionamiento. Los detalles pueden consultarse en el anteriormente
citado libro de Schneier.


                                           190
10. CRIPTOGRAFÍA MODERNA




      DES es un cifrado en bloques de 64 bits que opera con claves de 56 bits. El proceso
de cifrado de cada bloque sigue los siguientes tres pasos:

     1. Se efectúa una permutación inicial de los 64 bits. El resultado se parte en dos
        trozos de 32 bits, uno su mitad izquierda L0 y el otro su otra mitad diestra R0.

     2. Estos trozos L0 y R0 se someten a 16 rondas de idénticas operaciones. El
        resultado de cada ronda es otro par de bloques de 32 bits: Li y Ri, que se
        obtienen a partir de los anteriores Li−1 y Ri−1 de este modo:

                             Li = Ri−1       Ri = Li-1 ⊕ f ( Ri−1, Ki),

        donde f es una transformación de bits que definiremos después y Ki es un bloque
        de 48 bits extraído de la clave (el subíndice indica que es diferente en cada
        ronda).

     3. Del paso anterior resultan dos bloques de 32 bits, L16 y R16. Se reúnen en uno
        sólo en el orden R16L16 y se aplica a este bloque de 64 bits la inversa de la
        permutación del paso 1. El resultado es ya el bloque cifrado.

      El descifrado se consigue ejecutando los mismos pasos anteriores, pero eligiendo
los bloques Ki en orden inverso: K16, K15, …, K1.

      Describamos a continuación la transformación f que actúa en el paso 2. Esta
transformación toma dos argumentos o entradas: R de 32 bits y K de 48, y produce como
salida otro bloque de 32 bits que denotamos f ( R, K). Se obtiene así:

     a) Se “expande” el bloque R a otro de 48 bits duplicando algunos de sus bits,
        obteniéndose entonces otro bloque que denotamos R′.

     b) Se forma la suma R′ ⊕ K y se parte en 8 trozos de 6 bits cada uno:

                                  R′ ⊕ K=B1B2B3B4B5B6B7B8

     c) Sobre cada trozo Bi actúa una transformación Si diferente, obteniéndose un
        bloque Ci de 4 bits. Más adelante describimos estas transformaciones Si,
        llamadas también “cajas”.

     d) Se reúnen los 8 trozos de antes en uno sólo: C = C1C2C3C4C5C6C7C8. Por
        último, los 32 bits de C se reordenan según cierta permutación. Esta es la salida
        de f.

      Vayamos ahora con la descripción de las cajas Si, la parte más controvertida de
DES. Estas 8 cajas admiten como entrada un bloque de 6 bits y producen como salida otro
de 4 bits. Dado que todas ellas son similares, mostraremos sólo S1. Consideremos la
siguiente Tabla 10.2, en la que cada una de sus cuatro filas es una permutación de los
enteros 0, 1, 2, …, 15:



                                          191
10. CRIPTOGRAFÍA MODERNA




           0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
       0   14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
       1   0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
       2   4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
       3   15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
                             Tabla 10.2. La primera caja de DES.


     Dado un bloque de 6 bits B = b1b2b3b4b5b6, se calculan los enteros i y j siguientes:

                      i = 2·b1 +b6,           j = 8·b2 +4·b3 +2·b4 +b5

y se considera la entrada i, j de la Tabla 10.2, que es un número entre 0 y 15. Se escribe
en binario, obteniéndose un bloque de 4 bits que es precisamente el transformado del
inicial B. Por ejemplo, si B =101110, es i=2·1+0=2 y j=8·0+4·1+2·1+1=7. La entrada
2,7 de la tabla es 11, que en binario se escribe 1011. Luego el transformado de 101110 es
1011.

      Naturalmente, DES es un criptosistema complejo. Así tiene que ser si se desea
cierta seguridad. Pero, a pesar de esta complejidad, DES es rápido si se implementa en
hardware. Por ejemplo, en 1991 la empresa DEC fabricó un chip capaz de cifrar a una
velocidad de 1 gigabit por segundo. Su precio: 300 dólares.

      La propuesta de DES como estándar levantó una gran polémica en los Estados
Unidos. Por la intervención de la NSA en el proceso. Aún hoy en día es desconocido si la
NSA modificó el cifrado que IBM remitió a la NBS. Algunos de los técnicos de IBM que
participaron en el proyecto han asegurado que la NSA no cambió ni una sola línea de su
algoritmo; pero otros, en cambio, han reconocido lo contrario. Sea como fuere, la
controversia surgió por las modificaciones que DES presentaba respecto a su antecesor, el
cifrado Lucifer, que también había sido publicado. Esencialmente, sólo hay dos
modificaciones. La primera, una reducción en el tamaño de los bloques y de la clave.
Lucifer encripta bloques de 128 bits y maneja claves de este mismo tamaño, mientras que
DES opera con bloques de 64 bits y claves de 56. Tanta disminución en el tamaño de la
clave hizo sospechar a algunas personas. Los 56 bits de la clave daban una seguridad más
que suficiente para las posibilidades de cómputo de los ordenadores comunes de los años
setenta; pero quizás no para los que podía poseer la NSA. Tal vez 56 bits era un tamaño
accesible para los supercomputadores de la NSA destinados a tareas de criptoanálisis. Las
cajas Si fueron la segunda modificación. En estas transformaciones de bits descansa toda
la seguridad de DES. Sin ellas, su proceso de cifrado podría expresarse mediante una
ecuación matricial; convirtiéndolo en un cifrado tipo Hill y, en consecuencia, vulnerable
ante un ataque con texto claro y su correspondiente cifrado. Las cajas impiden este
criptoanálisis. Lucifer tenía dos cajas por las que entraban y salían bloques de 4 bits de
una manera que parecía “natural”: ambas cajas eran reordenaciones de los 16 bloques que
se pueden formar con 4 bits. Los 6 bits que entran en las cajas de DES se transforman en
otros 4 de una forma misteriosa, como hemos tenido ocasión de observar. Muchos
sospecharon que escondían una “puerta trasera” que sólo la agencia de seguridad sabía


                                            192
10. CRIPTOGRAFÍA MODERNA




como abrir. Algo que la NSA siempre negó, obviamente; aunque reconoció que había
ciertas razones en su diseño que por motivos de seguridad no podían publicarse. Por otro
lado, los numerosos estudios llevados a cabo por personas ajenas a la NSA y a IBM no
han podido confirmar ni desmentir la presencia de puertas traseras en las cajas de DES;
pero sí la existencia de ciertos hechos “extraños”. Por ejemplo, Lexar Corporation dio a
conocer un informe en septiembre de 1976 que concluía diciendo:

      “… Han sido encontradas en DES ciertas construcciones que
      indudablemente fueron insertadas para fortalecer el sistema contra ciertos
      tipos de ataques. Otras que también han sido halladas parecen debilitar el
      sistema.”

      En cualquier caso, las cajas de DES proporcionan a este cifrado una seguridad muy
superior a la de Lucifer, a pesar de la reducción en el número de bits de la clave.

       Poco a poco, a lo largo de los años setenta y ochenta, una nueva comunidad de
criptógrafos surgió por empresas y universidades de todo el mundo; debido al desarrollo
de la informática y los sistemas de comunicación, digámoslo una vez más. Para ellos, la
implantación de DES como estándar fue todo un desafío; motivados más aún por el
certificado de seguridad que otorgó la participación de la NSA.

      El “reducido” número de bits de las claves invitaba a un ataque por “fuerza bruta”;
esto es, comprobando una a una todas las claves posibles. (Manejando claves de 56 bits
hay en total 256, un número que supera los 70 mil billones). Ya en 1977, Whitfield Diffie
y Martin Hellman pensaron en la posibilidad de construir un chip que comprobase un
millón de claves por segundo. Un ordenador que incorporase otro millón de tales chips
descubriría la clave a lo largo de un día. Sin embargo, hay que esperar hasta 1998 para
que se tenga constancia de la fabricación de uno de estos ordenadores. En ese año, la
Cryptography Reseach, la Avanced Wireless Technologies y la Electronic Frontier
Fundation construyeron conjuntamente el que llamaron “DES Cracker”, un ordenador con
más de 1800 chips que, siendo capaz de comprobar más de 90 mil millones de claves por
segundo, recuperaba una clave DES en una media de 5 días. Su coste rondó los 250 mil
dólares. No obstante, la búsqueda exhaustiva de claves DES ya había tenido éxito un año
antes, en junio de 1997. En esa ocasión, con motivo del concurso “DES Challenge”
convocado por la empresa RSA Data Security, 14000 PC´s coordinados a través de
Internet descubrieron la clave ganadora. Tardaron 120 días en encontrarla. El premio:
10000 dólares.

      En realidad, la fuerza bruta ha resultado ser el único método efectivo para derrotar a
DES. Se han descubierto otros métodos que requieren menos cálculo computacional, pero
ninguno es viable en la práctica. Los más conocidos son los denominados criptoanálisis
diferencial y criptoanálisis lineal, dos técnicas genéricas contra los cifrados en bloque. El
primero fue dado a conocer por los israelíes Eli Biham y Adi Shamir en 1990. Es un
ataque con texto pleno escogido, lo que significa que el criptoanalista debe disponer de
texto pleno (y su correspondiente cifrado) con ciertas características. Se ha mostrado
eficaz contra algunos cifrados en bloque, incluidos Lucifer y una versión de DES que no
supere las 8 rondas del segundo paso; pero para aplicarlo al auténtico DES de 16 rondas


                                            193
10. CRIPTOGRAFÍA MODERNA




se requiere una cantidad desorbitada de texto pleno. Curiosamente, poco después de
publicarse el trabajo de Biham y Shamir, Don Coppersmith, del equipo de IBM que
diseñó DES, afirmó que ellos ya conocían la técnica del criptoanálisis diferencial y que la
razón de las 16 rondas de DES era evitar este método de criptoanálisis. El criptoanálisis
lineal fue ideado por Mitsuru Matsui en 1993. Es un ataque con texto pleno. Contra DES
es ligeramente más eficiente que el diferencial, pero con el mismo inconveniente: se
requiere una cantidad enorme de texto. En esta ocasión, cuando se preguntó si DES estaba
protegido también contra el criptoanálisis lineal, Coppersmith respondió que no, que
desconocían el método de Matsui.

      Naturalmente, DES no fue el único criptosistema disponible. Durante el periodo que
estuvo en vigor se propusieron decenas de cifrados alternativos, muchos de ellos de
dominio público. Algunos bien conocidos son los siguientes: “Feal”, “Loki”, “Gost” (el
análogo de DES en la Unión Soviética), “Redoc”, “Idea”, “Cast”, Safer”, “Blowfish”,
“RC5”... La NSA también dio a conocer en 1994 un nuevo cifrado para ser usado en
telefonía y comercio electrónico: “Skipjack”. Este algoritmo fue declarado secreto, y los
chips en que se ha implementado impiden acceder a su código fuente. Quizás proceda así
la agencia porque no desee que uno de sus criptosistemas circule abiertamente por todo el
mundo, o para poder escuchar conversaciones telefónicas cifradas, o ambas cosas.

      Todos los cifrados anteriores son cifrados en bloque que operan ya con claves de al
menos 64 bits. En realidad, la mayoría de los cifrados que se dan a conocer son cifrados
en bloque. Pocos son los cifrados secuenciales cuyo algoritmo se publica detallado.
Quizás sea porque su implementación en software es poco eficiente, lo que no suele
ocurrir con los cifrados en bloque. En cambio, los secuenciales son fáciles de
implementar vía hardware. Por ello, son ideales para las telecomunicaciones. También se
asegura que son los preferidos de los militares, aunque esto siempre es una incógnita.
“RC4”, de RSA Data Security, y “Seal”, de IBM, son unos de los pocos cifrados
secuenciales cuyo algoritmo ha sido publicado.

      En enero de 1997, la nueva agencia que sustituyó a la NBS: el National Institute of
Standards and Technology (NIST), viendo que la seguridad de DES estaba ya
comprometida, convocó a concurso público la adjudicación del nuevo estándar de cifrado.
Se denominaría AES, acrónimo de “Avanced Encryption Standard”. En la convocatoria se
especificaba una serie de requisitos mínimos: un cifrado en bloque de 128 bits; con claves
de 128, 192 y 256 bits; la posibilidad de ser implementado tanto en hardware como en
software; estar disponible gratuitamente… Pero lo más destacado de la convocatoria era
que el concurso estaba abierto a todo el mundo y que el proceso de selección iba a ser
totalmente transparente. Además, se invitaba a cualquiera que lo desease a evaluar las
propuestas presentadas. El NIST publicaría en su página web las especificaciones técnicas
de los cifrados concursantes y las evaluaciones que de ellos se hiciesen. Con esta política,
el NIST quería evitar una polémica similar a la acontecida veinte años antes tras la
adopción de DES.

     La fase de aceptación de propuestas se cerró en mayo de 1998, admitiéndose a
concurso quince cifrados provenientes de empresas y grupos de investigación de todo el
mundo. Fueron presentados oficialmente en una conferencia de candidatos que tuvo lugar


                                            194
10. CRIPTOGRAFÍA MODERNA




en Ventura, California, en agosto de 1998; y que sirvió de inicio a una primera ronda de
evaluación por parte de la comunidad criptográfica. Los resultados de las pruebas
realizadas se discutieron en una segunda conferencia de candidatos que tuvo lugar en
marzo de 1999, esta vez en Roma. Aquí se puso de manifiesto que cinco de los quince
cifrados concursantes no reunían las condiciones de seguridad exigidas por el NIST, así
como que algunos algoritmos eran más eficientes que otros. Unos meses después de esta
reunión, en agosto, el NIST dio a conocer los cinco candidatos finalistas: “Mars”, de
IBM; “Rijndael”, de los belgas J. Daemen y V. Rijmen; “RC6”, de RSA Data Security;
“Serpent”, del británico R. Anderson, el israelí E. Biham y el danés L. Knudsen; y
“Twofish”, de Counterpane Systems. En abril de 2000 se celebró en Nueva York la
tercera y última conferencia, dedicada a los cinco cifrados finalistas. En su última sesión,
la organización solicitó una valoración de los candidatos a través de un cuestionario. El
cifrado preferido de los asistentes resultó ser Rijndael, el criptosistema de los
investigadores belgas. El mismo que el NIST eligió como vencedor del concurso, cuyo
anuncio oficial tuvo lugar el 2 de octubre de 2000.

      Desde ese momento, DES ya tiene sustituto: AES. Naturalmente, la decisión del
NIST de adoptar el nuevo criptosistema sólo obliga a la administración federal americana,
y en lo concerniente a la información no clasificada; pero con toda seguridad, AES va a
ser el cifrado más usado en los próximos años. La recomendación del cifrado por parte
del NIST es todo un certificado de garantía para empresas y organizaciones. Prueba de
ello es que organismos internacionales como el consorcio europeo NESSIE (“New
European Schemes for Signatures, Integrity and Encryption) ya han recomendado el uso
de AES. Más aún, recientemente, en junio de 2003, la misma NSA ha aprobado el uso de
AES para cifrar información clasificada: la “secreta” con claves de 128 bits y la de “alto
secreto” con claves de 192 y 256 bits.

       A continuación damos una descripción resumida del nuevo estándar de cifrado. El
lector que desee conocer todos sus detalles puede consultar las páginas web del NIST o el
libro “The Design of Rijndael”, escrito por los belgas creadores del cifrado.

      AES, como la gran mayoría de los cifrados en bloque, consiste en someter a los
bloques de texto en claro a una serie de operaciones que se repiten cierto número de
rondas. Estas operaciones se expresan en términos algebraicos empleando cierta
aritmética de bytes (recordemos: un byte son 8 bits). En esta aritmética, la suma de bytes
es justamente la suma ‘XOR’ introducida antes y el producto… Bueno, este producto de
bytes es mucho más complicado de definir y mejor no lo hacemos. Baste con señalar que
esta aritmética de bytes está extraída de la teoría matemática de los cuerpos finitos y no es
elemental. Lo que importa saber es que cada byte no nulo (≠ 00000000) tiene inverso para
el producto. Dicho esto, el proceso de cifrado de cada bloque de 128 bits de texto en claro
sigue los siguientes tres pasos:

      1. Se efectúa una suma XOR entre el bloque de texto en claro y los 128 primeros
         bits de la clave. El resultado se parte en 16 bytes: B1 B2 B3 …B16 y se forma con
         ellos una matriz 4×4:




                                            195
10. CRIPTOGRAFÍA MODERNA




                                     B1   B5     B9    B13 
                                                           
                                     B2   B6     B10   B14 
                                    B     B7     B11   B15 
                                     3                     
                                    B     B8     B12   B16 
                                     4                     
     2. Esta matriz de bytes se somete a una serie de rondas de idénticas operaciones. El
        número de rondas depende del tamaño de la clave: 9 si la clave es de 128 bits, 11
        si es de 192 y 13 si es de 256. Las operaciones son las siguientes:

            a) Cada byte se transforma en otro por la acción de una “caja”. Más adelante
               describimos como actúa esta caja.

            b) Se efectúa una permutación cíclica de los bytes de las filas 2ª, 3ª y 4ª de la
               matriz, desplazándolos 1, 2 y 3 posiciones a la izquierda, respectivamente.

            c) Las columnas se someten a la siguiente transformación de Hill:
                                  y1   b     c a a   x1 
                                                    
                                  y2   a     b c a   x2 
                                  y  = a     a b c   x3 
                                  3                 
                                  y  c       a a b   x4 
                                  4                 
               donde a, b y c son los bytes: a = 00000001, b = 00000010 y c = 00000011.
               Este cálculo matricial se realiza con la aritmética de bytes antes referida.

            d) La matriz resultante se suma (‘⊕’) con otra matriz de bytes de tamaño 4×4
               formada a partir de la clave. Esta matriz es distinta en cada ronda, ha sido
               obtenida y almacenada antes de empezar a cifrar y su cómputo se efectúa
               mediante un algoritmo que depende de la longitud de la clave y en el que
               interviene la “caja” del apartado a).

     3. Se vuelven a ejecutar una vez más a), b) y d) de antes. Y por fin, alineando los
        16 bytes de la matriz resultante, se obtiene el bloque de 128 bits de texto cifrado.

     Queda describir la sustitución de bytes del apartado a), la única “caja” presente en
AES. Esta caja transforma un byte en otro realizando estas dos operaciones:

       I.   Cada byte se reemplaza por su inverso para el producto. Como el byte nulo no
            tiene inverso, se deja invariante.

            Sea a7 a6 a5 a4 a3 a2 a1 a0 el byte resultante de este primer paso.

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




                                                196
10. CRIPTOGRAFÍA MODERNA




                    b7    = a 7 ⊕ a 6 ⊕ a5 ⊕ a 4 ⊕ a3
                    b     =      a 6 ⊕ a5 ⊕ a 4 ⊕ a3 ⊕ a 2                 ⊕1
                     6
                    b5    =            a5 ⊕ a 4 ⊕ a3 ⊕ a 2 ⊕ a1            ⊕1
                    
                    b4    =                  a 4 ⊕ a3 ⊕ a 2 ⊕ a1 ⊕ a 0
                    
                    b3    = a7                     ⊕ a3 ⊕ a 2 ⊕ a1 ⊕ a 0
                    b2    = a7 ⊕ a6                     ⊕ a 2 ⊕ a1 ⊕ a 0
                    
                     b1   = a 7 ⊕ a 6 ⊕ a5                    ⊕ a1 ⊕ a 0 ⊕ 1
                    b     = a 7 ⊕ a 6 ⊕ a5 ⊕ a 4                   ⊕ a0 ⊕ 1
                     0

       El disponer de un estándar de cifrado de uso generalizado tiene un gran
inconveniente: que todo el mundo quiere romperlo. Al exigir claves con una longitud
mínima de 128 bits, el NIST dotaba a su cifrado de una seguridad más que suficiente
contra un ataque por fuerza bruta; el único método que venció al anterior estándar, el
DES. Descubrir una clave de 128 bits comprobando una a una todas las posibles es una
tarea prácticamente eterna para cualquier ordenador de hoy en día. Incluso para todos
juntos. Y 256 bits son garantía de sobra contra todos los ordenadores electrónicos que se
construyan en las próximas décadas. Será necesario algo más que fuerza bruta para
derrotar al AES. Durante el concurso, el vencedor Rijndael (al igual que el resto de los
finalistas) probó ser inmune a todos los métodos de criptoanálisis conocidos hasta ese
momento. Ni siquiera se descubrió una pequeña grieta en su estructura. Pero una vez
convertido en AES, todos los que lo subieron a lo más alto intentan ahora derribarlo. Y no
sólo ellos, sino otros muchos que últimamente se han acercado a la Criptografía por
diferentes razones. No es exagerado decir que todo un ejército de criptoanalistas con todo
tipo de armas se está enfrentando ya al AES. Quien sabe, quizás algún día alguien logre
derrotarlo.




                                               197
Libro criptografia
11
 CRIPTOGRAFÍA EN CLAVE PÚBLICA


      La manera más rápida de acceder a la comunicación cifrada no es a través del
criptoanálisis; sino hacerse con la clave, sustrayéndola o sobornando a alguien que la
conozca o tenga acceso a ella. Algo que tarde o temprano sucede, sobre todo si hay
organizaciones poderosas interesadas. Contra esto, la única solución posible es cambiar la
clave frecuentemente. Lo habitual es que una de las partes que van a mantener
comunicación cifrada elija la clave y la notifique a la otra. Si ambas pueden reunirse en
privado, en un lugar seguro, no hay ningún problema. En otro caso, quien selecciona la
clave debe comunicarla a la otra parte por algún medio que debe considerar seguro. Y ahí
empieza el problema, ya que con frecuencia sucede que tal medio no es tan seguro como se
suponía. Además, si se dispone de un canal de comunicación seguro, quizás no tenga
sentido transmitir información cifrada por otro. Se plantea así un antiguo problema en
Criptografía: la distribución de claves. De hecho, es un problema muy serio en
organizaciones complejas que involucran a muchas personas.

      Una manera de resolver el problema de la distribución de claves puede ser
desarrollando la idea que a continuación presentamos de forma esquemática:

     1. Una de las partes, llamémosla A, escoge una clave y la cifra empleando otra clave
        que sólo A conoce. El resultado se transmite a la otra parte B.

     2. B cifra este resultado una segunda vez, también con una clave que sólo B conoce.
        El mensaje doblemente cifrado se devuelve a A.

     3. A retira su clave particular y remite de nuevo el mensaje a B.

     4. Por último, B retira también la suya y ya ambos conocen la clave común.

      De este modo, A ha comunicado a B una clave común de forma segura por un canal
que no necesita serlo. Esta idea es interesante, sin duda alguna, y resuelve el problema de
la distribución de claves. Pero antes, se requiere solucionar este otro: la clave común
cifrada ha de transmitirse tres veces, ¿cómo sabe cada una de las dos partes implicadas que


                                           199
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA




cada mensaje recibido es auténtico, que en efecto ha sido trasmitido por la otra parte y no
por un intruso? Además, ¿cómo realizar esta idea en la práctica?

       La respuesta a estas cuestiones (y también a otras relacionadas) se encuentra dentro
de la Criptografía en clave pública. Se llama así porque en esta criptografía cada clave
consta a su vez de dos claves: una pública, conocida por todo el mundo; y otra privada, en
poder de una única persona. Con la clave pública se cifran los mensajes y con la privada se
descifran. De este modo, cualquiera puede cifrar mensajes y transmitirlos al receptor
conocedor de la clave privada. Sólo él será capaz de entenderlos. La Criptografía de clave
pública se denomina también criptografía asimétrica. Dicho término asigna entonces el
calificativo de simétrica a la criptografía tradicional, en la que tanto el emisor como el
receptor emplean una clave secreta.

       La primera publicación que incluye este revolucionario concepto criptográfico fue el
artículo escrito por Whitfield Diffie y Martín Hellman, de la Universidad de Stanford,
titulado “New Directions in Cryptography” y publicado en la revista IEEE Transactions on
Information Theory, en noviembre de 1976. En él se presentan las nociones básicas de la
Criptografia en clave pública, se plantean algunos problemas que con ella se resuelven y se
describe el primer criptosistema perteneciente a esta nueva rama de la Criptografía. Sus
autores mencionan también el trabajo de Ralph Merkle, de la Universidad de California en
Berkeley, quien había llegado a la misma idea de clave pública que los investigadores de
Stanford.

      No obstante, aunque se considera a estos tres investigadores americanos los
creadores de la Criptografía en clave pública, es probable que ésta fuera desarrollada antes
en el seno de las todopoderosas organizaciones gubernamentales dedicadas a las tareas
criptográficas. A finales de los años 70, Robert Inman, siendo director de la NSA,
manifestó que esta agencia ya hacía uso de la criptografía en clave pública diez años antes
de la publicación del artículo de Diffie y Hellman. Naturalmente, Inman no mostró
documentos que avalaran su afirmación; pero son varias las personas vinculadas a la alta
seguridad americana que lo han ido confirmando. Hay hasta quien ha relacionado ese
precoz interés de la NSA en la criptografía en clave pública con el control del armamento
nuclear. Más recientemente, en diciembre de 1997, el “Goverment Communication
Headquarters” (GCHQ), la organización británica equivalente a la NSA, desclasificó una
serie de documentos que, de ser cierto lo que en ellos se dice, muestran que el GCHQ
trabajaba con la idea de la clave pública desde finales de los años 60.

      La seguridad en la Criptografía asimétrica es un problema mucho más delicado que
en la simétrica, ya que el único dato no público es la clave que sirve para el descifrado.
Además, no es fácil reunir seguridad y efectividad en un cifrado en clave pública; y
solamente unos pocos de los numerosos criptosistemas que han sido propuestos lo han
logrado. Por lo general, estos algoritmos están basados en las llamadas funciones
unidireccionales. Nos ayudará a entender este concepto matemático el siguiente ejemplo.
Imaginemos que disponemos de pintura de los cinco colores básicos: negro, blanco, rojo,
azul y amarillo. Mezclando estos colores en diferentes proporciones se puede conseguir
cualquier otro color. Esta operación puede contemplarse como una función que toma como
argumento una proporción de los cinco colores básicos y produce un color compuesto. Es


                                            200
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA




fácil obtener un color determinado si se conoce la proporción exacta de los colores básicos.
Por el contrario, dado un determinado color, es prácticamente imposible averiguar su
composición, la proporción exacta de cada color básico. Estas son las dos condiciones que
debe verificar una función unidireccional.

      Con cierta formalidad: una función que transforma una variable x en otra y se dice
unidireccional si:

      a) Dada x, el cálculo de y se puede realizar en tiempo polinomial.

      b) Dada y, el cómputo de una x que produce tal y es un problema intratable.

      Expliquemos los términos “tiempo polinomial” y “problema intratable”, extraídos de
la Teoría de la Complejidad de Algoritmos. El tiempo de ejecución de un algoritmo es el
número de instrucciones elementales (pasos) que realiza. Este número de pasos depende de
la longitud de los datos de entrada; esto es, del número de bits que ocupa su codificación
en el ordenador. Dicho de un modo informal: un algoritmo se ejecuta en tiempo polinomial
si existe cierto entero k tal que si los datos de entrada tienen una longitud de n bits,
entonces el algoritmo se ejecuta en un número de pasos próximo a nk. (Si k=1, se dice
lineal; si es 2, cuadrático, etc.). El tiempo polinomial es un tiempo corto, de acuerdo con la
noción de tiempo que todos tenemos. Esto puede observarse en la tercera columna de la
siguiente Tabla 11.1. En ella figura el tiempo que tardarían en ejecutarse los algoritmos de
la primera columna, suponiendo entradas de 100 bits y una velocidad de ejecución de un
billón de pasos por segundo (velocidad de un supercomputador). Compárense los tiempos
polinomial con el exponencial.

                         Tipo             Pasos               Tiempo
                      Lineal: n            100           0,1 nanosegundos
                    Cuadrático: n2       10000            10 nanosegundos
                                3               6
                      Cúbico: n            10             1 microsegundo
                                    n        30
                   Exponencial: 2          10          30000 millones de años
                     Tabla 11.1.Tiempo de algoritmos en un supercomputador.


       Expliquemos ahora el término “problema intratable”. Un problema que se resuelve
mediante un algoritmo que corre en tiempo polinomial se dice que es de clase P
(polinomial). Análogamente, si tal algoritmo no es polinomial, se dice de tipo NP (no
polinomial). En la actualidad, se desconoce si ambas clases coinciden; pero se cree que no,
que hay problemas NP que no son P. Estos son precisamente los llamados problemas
intratables: aquellos para los que no se conoce algoritmos polinomiales que los resuelvan y
que, además, se sospecha que tales algoritmos no existen.

      Establecido el concepto de función unidireccional, ilustrémoslo con un ejemplo más
propio de las Matemáticas que la anterior operación de mezclar pinturas. Uno muy sencillo



                                                201
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA




es el siguiente. Fijemos una lista de r enteros positivos: m1, m2, …, mr. A cada bloque de r
bits b1b2…br le asociamos la suma:

                                S = b1m1 + b2 m2 + … + br mr

      Definimos así una función, la que a cada bloque de de r bits b1b2…br le hace
corresponder la suma S. El cálculo de S a partir del bloque de bits es inmediato: requiere
efectuar r−1 sumas como mucho y ello se realiza con un algoritmo lineal. Pero dada una
suma S, recuperar un bloque de bits que la produce es un problema intratable; es el
conocido como “problema de la mochila”. Naturalmente, para observar la “intratabilidad”
de este problema hay que considerar valores de r que no sean pequeños. Piénsese en el
problema con r≥100, por ejemplo.

       Un criptosistema asimétrico diseñado a partir de una función unidireccional basa su
seguridad en el problema intratable asociado a esta función. Se trata de que su
criptoanálisis sea equivalente a resolver dicho problema. Al mismo tiempo, la rapidez de
su vía directa (esto es, el cálculo de y a partir de x) puede ser empleada en los procesos de
cifrado o descifrado. Por ejemplo, la función unidireccional asociada al problema de la
mochila puede servir de base a un criptosistema en el que el cifrado consista en
transformar bloques de r bits en sumas S, que es un proceso rápido. El criptoanalista que
pretenda recuperar los bloques de bits a partir de las sumas estará ante un problema
intratable. De esta idea partieron Merkle y Hellman para concebir un criptosistema que
dieron a conocer en 1978 y que describimos en los párrafos siguientes.

      Sucede que el problema de la mochila es fácil de resolver si los enteros mi forman
una sucesión supercreciente, que así se dice cuando cada entero mi es mayor que la suma
de los anteriores. Por ejemplo, la sucesión de 8 números: {3, 4, 10, 21, 43, 85, 177, 350} es
supercreciente: 3<4, 3+4<10, 3+4+10<21, etc. Cuando la lista de enteros mi es
supercreciente, si existe solución al problema de la mochila, ésta es única y puede
obtenerse de la manera que explicamos a continuación. Por ejemplo, dado S=482,
calculemos, si es que existe, un byte b1b2…b8 solución de la ecuación:

                  482 = 3b1 +4b2 +10b3 +21b4 +43b5 +85b6+177b7 +350b8

      Primero comparamos 482 con 350, el último entero. Como es mayor, b8 ha de ser 1;
en otro caso, sería 0. Al ser 1 este bit, restamos: 482−350=132. Comparamos 132 con 177,
el penúltimo entero de la lista. Como es menor, b7 =0. Comparamos entonces 132 con el
siguiente entero de la lista: 85. Es mayor, luego b6 =1. Restamos: 132−85=47. Como esta
diferencia supera a 43, b5 =1. Volvemos a restar: 47−43=4. Esta diferencia es menor que
21 y 10 pero igual al segundo número de la lista, luego b4 =b3 =0 y b2 =1. La siguiente resta
es ya 0: 4−4=0. Llegar a 0 es precisamente la condición de existencia de solución. Los bits
que faltan por calcular son nulos. Luego b1 =0 y hemos obtenido el (único) byte solución:
01001101. (Compruébese, si no se está convencido de ello).

     En el criptosistema de Merkle y Hellman (también llamado de la mochila) se parte
de una sucesión de enteros supercreciente. Se consideran también otros dos enteros: uno el
módulo, mayor que la suma de todos los enteros de la sucesión; y otro el multiplicador,


                                            202
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA




primo con el módulo (esto es, que el máximo común divisor de ambos enteros es 1). La
sucesión supercreciente, el módulo y el multiplicador constituyen la clave privada que sólo
conoce el receptor de los mensajes. Por ejemplo, la sucesión supercreciente anterior {3, 4,
10, 21, 43, 85, 177, 350}, el módulo 700 y el multiplicador 79 constituyen una clave
privada.

       Seguidamente, consideramos la aritmética modular de la que hablamos en el capítulo
7; pero fijando ahora como módulo de esta aritmética el módulo de la clave privada: 700
en nuestro ejemplo. Como el multiplicador es primo con el módulo, tiene inverso para el
producto. El inverso de 79 (módulo 700) es 319, como puede comprobarse. Multiplicamos
este inverso por cada uno de los términos de la sucesión supercreciente que forma parte de
la clave privada (recordemos que las operaciones con la aritmética modular se realizan
recurriendo a las operaciones habituales de enteros y sustituyendo el resultado por el resto
de dividirlo entre el módulo):
                         3·319 = 957 = 257,   (957=1·700+257).
                        4·319 = 1276 = 576,   (1276=1·700+576).
                        10·319 = 3190 = 390, (3190=4·700+390).
                                            …
     Se obtiene así la sucesión {257, 576, 390, 399, 417, 515, 463, 350}, que ya no es
supercreciente. Esta sucesión es precisamente la clave pública que conoce todo el mundo.

      Para cifrar con ella un mensaje que se supone codificado en binario, el emisor lo
divide en bloques de 8 bits b1b2…b8 y los reemplaza por la suma

                             S = 257·b1 +576·b2 +…+ 350·b8.

     He aquí un ejemplo:

                 Clave pública: {257, 576, 390, 399, 417, 515, 463, 350}
                 Texto claro:    01001101           10001110       00110011
                                     ↓S               ↓S              ↓S
                Texto cifrado:      1858             1652            1602
                      Criptosistema de Merkle-Hellman. Esquema de cifrado.



      Para descifrar, el receptor del mensaje debe usar la aritmética módulo 700 y
multiplicar S y el otro miembro de la ecuación anterior por 79 (el multiplicador). Al
hacerlo:

                                    257·79=3·319·79=3,




                                              203
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA




ya que 257=3·319 y 319 es el inverso de 79. De igual manera 576·79=4, 390·79=10, etc.
Se obtiene así esta otra ecuación, en la que figuran los enteros de la sucesión
supercreciente:

                              79·S = 3·b1 +4·b2 +…+ 350·b8.

      A partir de ella, el receptor puede recuperar el bloque b1b2…b8 de la manera
explicada antes. Por ejemplo, al multiplicar el primer número del texto cifrado por 79
obtenemos 482; y ya hemos comprobado que la única solución de la igualdad

                               482=3·b1 +4·b2 +…+ 350·b8

es 01001101, justamente el primer bloque de ocho bits del texto en claro.

      Con ocho enteros, el problema de la mochila es fácil de resolver y, por tanto, el
criptosistema resultante carece de seguridad alguna. Como ya señalamos antes, hay que
considerar listas de por lo menos 100 números para que el problema de la mochila sea en
efecto intratable. De hecho, cuando Merkle y Hellman dieron a conocer su criptosistema,
propusieron utilizar mochilas a partir de 256 enteros. Con tal cantidad, un computador
capaz de comprobar un billón de posibles soluciones por segundo tardaría más de 1053 años
en comprobarlas todas. Basándose en este hecho, Merkle y Hellman creyeron que su
criptosistema era seguro y, con el fin de obtener beneficios de su trabajo, lo patentaron en
1980. No obstante, poco provecho obtuvieron de esta patente; ya que Adi Shamir logró
criptoanalizarlo tan sólo un par de años después. Naturalmente, Shamir no empleó la
fuerza bruta; sino que mostró que era posible recuperar en tiempo polinomial la clave
privada a partir de la clave pública y de los textos cifrados.

      En agosto de 1977, la famosa revista “Scientific American” incluía una breve
descripción del criptosistema de clave pública más usado en la actualidad. Nos referimos al
popular RSA, nombre que se forma con las iniciales de los apellidos de sus creadores:
Ronald Rivest, el anteriormente citado Adi Shamir y Leonard Adleman, entonces tres
investigadores del prestigioso Massachussetts Institute of Technology. No gustó esta
publicación a la NSA, quien reconociendo su interés por el algoritmo y tratando de
controlar su uso, intentó en vano prohibir la publicación de los detalles del mismo; hecho
que ocurrió pocos meses después, en febrero de 1978. Tras una larga batalla legal con el
gobierno americano, los tres investigadores fundaron en 1982 la compañía RSA Data
Security, con objeto de comercializar las aplicaciones de su criptosistema. Un gran
negocio, pues la vendieron en 1996 por 200 millones de dólares.

      RSA está basado en el problema de la factorización de enteros. Como es bien sabido,
factorizar un entero es descomponerlo en producto de números primos. En la escuela nos
enseñan un sencillo método conocido desde siempre y que consiste en dividir
sucesivamente el número a factorizar por los primos 2, 3, 5, 7… hasta dar con uno que
produzca una división exacta. Tal primo es uno de los factores buscados y los demás
pueden calcularse repitiendo este proceso con el cociente de la división exacta. Cuando el
número no es muy grande, de unas cuatro o cinco cifras todo lo más, este método no
requiere más que unas pocas divisiones y puede efectuarse en unos pocos minutos


                                            204
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA




empleando sólo lápiz y papel. Si doblamos el número de cifras, si consideramos enteros de
ocho o diez dígitos, este método escolar todavía funciona con enteros que son producto de
primos pequeños. Como 11211291, que es igual al producto 36·7·133. Pero resulta
impracticable si los factores primos tienen todos cuatro o cinco dígitos. Por ejemplo, puede
llevar más de un día averiguar que 3605065591 es el producto del par de primos
45691·78901. Naturalmente, si las operaciones se realizan en un ordenador programado al
efecto y con todos los primos de 5 o menos cifras almacenados en su memoria, ese tiempo
se reduce a unos pocos segundos. Pero basta elevar la cantidad de dígitos del número a
factorizar, de 10 a 50 por ejemplo, para que el número de operaciones requeridas sea
inalcanzable para cualquier ordenador; incluidos los supercomputadores actuales.
Precisamente, unas 50 cifras era el tamaño máximo de los enteros cuya factorización era
posible a mediados de los años 70, cuando Rivest, Shamir y Adleman propusieron su
criptosistema. Por supuesto, se conocían otros métodos de factorización; pero sólo eran un
poco más eficientes que el método escolar.

      El problema de la factorización de enteros proporciona la siguiente la función
unidireccional: la que a un par de números primos p y q le hace corresponder su producto
n=p·q. Es unidireccional porque el cálculo de n a partir de p y q es rápido, se puede llevar
a cabo con un algoritmo “casi” lineal; pero recuperar los primos p y q factorizando n es un
problema intratable. En él se soporta el criptosistema RSA cuyos detalles presentamos a
continuación.

      Se parte entonces de dos primos p y q, distintos y suficientemente grandes para que
una vez calculado n=p·q, resulte imposible su factorización a quien desconozca p y q.
Calculamos también el llamado indicador de Euler, que en este caso toma el valor
Φ = (p−1)·(q−1). Seguidamente, se considera la aritmética modular, módulo Φ. Como ya
hemos señalado en varias ocasiones, en esta aritmética unos números son unidades y otros
no, dependiendo de si son o no primos con el módulo. Considérese entonces un entero
positivo e<Φ que sí lo sea y compútese d su inverso. A continuación, destrúyanse tanto Φ
como los enteros p y q, que no volverán a utilizarse y comprometen la seguridad del
criptosistema. Los números n y e constituyen la clave pública y se denominan,
respectivamente, módulo y exponente. El entero d es la clave privada.

      Para cifrar, los textos en claro han de suponerse sucesiones de números positivos
menores que n. Si el texto en claro esta codificado en binario, una manera sencilla de
conseguir tal supuesto es dividirlos en bloques de k bits, siendo k tal que 2k ≤n, y
considerar el número binario que determina cada bloque (consúltese el comienzo del
capítulo anterior si se desea repasar los números binarios). Se considera de nuevo la
aritmética modular, pero ahora módulo n. Usando esta aritmética, cada uno de los números
B que compone el texto en claro se transforma en otro C de acuerdo con la ecuación C=B e.
La sucesión de estos otros números C es el texto cifrado que se transmite. Un ejemplo
ayudará a entender todo esto.

     Como par de primos p y q consideramos los números 257 y 307. Son números
pequeños, pero servirán para proporcionar un ejemplo que ilustre el criptosistema RSA. El
módulo n y el indicador Φ son entonces:



                                            205
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA




                    n = 257·307= 78899,               Φ = 256·306= 78336.

      Como exponente elegimos e=101, que es primo con el indicador Φ. Su inverso
módulo Φ es d=37229. Según señalamos antes, el par de números n y e constituyen la
clave pública y d es la clave privada. El mayor entero k tal que 2k ≤78899 es k=16. Luego,
para cifrar, podemos dividir el texto en claro en bloques de 16 bits y reemplazar el número
binario B asociado a cada bloque por B 101, realizando esta potencia con la aritmética
modular. El siguiente esquema lo muestra:

                             Clave pública: n = 78899, e=101.
       Texto claro: 0100000101001101 1000111001000100 0101001101000001

       Números B:             16717                   36412                   21249

                             ↓ B 101                  ↓ B 101                 ↓ B 101
       Números C:             45456                   22284                   20485

                              Criptosistema RSA. Esquema de cifrado.


      Para descifrar, el receptor del mensaje recupera de nuevo los números B calculando
las potencias C 37229 (recuérdese que 37229 es la clave privada). La justificación de que
B=C 37229 es la siguiente. Como 37229 es el inverso de 101 módulo Φ, entonces
101·37229=1+k·Φ, para cierto entero k. (Igualdad que ha de contemplarse con la
aritmética habitual de enteros). Luego,

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

      Y la igualdad C 37229 =B se sigue del llamado teorema de Euler, que establece que
B Φ=1.

      Los números considerados en nuestro ejemplo son pequeños, de tan sólo 5 cifras
decimales. En la práctica, los enteros que se utilizan tienen un tamaño mínimo de 256 bits
(77 cifras decimales) y no es raro llegar incluso a los 1024 bits (308 cifras decimales). Usar
RSA con números de este tamaño requiere superar dos dificultades que hemos de
comentar. La primera, manejar y operar con estos números de un modo eficiente. Como es
sabido, la aritmética entera que incorpora un ordenador tiene unos límites que, por
ejemplo, impiden multiplicar dos números de más de 5 cifras. Para poder hacerlo, es
necesario incorporar un conjunto de algoritmos especiales que se conocen con el nombre
genérico de aritmética multiprecisión. Gracias a estos algoritmos es posible realizar
operaciones con enteros arbitrariamente grandes; y de una manera muy rápida, siempre en
tiempo polinomial. No obstante, el cómputo de potencias modulares es lento y, como
consecuencia de ello, el cifrado con RSA también lo es. Al menos 100 veces más lento que
cualquiera de los algoritmos simétricos presentados en el capítulo anterior. El otro
problema al que nos referíamos es la generación de la clave. Concretamente: la búsqueda


                                               206
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA




de dos números primos arbitrariamente grandes. Por fortuna, hay “suficientes” números
primos del tamaño que se deseen. Por ejemplo, hay aproximadamente 4·1098 números
primos de 100 cifras decimales. Pero encontrar dos de ellos sólo es posible si se
implementa en el ordenador un algoritmo que permita decidir si un número dado es primo.
El conocido con test de Miller-Rabin es uno de ellos, quizás el más empleado. Con dicho
algoritmo, la búsqueda de los dos primos puede efectuarse de modo aleatorio. Y una vez
hallados, el cómputo de la clave pública y privada es inmediato; con la aritmética
multiprecisión, naturalmente.

      La razón de emplear números de tamaño semejante no es otra que impedir que un
criptoanalista logre factorizar el módulo: n=p·q. Si ello sucede, el cálculo de Φ es
inmediato: Φ = (p−1)·(q−1); y, seguidamente, la clave privada: d=e –1 (módulo Φ). Por
tanto, impedir la factorización del módulo es vital para la seguridad del criptosistema.
Decíamos anteriormente que cuando se propuso el RSA, a mediados de los años setenta,
factorizar un entero de 50 cifras era algo imposible. Hoy en día, tales números se pueden
factorizar en unos pocos minutos en cualquier PC. La razón principal de este avance no es
el aumento de la velocidad de cómputo en los modernos ordenadores; sino el
descubrimiento de nuevos algoritmos de factorización, que han reducido
considerablemente la cantidad de operaciones requeridas. No obstante, aún con estos
algoritmos, el número de operaciones sigue siendo enorme. Una idea de ello nos la puede
dar la Tabla 11.2. En su tercera columna incluimos el número de operaciones que debe
ejecutar un ordenador para factorizar un módulo RSA de tantas cifras como se indica en la
primera columna, empleando siempre el algoritmo más rápido que se conoce. (Para enteros
de hasta 116 cifras este algoritmo es el método de la criba cuadrática, descubierto por C.
Pomerance en 1985; para enteros de más de 116 cifras es preferible el método de la criba
del cuerpo numérico, encontrado por J. M. Pollard en 1993).

                  Nº de dígitos        Nº de bits        Nº de operaciones
                        50                166                1,6×1010
                       100                332                3,7×1014
                       155                512                9,5×1017
                       200                664                2,2×1020
                       308               1024                  6×1024
                       500               1664                  9×1030
                      1000               3322                  6×1041
                   Tabla 11.2. Número de operaciones para factorizar un entero.


      Es posible que cualquier PC actual esté próximo ya a los 100 millones de
operaciones por segundo. Por tanto, puede tardar unos 3 minutos en factorizar un módulo
de 50 cifras, un mes en uno de 100, unos 300 años en uno de 155… Ahora bien, varios
ordenadores trabajando de forma coordinada pueden rebajar estos tiempos de forma
significativa. Por ejemplo, en agosto de 1999, con motivo de uno de los concursos “RSA
Factoring Challenge” que periódicamente convoca la empresa RSA Data Security, 292


                                               207
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA




ordenadores lograron factorizar un módulo RSA de 155 cifras decimales. Tardaron más de
cinco meses en hacerlo. Para factorizar un módulo de unas 230 cifras en un año, RSA Data
Security estima que se requieren unos 215.000 PC’s actuales.

       Además de una factorización del módulo, otro ataque posible es el descubierto por
M. Wiener en 1989. Wiener dio un algoritmo que permite encontrar la clave privada d
cuando ésta no supera la raíz cuarta del módulo n y los primos p y q verifican que el
máximo común divisor de p−1 y q−1 es pequeño. Por tanto, como esta segunda condición
suele ocurrir muy frecuentemente si los primos p y q se eligen aleatoriamente, conviene
considerar claves privadas con un número de dígitos muy próximo al módulo. También se
han descubierto otros escenarios muy particulares en los que la seguridad del RSA está
comprometida. Uno de ellos es el denominado ataque contra un módulo común, que tiene
lugar cuando se emplean dos o más claves que comparten un mismo módulo. Si un mismo
mensaje es cifrado con dos de estas claves, el texto en claro se puede recuperar a partir de
las claves públicas y los criptogramas. Por otro lado, como es posible factorizar el módulo
conociendo la clave privada, basta conocer una clave privada para poder calcular todas las
demás que compartan el mismo módulo. No obstante, todos estos peligros son fáciles de
eludir y, sin temor a equivocarnos, podemos afirmar que hoy en día RSA es un
criptosistema seguro.

       Ya que están introducidas las potencias modulares, no podemos pasar por alto el
hecho que proporcionan otro ejemplo de función unidireccional. Con cierta precisión:
fijados un módulo n y un entero positivo a menor que el módulo, podemos considerar la
función que transforma un entero x en su potencia modular y=ax (módulo n). Por ejemplo,
si fijamos n=11413 y a=9726, esta función transforma x=3533 en y=5761 ya que

                             97263533 =5761 (módulo 11413)

       Como decíamos antes, el cómputo de potencias modulares se realiza mediante un
algoritmo que, aunque lento, corre en tiempo polinomial. Por el contrario, el cálculo de x a
partir de y es un problema intratable. Este es el problema de los logaritmos discretos, así
llamado porque si y=ax (módulo n) se dice que x es un logaritmo discreto de y en la base a
(módulo n): log a y = x . Por ejemplo, la igualdad anterior muestra que 3533 es un
logaritmo discreto de 5761 en la base 9726:

                           log 9726 5761 = 3533 (módulo 11413).

      Precisamente, el problema de los logaritmos discretos sirvió de base a Diffie y
Hellman para dar una solución al problema de la distribución de claves que planteamos al
comienzo del capítulo. Está incluida en su ya citado artículo “New Directions in
Cryptography” de 1976. En primer lugar, las dos partes interesadas en una clave común,
llamémoslas A y B, deben convenir en un primo p y una base a de los logaritmos módulo
p. Una de las partes, digamos A, elige secretamente un entero x y computa y=ax, dato que
transmite a B. Análogamente, B elige de modo secreto otro entero u, calcula v=au y lo
comunica a A. Con v y x, A calcula K=vx. También B puede obtener este mismo K con su
entero secreto u y el dato y que A le ha transmitido:



                                            208
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA




                                  yu =(ax)u =(au)x =vx =K.

      La clave común es este entero K que sólo A y B conocen. Lo más significativo de
este algoritmo es que tanto el primo p como la base a no necesitan ser secretos, no hay
inconveniente alguno en que sean públicos. Aunque se intercepten y y v, el cálculo de x o u
requiere resolver logaritmos discretos; que es un problema intratable, como ya hemos
dicho. Y sin x o u la clave K no puede ser calculada. De este modo, A y B han
intercambiado de forma segura una clave por un canal inseguro; no han necesitado
mantener una reunión privada.

      Unos años después, en 1985, Taher ElGamal propuso un criptosistema basado
también en el problema de los logaritmos discretos. Presentamos a continuación su
descripción. Se parte de un primo p y se considera la aritmética modular, módulo p. Se
eligen a continuación dos enteros positivos aleatorios a y x, ambos menores que p, y se
calcula entonces y=ax (módulo p, naturalmente). Los tres enteros p, a e y constituyen la
clave pública y x es la clave privada.

      Para cifrar, los textos en claro han de contemplarse ahora como sucesiones de
números positivos menores que p. La manera de conseguirlo es la misma que antes: se
dividen en bloques de k bits, siendo k tal que 2k ≤p, y se considera el número binario que
determina cada bloque. Entonces, para cada uno de los números B que compone el texto en
claro se elige aleatoriamente un entero positivo E<p y se calculan C1 =aE y C2 =B·yE. El
par de números C1 y C2 es el transformado de B; y la sucesión de estos pares es el texto
cifrado que se transmite. Veamos un sencillo ejemplo.

       Como primo consideramos p=70001. Los enteros a y x son: a=35791, x=59925; con
lo que y=ax =54093. La clave pública es entonces el trío de enteros 70001, 35791 y 54093;
la privada es el número 59925. El mayor entero k tal que 2k ≤70001 es k=16. Luego, para
cifrar, dividimos el texto en claro en bloques de 16 bits y reemplazamos el número binario
B asociado a cada bloque por el par de enteros C1 y C2, calculados de la manera indicada
antes. El siguiente esquema lo muestra:

                      Clave pública: p=70001, a=35791, y= 54093
       Texto claro: 0100000101001101 1000111001000100 0101001101000001

       Números B:           16717                  36412                    21249

       Números E:           45981                  11037                    64159

                      C1 =aE ↓ C2 =B·yE     C1 =aE ↓ C2 =B·yE          C1 =aE ↓ C2 =B·yE

       Par C1 y C2:    41073      5298       15494      58065          17737     57206

                          Criptosistema ElGamal. Esquema de cifrado.




                                             209
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA




     Para descifrar, el receptor del mensaje recupera de nuevo los números B calculando
C2·C1-x. En efecto:

                       C2·C1-x = B·yE·(aE)-x = B·yE·(ax)-E = B·yE·y -E = B.

      La seguridad del criptosistema de ElGamal radica en que como x es el logaritmo
discreto de y en base a, encontrar esta clave privada x es un problema intratable. No
obstante, al igual que ha ocurrido con la factorización de enteros, los algoritmos
encontrados recientemente han hecho que el cálculo de logaritmos discretos sea un
problema “menos intratable”. Sin entrar en detalles, para que el criptosistema sea seguro, p
debe tener al menos 512 bits (155 cifras decimales) y ser un primo fuerte; que así se dice
cuando p−1=2·q, con q otro número primo.

       Los tres criptosistemas que aquí hemos presentado son sólo una pequeña muestra de
los muchos que han sido propuestos desde 1976. Otros que suelen incluir la mayoría de los
libros de texto son el de Rabin, el de McElice y los basados en curvas elípticas. No
creemos que sea ya necesario entrar a describirlos y dedicamos el resto del capítulo a
mostrar algunas aplicaciones de la criptografía en clave pública que tienen interés en la era
de la información en que nos encontramos.

      La anterior solución de Diffie y Hellman al problema de la distribución de claves no
da respuesta a la siguiente pregunta que ya planteamos al comienzo del capítulo: ¿cómo
sabe cada una de las dos partes implicadas, A y B, que cada mensaje recibido es auténtico,
que en efecto ha sido trasmitido por la otra parte y no por un intruso? Si este suplanta a B,
puede boicotear el proceso de intercambio de claves; o peor aún, intercambiar información
confidencial con A. La respuesta a la pregunta anterior ha conducido a la llamada firma
digital.

      Se pretende que la firma digital sea el perfecto sustituto de la tradicional firma “en
papel”. Por tanto, debe cumplir con estas características: ser imposible de falsificar, fácil
de autentificar e irrevocable (que el firmante no puede negar su autoría). Para introducir el
concepto de firma digital, planteemos la siguiente situación general: que A manda un
mensaje M a B y que éste quiere tener constancia de que efectivamente ha sido enviado por
A. La solución a este problema depende del criptosistema de clave pública que se emplee.
La firma digital que presentamos a continuación se basa en RSA.

      Supongamos que A tiene clave pública el módulo n y el exponente e, y clave privada
el entero d. Si contemplamos al mensaje M como un número menor que n, A computa la
potencia modular f=M d y transmite a B ambos M y f. La firma digital es precisamente el
entero f. Es infalsificable e irrevocable, porque solamente quien conozca d (la clave secreta
de A) puede generar f a partir de M. También es fácil de verificar: se calcula f e y se
comprueba si coincide con M. Veamos un sencillo ejemplo. Admitamos que A tiene clave
pública el módulo n = 78899 y el exponente e=101, y que su clave privada es d=37229. A
desea enviar a B el mensaje M=0100000101001101, que se corresponde con el número
decimal 16717. La potencia modular

                                  f=M d =1671737229 =55907


                                               210
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA




es la firma del mensaje M. Cuando B reciba ambos números, M y f, verificará que
proceden de A computando esta otra potencia modular f e=55907101 y observando si
coincide con M=16717.

      Naturalmente, como e y n son públicos, la autentificación de la firma la puede
realizar cualquiera; no sólo B, a quien iba dirigido el mensaje. Si A y B desean
confidencialidad, deben encriptar el par datos M y f antes de transmitirlos. Para ello,
pueden usar cualquier criptosistema simétrico convenido previamente entre ellos; pero
también pueden cifrar empleando RSA y la clave pública de B.

      En el esquema de firma digital que acabamos de describir, el mensaje M debe ser
menor que el módulo n. En consecuencia, el tamaño del mensaje viene limitado por los bits
del módulo. Como ya señalamos antes, RSA maneja en la práctica módulos de tamaño
comprendido entre 256 y 1024 bits. Sin embargo, los mensajes que se deben firmar son
mucho más largos; con frecuencia tienen varios megabits (un megabit es aproximadamente
un millón de bits). Por ello, lo que en realidad se firma en la práctica es un resumen del
mensaje. Este resumen se consigue con las llamadas funciones hash (funciones resumen).
Una tal función proporciona para cada texto M un resumen r(M), que es un número binario
con las siguientes características:

    1. r(M) es de longitud fija, sea cual sea el tamaño de M.

    2. r(M) se calcula a partir de M mediante un algoritmo que corre en tiempo
     polinomial; pero recuperar M a partir de r(M) es un problema intratable. (Esto es: la
     función hash es una función unidireccional).

    3. Fijado un texto M, encontrar otro texto N tal que r(M)=r(N) también es un
     problema intratable.

      Las funciones hash que más se emplean en la práctica son la MD5 diseñada por R.
Rivest, que produce resúmenes de 128 bits; y la SHA de la agencia de seguridad americana
(la NSA), que proporciona resúmenes de 160 bits. El lector interesado encontrará una
descripción de estas funciones hash en cualquiera de los libros de Criptografía Moderna
que incluimos en la bibliografía.

       Relacionados con el concepto de firma digital son los denominados esquemas de
identificación. Cuando nos conectamos con un ordenador remoto, es habitual que nos
requieran dos palabras: una el “login”, que suele ser nuestro nombre; otra el “password”,
la contraseña. Si la conexión es insegura, esto es: si se transmiten por un canal inseguro, un
intruso puede capturarlas y suplantarnos en una posterior conexión. Una situación similar
sucede cuando empleamos una tarjeta de crédito para solicitar dinero a un cajero
automático o para efectuar una compra. En esta ocasión, el login está almacenado en la
banda magnética de la tarjerta y el password es el número PIN que hemos de memorizar.
Si alguien reproduce la banda magnética y se hace con nuestro número PIN, puede
falsificar nuestra tarjeta y usarla fraudulentamente contra nuestra cuenta bancaria.
Naturalmente, no es sencillo; pero todos hemos oído hablar de esta estafa. Estos problemas
pueden solventarse con un esquema de identificación. Hay varios. El que presentamos a


                                             211
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA




continuación fue dado a conocer por Clauss Schnorr en 1990 y está basado en el problema
de los logaritmos discretos.

       En el esquema de Schnorr se requiere que una autoridad proporcione a cada usuario
una identificación y certifique esta identificación, tal y como explicaremos seguidamente.
En la práctica, la autoridad es una institución como un banco o un organismo oficial; la
identificación puede ser una serie de datos como el nombre y apellidos o un número (el
DNI, por ejemplo). Inicialmente, la autoridad elige un par de números primos p y q con
p=2·q+1 (de al menos 512 bits si se desea garantizar seguridad), y un entero b<p tal que
b2≠1 (módulo p). Los tres números p, q y b son públicos. Una vez que la autoridad ha
facilitado a un individuo A una identificación IDA, le proporciona un certificado siguiendo
estos dos pasos:

      1. A elige secretamente un número sA (su contraseña) con 0<sA <q y se calcula

                                          v A = b − sA (módulo p).

      2. La autoridad firma digitalmente los datos IDA y vA. Sea fA esta firma.

      El certificado para A es la terna IDA, vA y fA; que es infalsificable, ya que así lo es
una firma digital. Este certificado es público y A puede exhibirlo sin comprometer su
contraseña sA; ya que recuperar este dato a partir de vA requiere calcular un logaritmo
discreto. Con su certificado, A puede identificarse remotamente ante otra persona B
siguiendo los siguientes pasos:

      1) A envía a B su certificado y éste comprueba si es auténtico; esto es, verifica la
         firma fA. En tal caso, B elige un número aleatorio r<q y lo comunica a A.

      2) A elige también un número aleatorio k<q, computa el par de números x e y:

                          x=bk (módulo p),                y=k+sA·r (módulo q).

         y los transmite a B.

      3) Por último, B verifica si x=by·vAr (módulo p); en cuyo caso ha de aceptar la
         identidad de quien le ha transmitido el certificado.

       Sólo quien conozca la contraseña sA puede generar el entero y, por lo que nadie
puede suplantar a A. Por otra parte, la comprobación que ha de hacer B en el paso 3) se
justifica así:

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



      En la actualidad, la tecnología permite que los cálculos anteriores sean realizados por
diminutos chips que pueden incorporarse a las tarjetas de crédito. Estas son las llamadas
tarjetas inteligentes. Ya están reemplazando a las tradicionales tarjetas de crédito y muy
pronto serán las únicas que se usen. Además de sacar dinero en un cajero automático y


                                                    212
11. CRIPTOGRAFÍA EN CLAVE PÚBLICA




efectuar compras en tiendas, las emplearemos para firmar documentos, operar en Internet,
identificarnos en diferentes contextos… Naturalmente, la seguridad que proporcionan es
mucho mayor que las que ahora estamos usando.




                                          213
Libro criptografia
Bibliografía.


1. F. L. Bauer: “Decrypted Secrets. Methods and Maxims of Cryptology”. 3rd edition.
Springer. 2002.
2. A. Biryukov: “Methods of Cryptanalysis”.
http://www.wisdom.weizmann.ac.il/~albi/cryptanalysis/
3. J. R. Childs: “General Solution of the ADFGVX Cipher System”. Aegean Park Press.
Laguna Hills, California. 2000.
4. R. Crandall & C. Pomerance: “Prime Numbers. A Computational Perspective”.
Springer. 2001.
5. J. Daemen & V. Rijmen: “The Design of Rijndael”. Springer. 2002.
6. C. A. Deavours & L. Kruh: “Machine Cryptography and Modern Cryptanalysis”.
Artech House Inc. Norwood, Massachusetts. 1988.
7. W. Friedman: “Military Cryptanalysis. Part IV: Transposition and Fractioning
Systems”. Aegean Park Press. Laguna Hills, California. 1993.
8. H. F. Gaines: “Cryptanalysis. A study of ciphers and their solutions”. Dover, New
York. 1956.
9. J. C. Galende: “Criptografía. Historia de la escritura secreta”. Complutense. Madrid.
1995.
10...L. S. Hill: “Cryptography in an Algebraic Alphabet”. American Mathematical
Monthly, 36, 306−312. 1929,
11. A. Kerckhoffs: “La cryptographie militaire”.
http://www.petitcolas.net/fabien/kerckhoffs/la_cryptographie_militaire_i.htm
12. D. Kahn : “The Codebreakers. The Story of Secret Writing”. Scribner. New York.
1966.
13. D. Kahn: “Seizing the Enigma”. Arrow Books. Londres. 1996.
14. R. Kippenhahn: “Code Breaking: A History and Exploration”. Overlook Press. New
York. 2000.
15. W. Kozaczuk: “Enigma”. Greenwood Press. Westport, Connecticut. 1998.



                                          215
BIBLIOGRAFÍA




16. L. Kruh & C. A. Deavours: “The Commercial Enigma: Beginnings of Machine
Cryptography”. Cryptologia, Vol. 26, nº 1, 1−16. 2002
17. M. Lee: “Cryptanalysis of SIGABA”. Thesis. Universidad de California. 2003.
18. A. J. Menezes, P. C. van Oorschot & S. A. Vanstone: “Handbook of Applied
Cryptography”. CRC Press. 1997.
19. F. Pratt: “Secret and Urgent: the Story of Codes and Ciphers”. Blue Ribbon Books.
Indianapolis. 1939.
20. M. Rejewski: “An Application of the Theory of Permutations in Breaking the Enigma
Cipher”. Applicationes Matematicae XVI, 4, 543−559. 1980.
21. T. Sale: “The Enigma cipher machine”. http://www.codesandciphers.org.uk/enigma/
22. J. Savard: “A Cryptographic Compendium”.
http://home.ecn.ab.ca/~jsavard/crypto/jscrypt.htm
23. B. Schneier: “Applied Cryptography”. John Wiley & Sons Inc.1996
24. S. Singh: “Los códigos secretos”. Circulo de lectores. Barcelona. 2000.
25. A. Sinkov: “Elementary Cryptanalysis. A Mathematical Approach” The
Mathematical Association of America. Washington D.C. 1998.
26. D. R. Stinson: "Cryptography. Theory and Practice". CRC Press. 1995.
27. U.S. Army: “Basic Cryptanalysis”. Headquarters Department of the Army.
Washington D.C. 1990.
28. G. Welchman: “The Hut Six Story”. M&M Baldwin. Manchester. 1997.
29. F. B. Wrixon: “Codes, Ciphers & Other Cryptic & Clandestine Communication”.
Black Dog & Leventhal Publishers Inc. New York. 1998.




                                          216
Origen de las fotografías.


Figura. 2.1: Sustitución del duque de Mantua. Archivio di Stato, nº 42. Mantua, Italia. La
imagen que aquí se incluye está extraída del libro de D. Kahn: “The Codebreakers. The
Story of Secret Writing”, pág. 107.

Figura 2.2: Un nomenclátor español de 1563. Procede de la página web de la Fundación
Casa de Medina Sidonia: http://www.fcmedinasidonia.com/

Figura 2.3: Nomenclátor compilado en Florencia en 1554. Archivio di Stato, nº 457.
Florencia, Italia. La fotografía está extraída del libro de D. Kahn: “The Codebreakers. The
Story of Secret Writing”, pág. 107.

Figura 2.4: Nomenclátor de 1568 usado por Felipe II. Archivo General de Simancas,
Sección Secretaría de Estado, leg. 664. La imagen que incluimos está tomada del libro de
J. C. Galende: “Criptografía. Historia de la escritura secreta”, pág. 100.

Figura 3.2: Tabla de Trithemius. Ilustración del libro de Trithemius “Poligrafía”, escrito
en 1508. http://www.uni−mainz.de/~pommeren/Kryptologie/Klassisch/2_Polyalph/

Figura 4.1: Una página de un código militar telegráfico. Obtenida de la página web:
http://www.cix.co.uk/~klockstone/cbprop.htm.

Figura 4.2: Cifrado digráfico de Porta. Dibujo de libro de Porta: “De Furtivis
Literarum”. http://www.und.nodak.edu/org/crypto/crypto/graphics.html.

Figura 6.1: El telegrama Zimmermann. Procede del la página web del U. S. National
Archives:    http://www.archives.gov/digital_classroom/lessons/zimmermann_telegram/
zimmermann_telegram.html

Figura 8.1: Criptógrafo de Wheatstone. http://www-wi.cs.uni-magdeburg.de/~pauer/
images

Figura 8.2: La rueda de Jefferson. Tomada de la página web del Nacional Cryptologic
Museum: http://www.nsa.gov/museum

Figura 8.3: El M-94 del ejército americano. El mismo origen que la Figura 8.1.



                                           217
ORIGEN DE LAS FOTOGRAFÍAS




Figura 8.6: Máquina de rotores de Hebern. Obtenida en la dirección de Internet:
http://www.jura.ch/lcp/cours/dm/codage/instruments.

Figura 8.7: La máquina americana Sigaba. El mismo origen que la Figura 8.2.

Figura 8.8: Enigma A. Tomada de la dirección: http://www.usma.edu/math/pubs/
cryptologia/extras

Figura 8.10. Versiones comercial y militar de Enigma. Fotografías de la página web del
Deutches Museum: http://www.deutsches-museum.de/ausstell/meister/img/

Figura 8.11. Un rotor de Enigma I. http://w1tp.com/enigma

Figura 8.12. El M-209 americano. http://www.eclipse.net/~dhamer/images




                                         218
Índice alfabético


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



                                219
ÍNDICE ALFABÉTICO




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

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



                                        220
ÍNDICE ALFABÉTICO




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



                                        221
ÍNDICE ALFABÉTICO




trigrafo 19
trigrama 19
Trithemius J. 37
    cifrado de 37
    tabla de 38
Turing, A. 172
    bomba de 173-175
Turing-Welchman, bomba de 178,179
Typex 142

ÜBCHI, cifra 101
Uhr Box 141
Unicode 185
unidad, letra 115, 116

vector de inicialización 189
Viaris, H. de 127
Viète, F. 30
Vigenère, B. 35, 40
   cifrado de 40
   tabla de 40

Wallis, J. 31
Welchman, G. 177
Wheatstone, C. 59, 125
  criptógrafo de 125, 126
Wierner, M. 208
Winterbotham, F. 147

Zimmermann, A. 96
   telegrama 97
Zygalski, H. 157
   hoja de 168




                                    222

Más contenido relacionado

PDF
PWM based motor speed control using LPC 1768
PPTX
Rtos concepts
PPTX
Characteristics of Embedded Systems
PDF
C programing for BCA Sem 1. JJ College
PPTX
Logical micro-operations
PPTX
Teoria de la computacion
PPTX
PIC-Chapter_10.pptx
PDF
Data structures and algorithms made easy java
PWM based motor speed control using LPC 1768
Rtos concepts
Characteristics of Embedded Systems
C programing for BCA Sem 1. JJ College
Logical micro-operations
Teoria de la computacion
PIC-Chapter_10.pptx
Data structures and algorithms made easy java

La actualidad más candente (15)

PPT
microcontroller basics
PDF
Sistema hexadecimal
DOC
UNIT-I-RTOS and Concepts
PDF
Process
PPTX
Embedded System
PPTX
FDI, OPC UA and the IIoT Overview
PDF
Unit 2 processor&amp;memory-organisation
PDF
Unit II arm 7 Instruction Set
PPT
PIC 16F877A by PARTHIBAN. S.
PPTX
Module 2 ARM CORTEX M3 Instruction Set and Programming
PPTX
LPC 1768 A study on Real Time clock features
PPTX
Pipelining, processors, risc and cisc
PPTX
Parallel Processing & Pipelining in Computer Architecture_Prof.Sumalatha.pptx
PPTX
ARM Processor architecture
PDF
Introduction to arm architecture
microcontroller basics
Sistema hexadecimal
UNIT-I-RTOS and Concepts
Process
Embedded System
FDI, OPC UA and the IIoT Overview
Unit 2 processor&amp;memory-organisation
Unit II arm 7 Instruction Set
PIC 16F877A by PARTHIBAN. S.
Module 2 ARM CORTEX M3 Instruction Set and Programming
LPC 1768 A study on Real Time clock features
Pipelining, processors, risc and cisc
Parallel Processing & Pipelining in Computer Architecture_Prof.Sumalatha.pptx
ARM Processor architecture
Introduction to arm architecture
Publicidad

Destacado (20)

PDF
Introducción a la criptografía II
PDF
Introducción a la criptografía III
PPT
ALGORITMOS DE CIFRADO
PDF
Introducción a la c
PDF
¿Sueñan los crackers con ordenadores cuánticos?
PDF
Criptografía Cuántica: La última frontera
PDF
Fernando rodríguez lapuente dijera mi compadre (letra grande)
PDF
Seguridad de la_informacion
PPTX
Presentacion funciones heuristicas para el ajedrez
PDF
Uml y patrones (craig larman)
PPT
curvas elipticas
DOCX
Logica de predicados pastor, oveja, lobo, caja de coles
PPTX
Treball de recerca
PDF
192 fcb cuantica
PDF
PDF
Computacion cuantica
PPT
Criptografía Cuántica http://fisicamoderna9.blogspot.com/
PPTX
Encriptación de datos y seguridad de los mismos
PPTX
Computacion cuantica
PDF
Presentación computación cuántica
Introducción a la criptografía II
Introducción a la criptografía III
ALGORITMOS DE CIFRADO
Introducción a la c
¿Sueñan los crackers con ordenadores cuánticos?
Criptografía Cuántica: La última frontera
Fernando rodríguez lapuente dijera mi compadre (letra grande)
Seguridad de la_informacion
Presentacion funciones heuristicas para el ajedrez
Uml y patrones (craig larman)
curvas elipticas
Logica de predicados pastor, oveja, lobo, caja de coles
Treball de recerca
192 fcb cuantica
Computacion cuantica
Criptografía Cuántica http://fisicamoderna9.blogspot.com/
Encriptación de datos y seguridad de los mismos
Computacion cuantica
Presentación computación cuántica
Publicidad

Similar a Libro criptografia (20)

PDF
m1_act1_lectura_Criptoclasicos_Criptografía-1-35.pdf
DOC
Cripto clasica
PPTX
Criptografia kevin
PDF
Fundamentos de Seguridad y Criptografia
PDF
Historia de la Criptografia
PPT
09 cifraclasica
PPT
Criptografía
PDF
Criptografía y mecanismos de seguridad.pdf
PDF
Criptografía y mecanismos de seguridad.pdf
PPTX
Criptografía
PPTX
Criptografía
PDF
Criptosistemas basados en teor ́ıa de grupos
PDF
CRYTOGRAPHIC THE USE OF CRYTOGRAPHIC ALGORITHMS
PPT
Encriptacion de datos, una vista general
PDF
Criptografia
DOC
SILABO
PDF
S01 - Material-1. -Material-1 - Introducción a la Criptografía - Universidad ...
DOCX
Criptología
ODP
Seguridad
PDF
Criptografia.pdf
m1_act1_lectura_Criptoclasicos_Criptografía-1-35.pdf
Cripto clasica
Criptografia kevin
Fundamentos de Seguridad y Criptografia
Historia de la Criptografia
09 cifraclasica
Criptografía
Criptografía y mecanismos de seguridad.pdf
Criptografía y mecanismos de seguridad.pdf
Criptografía
Criptografía
Criptosistemas basados en teor ́ıa de grupos
CRYTOGRAPHIC THE USE OF CRYTOGRAPHIC ALGORITHMS
Encriptacion de datos, una vista general
Criptografia
SILABO
S01 - Material-1. -Material-1 - Introducción a la Criptografía - Universidad ...
Criptología
Seguridad
Criptografia.pdf

Más de G Hoyos A (20)

PPT
correo seguro
PPT
cifra flujo
PPT
composicion de algoritmos
PPT
gestion seguridad informatica
PPT
calidad de la informacion
PDF
Presentacion cripto transp_manuel_lucena
PDF
S box
PDF
PDF
Unixsec
PDF
Transposicion
PDF
Sellado de tiempo_timestamp
PDF
Protocolo gestor claves
PDF
Problema rsa
PDF
PDF
Número primo fuerte
PDF
Metodo kasiski
PDF
Modos de operación_de_una_unidad_de_cifrado_por_bloques
RTF
PDF
Generador pseudoaleatorio de_números
PDF
Funcion resumen
correo seguro
cifra flujo
composicion de algoritmos
gestion seguridad informatica
calidad de la informacion
Presentacion cripto transp_manuel_lucena
S box
Unixsec
Transposicion
Sellado de tiempo_timestamp
Protocolo gestor claves
Problema rsa
Número primo fuerte
Metodo kasiski
Modos de operación_de_una_unidad_de_cifrado_por_bloques
Generador pseudoaleatorio de_números
Funcion resumen

Libro criptografia

  • 1. Una introducción a la CRIPTOGRAFIA EUGENIO GARCÍA MIGUEL ÁNGEL LÓPEZ JESÚS J. ORTEGA
  • 2. Miguel Ángel López Eugenio García Departamento de Matemáticas Departamento de Matemáticas E. U. Politécnica de Cuenca E. S. de Informática Universidad de Castilla-La Mancha Universidad de Castilla-La Mancha Jesús J. Ortega Departamento de Matemáticas E. S. de Informática Universidad de Castilla-La Mancha © 2005 Los autores Todos los derechos reservados. Este libro puede ser copiado y distribuido en todo o en parte, siempre que se respete su integridad. Queda prohibida su venta sin permiso de los autores.
  • 3. Contenidos Prólogo v Introducción 1 1 Los primeros pasos. Cifrado por sustitución 7 2 El nomenclátor 23 3 Cifrados polialfabéticos 35 4 Cifrados poligráficos 55 5 Cifrados por transposición 77 6 La Criptografía en la Primera Guerra Mundial 95 7 Álgebra y Criptografía 113 8 Máquinas de rotores 125 9 Criptoanálisis de Enigma 147 10 Criptografía Moderna 183 11 Criptografía en clave pública 199 Bibliografía 215 Origen de las fotografías 217 Índice alfabético 219 iii
  • 5. Prólogo Básicamente, el objeto de la Criptografía es permitir la transmisión de información privada por un canal inseguro, de forma que cualquier intruso que intercepte la comunicación no entienda su significado. Este problema de la seguridad en la transmisión de la información es tan antiguo como la propia escritura; aunque, naturalmente, se ha ido adaptando a los diferentes canales de comunicación que la técnica ha proporcionado a lo largo de la Historia: el papel, el telégrafo, el teléfono, la radio o las modernas redes de ordenadores. Hasta hace unos treinta años, la Criptografía era casi exclusiva de gobiernos y mandos militares, los únicos que necesitaban proteger sus comunicaciones. El obligado secreto que acompaña a estos estamentos oficiales ocasionó que la Criptografía fuera materia conocida sólo por unos pocos, entre los que raramente estaba alguien relacionado con el mundo universitario. Esta situación ha cambiado radicalmente con la llegada del ordenador, que en poco tiempo nos ha adentrado en la era de la información. En la actualidad, millones de ordenadores intercambian constantemente información por Internet, una red en continuo crecimiento y pública, al alcance de cualquiera y desde cualquier lugar del mundo. Precisamente, el carácter abierto de Internet supone un problema para la comunicación privada y compromete la información que almacenan los ordenadores, la cual es vital para muchas organizaciones como, por ejemplo, los bancos. La demanda generalizada de protección de la información ha despertado el interés de empresas y universidades por la Criptografía. Las primeras atraídas por el negocio que supone la seguridad informática, las segundas por el conocimiento científico y técnico que requiere la Criptografía actual. En la Universidad, la Criptografía figura ya como asignatura en algunas carreras; en concreto, en las relacionadas con la informática y las telecomunicaciones. El problema de la comunicación segura tendría fácil solución si no fuese por el empeño que ponen algunos en acceder a la información secreta. De hecho, el desarrollo de la Criptografía ha sido siempre consecuencia de la lucha que han mantenido los diseñadores de códigos y los criptoanalistas. Aquellos, proponiendo métodos para ocultar la información que se transmite; estos otros, ideando estrategias para inutilizar tales métodos. Una panorámica de esta disputa a lo largo de la línea del tiempo puede ser perfectamente una introducción a la Criptografía. Con esta idea hemos concebido el presente libro. En él, se va recorriendo la historia de la Criptografía desde la Antigüedad hasta nuestros días, presentando los diferentes métodos de cifrado que se emplearon en cada época y mostrando cómo fueron derrotados por el genio de los criptoanalistas, lo que v
  • 6. PRÓLOGO obligó a considerar otros más complicados. El siguiente párrafo es una rápida sinopsis de su contenido. El texto arranca con una breve Introducción donde, apoyándonos en un sencillo ejemplo, presentamos la terminología propia de la Criptografía. Es necesaria para la lectura de los once capítulos que siguen a continuación. En el primero describimos algunas formas de Criptografía presentes en la Antigüedad, casi todas ellas respondiendo al modelo de sustitución monoalfabética. Estos cifrados por sustitución fueron derrotados por el llamado análisis de frecuencias, inventado por los árabes durante la Edad Media. El Capítulo 1 también incluye esta técnica de criptoanálisis. El Capítulo 2 está dedicado al nomenclátor, método de cifrado ideado en la Italia renacentista con el que se pretendió burlar al anterior análisis de frecuencias. Estuvo en vigor hasta la aparición del telégrafo, a mediados del siglo XIX. El uso del telégrafo dio paso a los libros de códigos y a las cifras de campo. Los libros de códigos, sucesores del nomenclátor, son descritos brevemente al comienzo del Capítulo 4. Las cifras de campo, así llamadas porque fueron empleadas por los ejércitos en el frente, se dividen en tres categorías: cifrados polialfabéticos, cifrados poligráficos y transposiciones. Son tratados en los Capítulos 3, 4 y 5, respectivamente; en los que también se incluyen métodos de criptoanálisis contra estos cifrados. El Capítulo 6 contiene algunos episodios criptográficos de la Primera Guerra Mundial. Comienza con el telegrama Zimmermann, contando cómo fue descifrado por los británicos y cómo este hecho fue de enorme importancia para el curso de la guerra. Termina con el cifrado ADFGX, mostrando cómo fue vencido por Georges Painvin, el mejor criptoanalista de aquel conflicto. En el Capítulo 7 se presenta el cifrado concebido por el matemático Lester S. Hill en 1929, un método que se formula en términos de ecuaciones algebraicas. Desde entonces, el Álgebra y la Criptografía son dos disciplinas altamente interrelacionadas. El Capítulo 8 va dedicado a las máquinas de rotores, ingenios electromecánicos que fueron empleados durante la Segunda Guerra Mundial. Tras mostrar los fundamentos del rotor, se describen algunas máquinas de cifrar basadas en este mecanismo; entre ellas, la famosa Enigma del ejército alemán. Este aparato criptográfico fue criptoanalizado por matemáticos polacos antes de la Segunda Guerra Mundial; después, ya en tiempo de guerra, otros matemáticos británicos continuarían su trabajo. Gracias a ello, los aliados gozaron de una gran ventaja durante la guerra. El Capítulo 9 describe cómo se llevó a cabo este criptoanálisis, quizás sea el episodio más interesante de toda la historia de la Criptografía. Los dos últimos capítulos van dedicados a la Criptografía Moderna, que así se dice de la destinada a ser implementada en el ordenador. En el Capítulo 10 presentamos brevemente los fundamentos de los nuevos métodos de cifrado; seguidamente, hablamos del controvertido DES, el estándar de cifrado americano que estuvo en vigor hasta 1998; y por último, describimos el modernísimo AES, el actual estándar que sustituyó al DES. El Capítulo 11 está dedicado a la Criptografía en clave pública. Tras introducir los novedosos conceptos de esta Criptografía, detallamos algunos criptosistemas asimétricos; entre ellos, el famoso RSA. El capítulo concluye comentando algunas aplicaciones de la Criptografía en clave pública que son de interés en el mundo actual, como la firma digital o las llamadas tarjetas inteligentes. vi
  • 7. PROLOGO Las Matemáticas son la herramienta principal de la Criptografía. No obstante, sólo se necesitan unos pocos conocimientos matemáticos para abordar este libro. Toda la Criptografía hecha hasta la Primera Guerra Mundial emplea unas Matemáticas muy elementales: las primeras nociones sobre Combinatoria y Probabilidad, todo lo más. Dichos conceptos los hemos incluido en el texto en el momento que se necesitan. Si lo hemos hecho con mediana claridad, la lectura de los primeros seis capítulos no debe presentar problema alguno para nadie. El Capítulo 7 requiere estar familiarizado con las cuestiones básicas del cálculo matricial, las que se enseñan en el Bachillerato son suficientes. En este mismo Capítulo 7 se introduce la que en Álgebra se llama aritmética modular, la cual se necesita también en los dos capítulos de Criptografía Moderna. Reconocemos que su comprensión puede presentar cierta dificultad para quien no la haya estudiado nunca y esperamos que nuestra exposición no resulte del todo incomprensible para estos lectores. Créannos si decimos que nos hemos esforzado en ello. El criptoanálisis de Enigma precisa algunas cuestiones sobre teoría de permutaciones, también muy elementales. De nuevo, las hemos introducido en el momento que han sido necesarias, acompañándolas de unas explicaciones que esperamos sean suficientes. Por último, las Matemáticas que maneja la Criptografía Moderna han sido reducidas a “su mínima expresión”. Aunque esta nueva Criptografía se soporta en unas Matemáticas que en ocasiones sólo están al alcance de unos pocos, por fortuna es posible dar una rápida introducción a un nivel muy elemental. Es lo que hemos pretendido en los dos últimos capítulos. Otro aspecto que hemos de comentar es el lenguaje empleado. Cada capítulo del texto es una secuencia de párrafos donde se describen modos de cifrar, se exponen métodos de criptoanálisis, se introducen algunos conceptos matemáticos o se incluyen algunas curiosidades históricas. Obviamente, el lenguaje que se precisa es muy diferente en cada caso. Las Matemáticas se escriben con un lenguaje cargado de símbolos que suelen provocar una sensación de rechazo en quien no está familiarizado con ellos. Con objeto de evitar este efecto, nosotros hemos empleado muy pocos signos matemáticos, sólo los que representan a las operaciones básicas. Sin embargo, este no es el problema. La dificultad está en manejar correctamente expresiones genéricas, en distinguir lo genérico de lo específico; y, sobre todo, en efectuar razonamientos con esta clase de enunciados. Para ello, las Matemáticas recurren al lenguaje de la lógica y los conjuntos, que es precisamente de donde proceden los signos matemáticos. Aquí, en este libro, tales signos han sido reemplazados por expresiones del lenguaje habitual como “para cada clave… ”, “fijado un entero…”, “consideremos un alfabeto de 27 letras…”, etc. El criptoanálisis es pura deducción; y como tal, es una secuencia de razonamientos donde se establece la veracidad de ciertas proposiciones. Hemos intentado clarificar al máximo nuestras argumentaciones, pero lleva su tiempo entenderlas. Un texto donde se establece una demostración requiere mucha más atención que otro donde se cuenta una historia o se describe algo. Por último, damos las gracias a todos los que nos han ayudado de un modo u otro en la elaboración de este libro. No hace falta que los citemos, ellos saben quienes son. vii
  • 9. INTRODUCCIÓN Imaginemos que las actividades de dos personas, Alicia y Bernardo, van a requerir que mantengan comunicación durante varios meses y desde lugares distantes, sin que sea posible el contacto personal. Forzosamente, la comunicación debe tener lugar a través de algún medio como el teléfono o el correo. Imaginemos también que una tercera persona, Carlos, está interesada en los actos de Alicia y Bernardo. Carlos es muy poderoso, controla todos los canales de comunicación. Sin duda alguna, interceptará cualquier comunicación entre Alicia y Bernardo. Estos lo saben y no desean que Carlos se entere de sus actividades. Toda información que intercambien deberá permanecer secreta para Carlos. Para convenir como hacerlo, tienen una reunión previa. Enseguida se dan cuenta que no podrán conversar por teléfono, ya que estará intervenido. Tendrá que ser mediante mensajes escritos. El correo electrónico es el medio más adecuado. Pero claro, los mensajes viajan por una red de ordenadores acompañados de unos números que identifican al ordenador de origen y al de destino. Conociendo estos números, resulta fácil para el que controla la red interceptar aquellos correos que le interesan. Con toda seguridad, Carlos leerá el contenido de los mensajes que intercambien Alicia y Bernardo. Ahora bien, si su significado se ha ocultado de algún modo, si son incompresibles para Carlos pero no para Alicia y Bernardo, éstos habrán resuelto su problema. No parece que sea difícil hacerlo, basta con manipular las letras de un mensaje para que éste esconda el significado de las palabras que contiene. Después, cuando el mensaje llegue a su destino, se recompone de nuevo y las palabras recuperan el sentido. Naturalmente, para que este proceso logre su cometido, el modo en que se han alterado las letras no debe ser observable en los mensajes que se transmiten. Y hay muchas formas de hacerlo. Alicia y Bernardo consideran varias: escribir al revés, cambiar unas letras por otras... O mejor aún, combinar dos de estas maneras. Por ejemplo, primero se escriben las palabras al revés y después se cambia cada una de las letras por la que sigue en el orden alfabético. Consideran que es perfecta. ¿Quién va a adivinar que tras ‘PUFSDFT’ se esconde la palabra SECRETO? Tarde o temprano todo el mundo. Estos modos de ocultar el significado de los mensajes son los primeros que piensa cualquier persona. También lo hará Carlos. Ciertamente, observando aislado el fragmento ‘PUFSDFT’ es difícil averiguar su procedencia; pero contemplando al mismo tiempo varios textos manipulados todos ellos de ese modo ya no es tan difícil. Los artículos y otras palabras de uso frecuente pero con 1
  • 10. INTRODUCCIÓN pocas letras ayudarán a descubrir el engaño. Lo que en un principio parecía una buena idea resulta ser, tras una breve reflexión, una ingenuidad. A esta misma conclusión llegan Alicia y Bernardo. Una manipulación de los mensajes no va ser suficiente para burlar a Carlos, por muy complicada que sea. Primero porque no hay tantas maneras de hacerlo, y segundo porque los mensajes que intercepte Carlos dan pistas sobre ella. En consecuencia, la solución a su problema requiere algo más. Sí, claro, pero ¿qué? Más tiempo de reflexión trae nuevas ideas: que en el proceso de manipulación de los mensajes intervenga cierto dato, como una palabra o un número, y de modo que el resultado dependa de él. Más aún, si el dato puede variar fácilmente y si puede ser escogido entre una gran cantidad posible, no cabe duda que a quien lo desconozca le será muy difícil recuperar el significado de los mensajes. Quizás hasta sea imposible. Esta es la clave de la solución al problema de Alicia y Bernardo; y así deciden llamar al citado dato: la clave. La idea es interesante, pero ¿cómo llevarla a la práctica? En primer lugar, hay que contemplar un mensaje como una simple secuencia de signos que van uno a continuación de otro. Estos signos son las letras, las hay mayúsculas y minúsculas, los números, los signos de puntuación, etcétera. Todos ellos constituyen el alfabeto. Generalmente, no es necesario emplearlos todos para transmitir información; puede bastar con redactar los mensajes empleando sólo letras mayúsculas y sin signos de puntuación. En consecuencia, antes que nada hay que convenir un alfabeto con el que se escribirán los mensajes con significado. Este alfabeto se denomina alfabeto en claro o llano, y a los textos con él redactados textos en claro o textos llanos. Como es de esperar, el alfabeto que se fije depende del tipo de información que se vaya a transmitir. Alicia y Bernardo consideran el alfabeto formado por las veintisiete letras mayúsculas y el punto ‘·’ que hará de separador de palabras. Un ejemplo de texto en claro puede ser el siguiente: Texto llano: SE·APLAZA·LA·REUNION·DEL·LUNES Los textos en claro van a ser transformados para ocultar su significado. Como consecuencia de ello, se obtendrá otra secuencia de caracteres que se llama texto cifrado o criptograma. Con frecuencia, sus signos pertenecen también al alfabeto en claro, pero no tiene porque ser así. Por tanto, hay que considerar también el alfabeto que forman los signos de los textos cifrados, que recibe el nombre de alfabeto de cifrado. Alicia y Bernardo deciden que el suyo sea el constituido por los dígitos del 0 al 9 junto con el espacio en blanco. Tienen pensado que los criptogramas sean series de números separadas por dicho espacio en blanco. El siguiente paso es considerar las claves. Deben ser elegidas entre una gran cantidad posible. Las que van a emplear los protagonistas de nuestro imaginario ejemplo son palabras de ocho letras, no necesariamente con sentido gramatical. Empleando las 27 letras del alfabeto, el número de tales palabras es 278, cifra que supera los mil millones; suficiente para Alicia y Bernardo. Las claves deben intervenir en la transformación de los textos en claro en criptogramas; y viceversa, en la recuperación de aquellos a partir de éstos. Tales transformaciones se denominan algoritmos de cifrado y descifrado, respectivamente. Describirlos con exactitud es la próxima tarea que ocupa a Alicia y Bernardo. 2
  • 11. INTRODUCCION Fijada una clave, por ejemplo la palabra IMAGINAR, colocan los 28 caracteres del alfabeto en claro en un rectángulo dividido en 30 casillas dispuestas en tres filas y diez columnas. Primero escriben las letras de la clave a partir de la tercera casilla, sin repetir ninguna letra. A continuación el punto ‘·’ y después el resto de las letras en su orden habitual. El siguiente esquema lo explica perfectamente: 1 2 3 4 5 6 7 8 9 0 I M A G N R · B 1 C D E F H J K L Ñ O 2 P Q S T U V W X Y Z Los números que rodean al rectángulo sirven para asociar de manera unívoca un entero de uno o dos dígitos a cada letra del alfabeto en claro. A las de la primera fila se asocia el número que está encima de ellas; y a las de la segunda y tercera filas, este mismo número precedido por un 1 ó un 2, respectivamente. Así, a la letra A se asocia el 5 y a la S el 23. El propósito de Alicia y Bernardo es sustituir cada uno de los signos de los textos en claro por el número correspondiente, dando lugar a una secuencia de dígitos. Mostrémoslo con el texto en claro de antes: S E · A P LAZA · LA · RE UN I ON · D E L · L UNE S 23 13 9 5 21 18 5 20 5 9 18 5 9 8 1325 7 3 10 7 9 121318 9 18 25 7 13 23 Recorriendo de izquierda a derecha la secuencia de dígitos puede recuperarse de nuevo el texto en claro. Ello es posible porque ni el 1 ni el 2 van asociados a signo alguno. Así, cuando en este recorrido se encuentre un 1 o un 2, habrá que considerar también el siguiente dígito para descubrir la próxima letra. Es fundamental que el receptor del mensaje pueda obtener sin ambigüedad el texto en claro durante el proceso de descifrado. Pero la secuencia de dígitos antes obtenida no es todavía el texto cifrado. Aún debe someterse a la siguiente modificación. Considerando de nuevo la clave y asociando a cada una de sus letras un dígito entre 1 y 8 según el orden alfabético, se obtiene un número de ocho cifras: I MA G I N A R 4 6 1 3 5 7 2 8 Si se repite sucesivas veces este número, se puede conseguir una cadena de dígitos tan larga como la secuencia anterior. Se escriben ambas series de números una debajo de la otra. Una vez hecho, se suman los dígitos sin tener en cuenta la unidad que hay que llevarse cuando se pase de diez. Ello proporciona una tercera serie de dígitos: 3
  • 12. INTRODUCCIÓN 2313952118520591859813257310791213189182571323 4613572846135728461357284613572846135728461357 —————————————————————————————————————————————— 6926424954655219210160431923263059214800932670 Y ya, por fin, el texto cifrado es esta última secuencia de dígitos, agrupándolos en bloques de cinco y separándolos por un espacio en blanco: 69264 24954 65521 92101 60431 92326 30592 14800 93267 0 Para recuperar el mensaje en claro, el receptor de este criptograma debe deshacer los pasos anteriores. Primero, ha de colocar debajo de estos números las series repetidas del entero de ocho cifras asociado a la clave; y a continuación, efectuar la resta sin llevarse unidades. Después, usando el anterior rectángulo de 30 casillas, recuperará el texto en claro del modo explicado antes. Observemos el papel de la clave en todo este proceso. Distintas claves dan lugar a diferentes disposiciones de las letras en el rectángulo y a distintos números de ocho cifras. Por consiguiente, variar la clave ocasiona que un mismo texto en claro dé lugar a diferentes criptogramas. La clave debe cambiarse periódicamente. Este periodo estará en función del tráfico de mensajes. Muchos mensajes cifrados con una misma clave pueden comprometer la información que esconden todos ellos. Lo ideal es emplear una clave distinta en cada mensaje, pero ello puede requerir manejar una cantidad tan elevada de claves que lo hará inviable en la práctica. En el ejemplo que describimos, Alicia y Bernardo prevén un flujo de mensajes del orden de media docena al día. Consideran que con emplear una clave distinta cada semana será suficiente. Con este supuesto, confeccionan por duplicado una lista con un número de claves que cubre el tiempo que durará su actividad. La guardarán con el mayor de los secretos. Por último, observan que es conveniente ir borrando de la lista las claves que hayan caducado. Protegerán así la información transmitida en el caso que Carlos se apodere de dicha lista de claves. El problema al que se enfrentan Alicia y Bernardo es precisamente el objeto de la Criptografía: establecer comunicación segura por un canal inseguro. Durante siglos, esta disciplina ha sido casi exclusiva de diplomáticos y militares. La han empleado los gobiernos para enviar instrucciones a sus embajadores en el extranjero, también los mandos de un ejército para transmitir órdenes a sus unidades en el frente. En la actualidad, en la que muchos llaman la era de la información, el uso de la Criptografía ha trascendido a otros espacios como la industria o el comercio. Más aún, en estos ámbitos han surgido versiones del problema anterior que hacen protagonistas a personas que nada tienen que ver con la Criptografía. Por ejemplo, cuando alguien efectúa una operación bancaria a través del teléfono o por Internet, representa el papel de Alicia y Bernardo; cuando se intenta acceder a la emisión de un canal codificado de televisión sin estar abonado, se actúa como Carlos. La Criptografía intenta resolver el problema anterior diseñando criptosistemas. Precisamente es lo que han hecho Alicia y Bernardo para intentar burlar a Carlos. Gracias al ejemplo que nos han proporcionado y a las explicaciones que hemos ido insertando, 4
  • 13. INTRODUCCION podemos definir de forma esquemática este concepto fundamental: un criptosistema consta de los siguientes elementos: 1.- Un alfabeto en claro y otro de cifrado, con los que se escriben los textos llanos y los criptogramas, respectivamente. 2.- Una colección de datos llamados claves, en los que se deposita la seguridad del criptosistema. 3.- Un algoritmo de cifrado, que transforma los textos llanos en criptogramas; y otro de descifrado, que deshace el proceso anterior. Una vez que Alicia y Bernardo comiencen a transmitir mensajes cifrados entrará en acción Carlos, quien intentará acceder a la información que esconden dichos mensajes. A los intrusos como él la Criptografía les llama criptoanalistas, y a su trabajo criptoanálisis. Su objetivo es entonces obtener los textos en claro. Generalmente, ello pasa por descubrir primero el criptosistema empleado y después las claves concretas con las que se descifran los criptogramas. Dado que el canal por donde circulan los mensajes no es seguro, hay que suponer siempre que el criptoanalista dispondrá de la mayor parte de los criptogramas transmitidos. En ocasiones esto puede ser suficiente para que el criptoanalista logre su cometido. En tal caso, al método que emplee se le denomina criptoanálisis con texto cifrado. Con frecuencia sucede que las personas que manejan información cifrada cometen errores o descuidos que permiten al criptoanalista conseguir los textos llanos de los que proceden algunos criptogramas. Si con ellos obtiene el resto de los mensajes en claro, se dice entonces que el criptosistema sucumbe ante un criptoanálisis con texto claro y cifrado. Si el criptoanalista pertenece a un servicio de inteligencia con suficientes medios, muy probablemente su organización le consiga el criptosistema y una buena cantidad de textos en claro y sus correspondientes cifrados. Si el resto de los mensajes en claro resisten este criptoanálisis total, es entonces cuando el criptosistema se considera seguro. Introducida esta terminología, es obligado responder a lo siguiente: ¿es seguro el criptosistema ideado por Alicia y Bernardo?, ¿logrará Carlos acceder a la información cifrada? Evidentemente, depende de los conocimientos y medios que posea. Quien controla los medios de comunicación suele tener en nómina a personas con avanzados conocimientos en criptoanálisis y les facilita los medios que necesiten. Para estos criptoanalistas, el criptosistema de Alicia y Bernardo es muy simple; seguro que lo derrotan con texto cifrado únicamente y en poco tiempo. No obstante, a pesar de su sencillez, el criptosistema de Alicia y Bernardo es muy interesante. Es una versión simplificada de otros que usaron espías soviéticos durante y después de la Segunda Guerra Mundial, y con los que burlaron a los servicios de contraespionaje de los países donde actuaron. Entre todos estos criptosistemas, el más seguro (y también el más complejo) fue el empleado por Reino Hayhanen, espía ruso en los Estados Unidos entre 1953 y 1957. El F.B.I. sólo pudo acceder a la información transmitida por Hayhanen cuando éste, tras desertar, proporcionó las claves. Si Alicia y Bernardo hubiesen incorporado en su criptosistema algunas de las ideas presentes en el de Hayhanen, habrían puesto en muchas dificultades a su oponente Carlos. 5
  • 14. INTRODUCCIÓN Pero no era el objetivo de esta introducción mostrar un criptosistema seguro, resistente a los mejores criptoanalistas; sino presentar la noción de criptosistema e ilustrarla con un ejemplo sencillo. Será necesaria para abordar los capítulos que siguen a continuación. En ellos el lector advertirá poco a poco lo difícil que es concebir un criptosistema seguro. 6
  • 15. 1 LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN Los historiadores dicen que la Criptografía es casi tan antigua como la propia escritura. Afirman que está presente en todas las civilizaciones de la Antigüedad y dan ejemplos documentados que lo demuestran. Sin embargo, estos ejemplos son puntuales. Ninguna de estas civilizaciones hizo uso común de la Criptografía. Ningún imperio de aquella época la utilizó de forma habitual para enviar mensajes confidenciales a sus provincias o a su ejército, sólo en contadas ocasiones. El uso regular de la Criptografía comienza en la Edad Media, con los árabes; y en Europa ello no sucede hasta el Renacimiento. Hasta entonces, aunque la Criptografía surge en muchos lugares, únicamente aparece de forma esporádica. En la Antigüedad sólo hay unas pocas muestras de Criptografía, y son muy simples. Pero hay que comenzar por dichas muestras. No sólo por curiosidad histórica, sino porque en ellas hay parte de la base de la Criptografía que vendrá después. Las líneas que siguen a continuación contienen algunos de dichos ejemplos, creemos que los más significativos. El primer texto relacionado con la Criptografía del que se tiene conocimiento data aproximadamente del año 1900 a.C. Es del antiguo Egipto; es un grabado en una piedra de la cámara principal de la tumba de un noble de la ciudad de Menet Khufu, a las orillas del Nilo. En él se cuentan los actos más relevantes de la vida de ese noble. En realidad no es un texto criptografiado con la intención de ocultar su contenido, sino que es simplemente un texto en el que ciertos símbolos jeroglíficos se cambian por otros similares pero no usuales. Se cree que con la intención de dotar al texto de cierto tono de dignidad. Esta práctica perduró durante cierto tiempo, con escritos cada vez más complicados; pero después se abandonó. Constituye la única muestra criptográfica de la civilización egipcia. Los escribas de la antigua Mesopotamia también cambiaron en ocasiones los signos cuneiformes de su escritura por otros, coincidiendo así con sus colegas egipcios en esta forma de alterar la escritura. Pero a diferencia de los egipcios, los escribas mesopotámicos sí tuvieron intención de ocultar el significado de la escritura. De esta cultura es el texto 7
  • 16. 1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN cifrado más antiguo que se conserva, data aproximadamente del año 1.500 a.C. Es una tablilla de arcilla en la que se escribió secretamente una fórmula para el barniz que se empleaba en alfarería. Seguramente era un valioso tesoro en aquella remota época. Saltando ya al siglo VI a.C., en algunos antiguos textos hebreos, entre los que están los bíblicos, figuran nombres de personas y ciudades que han sido transformados mediante ciertas sustituciones de unas letras por otras. La más frecuente es la denominada “atbash”. En el “atbash” la primera letra del alfabeto hebreo se cambia por la última y viceversa, la segunda por la antepenúltima y así sucesivamente, según el esquema que se muestra en la Figura 1.1. Otra sustitución similar es el “albam”. En ella la primera letra se intercambia con la duodécima, la segunda con la decimotercera y así sucesivamente. Sin embargo, no se observa razón alguna para tal encriptación. ¿Quizás para dar un aire de misterio a los escritos? Figura 1.1. El “atbash” hebreo. Una curiosa forma de enviar secretamente mensajes se produjo en la antigua China. Generalmente, la diplomacia china y su ejército transmitían la información de forma oral, memorizando los mensajes. Pero en ocasiones se escribía el texto de forma minuciosa en fina seda que después se enrollaba y se sellaba con cera. El mensajero lo ocultaba en su propio cuerpo, tragándoselo. Este modo de enviar secretamente información ocultando el propio mensaje recibe el nombre de esteganografía. Otro ejemplo histórico de esteganografía es la manera en que los griegos del siglo V a. C. se enteraron a tiempo del plan de invasión de Persia. Cuenta el historiador Herodoto en su obra “Las Historias” que Demarato, un exiliado griego en Persia, grabó los planes 8
  • 17. 1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN persas en un par de tablillas de madera y después las cubrió con cera, ocultando así el mensaje. Las tablillas partieron desde la ciudad persa de Susa hasta Esparta sin ser interceptadas por el camino. Ya en su destino, Gorgo, esposa del rey Leónidas, adivinó que debajo de la cera debería esconderse algo escrito. Después que el mensaje fue leído, Esparta comunicó las intenciones persas al resto de las ciudades griegas. Gracias a ello, los griegos pudieron armarse a tiempo y derrotar a los persas en las batallas de las Termópilas, Salamina y Platea. Fueron precisamente los espartanos de ese mismo siglo V a.C. quienes diseñaron el primer criptosistema para uso militar: el escítalo. Plutarco en su obra “Vida de Lisandro” lo describe como un bastón redondo en el que se enrollaba una cinta de pergamino larga y estrecha como una correa, sobre la que se escribía un mensaje en forma longitudinal. Al desenrollar la cinta las letras aparecían en otro orden, formando una secuencia sin sentido. El receptor del mensaje disponía de otro bastón exactamente igual que el del emisor, y recuperaba el mensaje enrollando de nuevo la cinta. (Véase la Figura 1.2). Figura 1.2. El escítalo espartano. Continuando en la Grecia clásica, el escritor Polibios describe en el siglo II a. C. un curioso sistema de señales que puede ser adoptado también como método criptográfico. Polibios dispone las letras en un cuadrado, como el que sigue a continuación: 1 2 3 4 5 1 α β γ δ ε 2 ζ η θ ι κ 3 λ µ ν ξ ο 4 π ρ ς σ τ 5 υ φ χ ψ ω Tabla 1.1. Cifrado de Polibios 9
  • 18. 1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN Cada letra puede ser representada por dos números. Por ejemplo: α con 11, ρ con 42. Polibios sugería transmitir estos números por medio de señales luminosas procedentes de antorchas y así poder enviar mensajes desde largas distancias. Hay que dudar de la efectividad del método de Polibios en la transmisión de información, pero es incuestionable que su idea de representar letras por números es muy interesante. Estará presente a lo largo de toda la historia de la Criptografía. Ya en la época romana, Julio Cesar en su “Guerra de las Galias” señala que envió un mensaje a su general Cicerón cambiando las letras latinas por las griegas. Posteriormente, Julio Cesar ideó un modo de cifrado que figura como ejemplo en todos los textos de Criptografía. Es simple, consiste en sustituir cada letra por la que se encuentra tres posiciones más avanzada en el orden del alfabeto. Así, con nuestro actual alfabeto, la ‘a’ se cambiaría por la ‘D’, la ‘b’ por la ‘E’,...., y la ‘z’ por la ‘C’; como se indica a continuación: a b c d e f g h i j k l m n o p q r s t u v w x y z ↓ D E F G H I J K L M N O P Q R S T U V W X Y Z A B C Sustitución de Julio César. Con este esquema, la famosa frase de Cesar ‘veni, vidi, vinci’ se cifraría ‘YHPL, YLGL, YLPFL’. Sorprende encontrar una muestra de Criptografía en el texto erótico “El Kamasutra”, escrito en el siglo IV. En él se listan 64 artes que las mujeres deben conocer y practicar, entre las que están el canto, la cocina y el ajedrez. La número 45 recibe el nombre “mlecchita-vikalpa” y es el arte de la escritura secreta. En el Kamasutra se describen incluso dos métodos de cifrado. Uno de ellos recibe el nombre de “kautiliyam” y consiste en cambiar unas letras por otras relacionadas fonéticamente. El otro se llama “mūladeviya” y consiste en emparejar aleatoriamente las letras del alfabeto y reemplazar cada letra de un texto por su pareja. Y un último ejemplo. En nuestros archivos históricos se conservan varios documentos cifrados de la época visigótica. En ellos se sustituyen las vocales por diferentes signos; en ocasiones por puntos y líneas, otras veces por números romanos. En esta breve reseña histórica encontramos tres formas diferentes de enviar mensajes secretos. A una de ellas la llamamos esteganografía y dijimos que consiste en ocultar el propio mensaje. En los ejemplos mostrados hay dos de esteganografía. Otro ejemplo típico es la escritura con tinta invisible. Seguramente ésta es la técnica esteganográfica más empleada en todos los tiempos. Es antiquísima. Ya en el siglo I, Plinio el Viejo mostró como hacer tinta invisible con el jugo de cierta planta. Estas tintas, también llamadas “simpáticas”, se hacen visibles al entrar en contacto con otra sustancia 10
  • 19. 1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN o con calor. Sin embargo, la esteganografía no es propiamente una forma de Criptografía; o al menos no responde al modelo de criptosistema que dimos en la introducción. El modo de cifrar mensajes del escítalo espartano se conoce como cifrado por transposición. En general, un cifrado por transposición es aquel en que las letras del texto se reordenan de otra manera, siguiendo un patrón convenido entre el emisor y el receptor del mensaje. Un ejemplo sencillo de cifrado por transposición consiste en escribir al revés las palabras de un texto. En la Criptografía moderna se sigue haciendo uso de la transposición. Pero en los demás ejemplos históricos que hemos presentado, la manera de cifrar consiste simplemente en cambiar unas letras del alfabeto por otras, o por símbolos o números (cifrado de Polibios), haciendo el texto resultante ininteligible. Sin duda, ésta es la forma de comunicación secreta más empleada en la Antigüedad. Recibe el nombre de cifrado por sustitución y lo estudiaremos detenidamente a continuación. Este estudio nos ayudará a entender otros métodos de cifrado más complicados que aparecerán en posteriores capítulos. La definición que acabamos de dar del método de sustitución es clara y sencilla, lo explica perfectamente; pero no nos permite extraer conclusión alguna de la seguridad que proporciona. Para ello, es necesario que lo describamos como un método de codificación que responde al modelo presentado en la introducción. Esto es, como un criptosistema. Recordemos que en un criptosistema se parte de dos alfabetos o colecciones de caracteres. Los textos a cifrar se contemplan como una secuencia de caracteres elegidos en el primer alfabeto, que se llama alfabeto en claro o llano. Los textos cifrados son así mismo sucesiones de caracteres del segundo alfabeto, llamado alfabeto de cifrado. La obtención del texto cifrado a partir del texto en claro se realiza mediante un proceso llamado algoritmo que depende de un dato fundamental: la clave. La clave también es necesaria al receptor del mensaje para su descifrado. En el cifrado por sustitución el alfabeto llano y el de cifrado tienen el mismo número de caracteres. Frecuentemente los dos alfabetos son el mismo, pero en general no tiene porque ser así. Ahora, cada signo del alfabeto llano se empareja con un único carácter del alfabeto cifrado. Habitualmente, esto se hace colocando en orden los caracteres del alfabeto llano y debajo de cada uno de ellos el signo del alfabeto cifrado con el que se empareja. En el cifrado de Julio Cesar hemos dado un ejemplo de cómo hacerlo. Otro ejemplo se muestra a continuación. Claro: a b c d e f g h i j k l m n ñ o p q r s t u v w x y z Cifrado: C R Y P T O G A F I B D E H J K L M N Ñ Q S U V W X Z Ejemplo de sustitución. Notemos que ambos alfabetos, el claro y el de cifrado, son el mismo: nuestro alfabeto español. La clave en el método de sustitución es precisamente el modo en que 11
  • 20. 1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN emparejamos los caracteres de un alfabeto con los del otro. Tanto emisor como receptor deben conocer la clave. Para cifrar, el emisor reemplaza cada carácter del texto en claro por el carácter que tiene asociado en el alfabeto cifrado, según indica la clave. Para descifrar, el receptor del mensaje tiene que cambiar cada signo del texto cifrado por aquel del alfabeto llano que le corresponde. Así, usando la clave que proporciona este mismo ejemplo dado antes, el texto en claro cifradoporsustitución se cifraría así: Texto llano: cifradoporsustitución Texto cifrado: YFONCPKLKNÑSÑQFQSYFKH Observemos en este ejemplo que el alfabeto de cifrado se ha formado a partir de la palabra “CRYPTOGRAFIA”: se ha colocado esta palabra sin repetir la ‘R’ y la ‘A’, y a continuación el resto de las letras en su orden habitual. Es una forma práctica de formar claves a partir de palabras, ya que facilita la memorización de la clave; pero no hay que confundir la clave con la palabra. La clave es, repetimos, el modo en que se emparejan las letras de los alfabetos llano y de cifrado. ¿Y cuántas claves posibles hay en el cifrado por sustitución? Calculémoslas. Para ello, supongamos que el alfabeto en claro es el nuestro, el español, y que el de cifrado está formado por 27 signos cualesquiera. La primera letra del alfabeto llano es la ‘a’. Tenemos 27 signos del alfabeto cifrado para relacionar con la ‘a’, y cada uno de ellos dará lugar a una clave distinta. Una vez resuelto que signo emparejamos con la ‘a’, nos quedarán 26 posibles para asociar con la ‘b’, que es la segunda letra del alfabeto llano. Y como antes, cada una de estas 26 posibilidades determinará una clave distinta. A continuación, decidimos que signo del alfabeto de cifrado agrupamos con la ’c’. Restarán 25 de ellos. Etcétera. Ya concluimos: el número de claves posibles es el producto de todas las formas diferentes de elegir signos para cada una de las letras. En total: 27×26×25×....×2×1 = 10888869450418352160768000000. Este es un número muy grande. Llevaría una eternidad descifrar un mensaje por sustitución probando todas las claves una a una, aún incluso con un ordenador. Un ordenador que fuese capaz de comprobar un trillón de claves por segundo (y sería mucho más rápido que los actuales) tardaría más de trescientos años en comprobarlas todas. Este hecho puede inducirnos a pensar en una gran seguridad del cifrado por sustitución si tanto el emisor como el receptor guardan secretamente la clave. Pues no, no es así. Un intruso recupera fácilmente la clave si es capaz de hacerse con unas pocas líneas de texto pleno y su correspondiente cifrado. (Recordemos que esto en Criptografía se llama ataque con texto pleno). Sólo tiene que ir leyendo una a una las letras del texto claro y cotejándolas con sus correspondientes del texto cifrado, de este modo se recupera la clave. Y obtenida la clave, es sencillo descifrar cualquier otro mensaje que se cifre con ella. Pero la clave puede recuperarse también sin conocer texto pleno alguno. ¿Cómo? Pues haciendo uso de la gran debilidad del cifrado por sustitución: cada letra del texto en claro se cifra siempre con el mismo signo del alfabeto de cifrado. Ello permite recuperar 12
  • 21. 1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN la clave a partir de unas cuantas líneas de texto cifrado mediante el llamado análisis de frecuencias, que es la técnica de criptoanálisis más antigua en la historia de la Criptografía. Es de origen árabe y aparece ya en textos que se remontan al siglo IX. Los califas árabes que sucedieron a Mahoma hicieron uso habitual de la Criptografía para administrar su imperio, la aprendieron de la conquistada Persia. Al igual que los reyes persas, los califas se comunicaban secretamente con los emires de sus provincias mediante mensajes cifrados. Pero la Criptografía fue utilizada también en instancias inferiores del estado. Los libros árabes de la época citan, por ejemplo, que los funcionarios encargados de la recaudación de los impuestos protegían la información de sus archivos cifrando los documentos. En dichos textos pueden encontrarse varios modos de cifrado, la mayoría respondiendo al modelo de sustitución. Y también puede leerse como criptoanalizarlos mediante el citado análisis de frecuencias. Uno de estos libros es una enorme enciclopedia de 14 volúmenes que recoge todo el saber de la época, lleva el título “Subh al-a ´sha” y se terminó de escribir en 1412. Su autor: Shilāb al-Dīn abu ´l-Abbas Ahmad ben ´Ali ben Ahmad ´Abd Allāh al- Qalqashandi. Contiene una sección dedicada a la Criptografía con el título “Sobre la ocultación de mensajes secretos en las cartas”. En ella se explica claramente como desencriptar un cifrado por sustitución: lo primero es averiguar en qué idioma se ha escrito el texto en claro y después... “... cuenta cuantas veces se repite cada símbolo y anótalo. Si la persona que ha diseñado el código ha sido meticulosa y ha ocultado la separación de las palabras en el cuerpo del mensaje, entonces lo primero es descubrir que símbolo divide las palabras... Seguidamente, mira que letras aparecen más frecuentemente en el mensaje y compara con el patrón de frecuencias de letras previamente mencionado. Cuando veas que una letra aparece en el mensaje más veces que el resto, asume que es ‘alif’; luego asume que la siguiente más frecuente es ‘lām’. La exactitud de tu conjetura será confirmada por el hecho que en la mayoría de los contextos, ‘lām’ sigue a ‘alif’...” Se entenderá mejor la idea que expone Al-Qalqashandi si es llevada a la práctica. Esto es, si la usamos para criptoanalizar un texto cifrado por sustitución. Con este fin consideramos el siguiente criptograma: 13
  • 22. 1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN HS2BHF7JÑ7207HS2B9C722SJ47JÑ72MP7BN77JMP7H92BS2926 929J6SNMP72FMP7JS17N7B7H967J96SJ7NN7170FS9J9097J7H 070SK9NS29ÑS0S2CP19J3HS2192170FÑ9J92SH922S8N7H926S 8N729198H727JÑN9K98H72BS292MP7H72HH7J9JSH72Q9BF9JH 9QF097JÑ7N9D93MPF7J6SJ79H2FH7JBFSPJ90719J2SK90SN07 F16N7BF29N7BSN09BFSJ3D93Ñ918F7JMPF7JD9B7171SNF9BSJ H9B9N9982SNÑ937JH9B9N96FJÑ90S7H472ÑS07H9872ÑF9NPFJ 07H991SNS292P6HFB9JÑ7872ÑF9B9J2909H919JS2P57Ñ9J0SH 9CN7JÑ737H1FN9NHH7JS07919N4PN9BS1SPJ19N7JB9H190S Criptograma Siguiendo al mencionado autor árabe, lo primero es averiguar en qué idioma se ha escrito el mensaje en claro. Normalmente, esto lo revela el contexto. Sin duda, el conocer quién ha escrito el texto o a quién va dirigido nos daría una pista fundamental. Pero en el ejemplo que hemos propuesto no vamos a revelar de antemano el idioma en que se ha escrito el texto en claro; sólo diremos que es una de las lenguas occidentales más habladas y dejaremos que el análisis de frecuencias que sigue a continuación descubra el idioma que es. Comencemos entonces el mencionado análisis del criptograma. Contemos cuántas veces se repite cada signo; esto es, su frecuencia. La Tabla 1.2 lo recoge. Signo Frecuencia Signo Frecuencia 0 19 D 3 1 18 F 21 2 37 H 30 3 6 J 37 4 3 K 3 5 1 M 7 6 9 N 26 7 60 Ñ 15 8 8 P 14 9 70 Q 2 B 19 S 37 C 3 Tabla 1.2. Frecuencias del criptograma. 14
  • 23. 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
  • 24. 1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN Inglés Español Francés Alemán E 13.105 E 13.676 E 17.564 E 16.693 T 10.468 A 12.529 A 8.147 N 9.905 A 8.151 O 8.684 S 8.013 I 7.812 O 7.995 S 7.980 I 7.559 S 6.765 N 7.098 R 6.873 T 7.353 T 6.742 R 6.832 N 6.712 N 7.322 R 6.539 I 6.345 I 6.249 R 6.291 A 6.506 S 6.101 D 5.856 U 5.991 D 5.414 H 5.259 L 4.971 L 5.783 H 4.064 D 3.788 C 4.679 O 5.289 U 3.703 L 3.389 T 4.629 D 4.125 G 3.647 F 2.924 U 3.934 C 3.063 M 3.005 C 2.758 M 3.150 M 2.990 C 2.837 M 2.536 P 2.505 P 2.980 L 2.825 U 2.459 B 1.420 V 1.557 B 2.566 G 1.994 G 1.006 Q 1.361 O 2.285 Y 1.982 Y 0.895 G 1.051 F 2.044 P 1.982 V 0.895 F 0.959 K 1.879 W 1.539 Q 0.875 B 0.876 W 1.396 B 1.440 H 0.704 H 0.721 V 1.096 V 0.919 F 0.694 J 0.598 Z 1.002 K 0.420 Z 0.523 X 0.350 P 0.944 X 0.166 J 0.443 Y 0.116 J 0.191 J 0.132 X 0.221 Z 0.072 Q 0.055 Q 0.121 W 0.023 K 0.041 Y 0.032 Z 0.077 K 0.004 W 0.020 X 0.022 Tabla 1.3. Frecuencias de las letras. Notemos que en la columna correspondiente al español no figura la ‘ñ’. No suelen incluir su frecuencia los textos extranjeros por no estar en sus alfabetos. No obstante, la ‘ñ’ aparece pocas veces; nosotros hemos calculado una frecuencia de 0.234 para ella. Los datos anteriores son sólo indicadores de cuales pueden ser las frecuencias de las letras. Si el texto consta de muchas letras, es muy posible que sus frecuencias se asemejen a las presentadas aquí; pero si el texto es corto, puede haber distorsiones importantes. Aunque ésta tampoco es una regla que sea siempre válida; ya que, como recoge S. Singh 16
  • 25. 1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN en su libro “Los Códigos Secretos”, el francés Georges Perec fue capaz de escribir en 1967 la novela “La Disparition”, de 200 páginas, sin emplear una sola vez la letra ‘e’, que es con diferencia la más frecuente en francés. Y más aún, Gilbert Adair la tradujo al inglés con el título “A void”, también sin utilizar la ‘e’. Pero volvamos con nuestro objetivo de descifrar el criptograma. ¿Será el cifrado por sustitución de un texto escrito en alguno de los cuatro idiomas que hemos dado estadísticas? Supongamos que lo sea y tratemos de descifrarlo. La primera conclusión que establecemos es obvia: el texto en clave no contiene todas las letras de su alfabeto. En el criptograma sólo hay 23 signos distintos, pero son 26 las letras del alfabeto (27 en el alfabeto español, por la ñ). No es de extrañar, en los cuatro idiomas: inglés, español, francés y alemán, hay letras muy poco frecuentes. Recíprocamente, ¿alguno de los signos del texto cifrado sustituirá a algún otro carácter del texto en claro que no sea una letra, como por ejemplo números, signos de puntuación o el espacio en blanco? Los números son muy poco frecuentes salvo en textos especializados. Los signos de puntuación como la coma, el punto o el punto y coma presentan una frecuencia intermedia, en torno al 2%; pero elevan el número de caracteres del alfabeto a 29 (30 en el caso del español). El número de 23 signos del criptograma hace sospechar que fueron eliminados del texto en claro antes de codificarlo. Atención especial merece el espacio en blanco que usamos para separar las palabras. Es con diferencia el signo más frecuente. ¿Por qué? Porque como las palabras tienen una media de cuatro o cinco letras, cada cuatro o cinco letras hay un espacio en blanco. Por tanto, el espacio en blanco tiene una frecuencia próxima al 20% en los textos en claro. En el criptograma que nos ocupa no hay un signo con tal frecuencia. Pero esto no son buenas noticias ya que, como observó Al-Qalqashandi, el espacio en blanco facilita la labor del criptoanalista. Una vez identificado el signo que lo sustituye, pueden separarse las palabras. Por esta razón, se suelen suprimir los espacios en blanco antes de cifrar. Definitivamente: si el criptograma es el cifrado por sustitución de otro texto escrito en inglés, español, francés o alemán, en él se han suprimido espacios en blanco y signos en puntuación. Descubramos el idioma. Para ello, compararemos las frecuencias del texto cifrado con las de los cuatro idiomas. Será conveniente que reescribamos la Tabla 1.2 dando las frecuencias en tanto por ciento y ordenando los signos según su frecuencia. Lo hemos hecho en la Tabla 1.4. 17
  • 26. 1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN Signo Frecuencia Signo Frecuencia 9 15.625 P 3.125 7 13.392 6 2.008 2 8.258 8 1.785 J 8.258 M 1.562 S 8.258 3 1.339 H 6.696 4 0.669 N 5.803 C 0.669 F 4.687 D 0.669 0 4.241 K 0.669 B 4.241 Q 0.446 1 4.017 5 0.223 Ñ 3.348 Tabla 1.4. Frecuencias en % del criptograma. Hagamos la comparación. Ahora bien, ¿cómo comparar listas de números? En matemáticas hay varias maneras de medir “la distancia” entre dos listas de números. La más utilizada es, sin duda, la suma de los cuadrados de las diferencias de sus números. Esto es, se restan los primeros números de cada lista y el resultado se eleva al cuadrado. Después se hace lo mismo con los segundos números de cada lista, luego con los terceros y así sucesivamente. Finalmente, se suman todas las cantidades calculadas y esta suma es la distancia. Se entenderá mejor con el siguiente ejemplo, en el que se calcula la distancia entre la lista de cuatro números: 1, 3, 5, 7 y esta otra: 2, 1, 5, 6. Su distancia es: (1 − 2 )2 + (3 − 1)2 + (5 − 5)2 + (7 − 6)2 = 6. Calculemos entonces las distancias entre las frecuencias del texto cifrado, mostradas en la tabla anterior, y las frecuencias de las letras de cada uno de los idiomas que figuran en la Tabla 1.3. Antes de ello, como el número de caracteres que aparecen en el criptograma es menor que el número de letras del alfabeto latino, añadimos a la Tabla 1.4 tres nuevos signos ficticios con frecuencias nulas. Los cálculos resultantes son los siguientes: Inglés Español Francés Alemán Distancia: 25.108 10.815 39.837 24.545 Tabla 1.5. Distancias del criptograma. 18
  • 27. 1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN La distancia mínima corresponde al español, lo que sugiere pensar que el criptograma es el cifrado de un texto en español. Pero ello no es seguro, es sólo lo más probable; aunque es una posibilidad soportada por una argumentación matemática. Por otro lado, era de esperar. Después de todo, el libro que el lector está leyendo está escrito en español y por españoles. Luego, lo normal es que los textos en claro que sirven de ejemplo estén escritos también en español. En efecto, ya revelamos que es así. Una vez que sabemos que el texto en claro está escrito en español, el siguiente paso es, siguiendo las instrucciones de los antiguos textos árabes, asociar las letras más frecuentes en español con los signos que más se repiten en la cifra. Las dos letras más frecuentes en español son, con diferencia del resto, la ‘e’ y la ‘a’. Los dos signos que más aparecen en el criptograma son ‘9’ y ‘7’. Casi seguro que ‘9’ y ‘7’ sustituyen en el texto original a la ‘e’ y la ‘a’, y lo más probable es que sea en este orden. La ‘o’ es la tercera letra más frecuente en nuestro idioma, pero seguida de cerca de la ‘s’. En el texto cifrado, el tercer lugar en frecuencia lo ocupan tres signos, con igual probabilidad, que son: ‘2’, ‘J’ y ‘S’. Lo más probable es que la ‘o’ y la ‘s’ se transformen en dos de los tres citados signos. El restante tiene que ser el sustituto de ‘n’ o ‘r’, que son las dos letras que siguen en frecuencia a la ‘s’. Podemos resumir este razonamiento en el siguiente esquema: Alfabeto en claro: e a o s n r ↓ ↓ ↓ Alfabeto cifrado: 9 7 2 j s Bien, ¿por cuál de los caminos que hemos abierto nos decidimos? Digamos que son 24 en total y que la distribución de las frecuencias de las letras no puede ayudarnos más. De nuevo, el texto árabe nos muestra como seguir: ‘lām’ sigue a ‘alif’. Esta es la clave, conocer con que otras letras se suelen agrupar en un idioma las letras más frecuentes. Por esta razón, las estadísticas que se hacen a los textos de un idioma no se limitan a contar por separado cada una de sus letras. Cuentan también los bloques de dos letras, llamados bigramas o digrafos; y los de tres, trigramas o trigrafos. En lo referente al español, los 20 bigramas y trigramas más frecuentes son, por este orden, los siguientes: Bigramas: ‘EN’, ‘ES’, ‘EL’, ‘DE’, ‘LA’, ‘AL’, ‘OS’, ‘AR’, ‘RE’, ‘ER’, ‘NT’, ‘ON’, ‘AD’, ‘UE’, ‘RA’, ‘CI’, ‘AS’, ‘TE’, ‘SE’, ‘CO’. Trigramas: ‘ENT’, ‘QUE’, ‘NTE’, ‘DEL’, ‘ELA’, ‘ION’, ‘DAD’, ‘CIO’, ‘CON’, ‘EST’, ‘ADE’, ‘ALI’, ‘IDA’, ‘NCI’, ‘EAL’, ‘ODE’, ‘ACI’, ‘CIA’, ‘ESE’, ‘IEN’. Debemos contar ahora bigramas y trigramas en el texto cifrado. Con un ordenador este proceso es inmediato, pero sin él es penoso. En este segundo caso, podemos limitarnos a contar bigramas y trigramas que contengan sólo los signos ‘7’ o ‘9’, que son los candidatos a las vocales ‘a’ y ‘e’. Afortunadamente, nosotros disponemos de ordenador; nos ha mostrado cuáles son los más bigramas y trigramas que más se repiten en el criptograma. La Tabla 1.6 lo indica. 19
  • 28. 1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN Bigramas Frecuencia Trigramas Frecuencia 7J 17 JÑ7 5 72 12 7JÑ 5 H9 11 MP7 5 9J 11 7H9 5 7H 10 H72 4 H7 9 S29 4 92 9 F7J 4 Tabla 1.6. Bigramas y trigramas más frecuentes en el criptograma. Con estos datos, lo primero que deducimos es que la ‘e’ se transforma en ‘7’ y la ‘a’ en ‘9’. No puede ser de otro modo. En español los tres bigramas más frecuentes empiezan por la letra ‘e’, que está presente también en los cinco trigramas que más se repiten. Luego, debe ser el signo ‘7’ el transformado de la ‘e’; y, en consecuencia, ‘9’ es el que sustituye a la ‘a’. Notemos que esto significa que en el texto que tratamos de descifrar la letra más frecuente es la ‘a’ y no la ‘e’. Pero puede ocurrir, no hay tanta diferencia de frecuencias entre ellas. Puesto que el bigrama ‘en’ es el más frecuente en español, su transformado debe estar en la tabla anterior. Lo más probable es que sea ‘7J’ o ‘72’; lo que implica que la letra ‘n’ se cambia bien por ‘J’, bien por ‘2’. La ‘n’ está presente en el trigrama ‘ent’, que es el más común en nuestro idioma; luego, su transformado debe estar también en la tabla. Únicamente puede ser ‘7JÑ’. En consecuencia, la ‘n’ se reemplaza por ‘J’ y la ‘t’ por ‘Ñ’. Descubramos ahora el transformado de la letra ‘s’. Teníamos tres símbolos candidatos: ‘2’, ‘J’ y ‘S’. Descartado ‘J’, quedan ‘2’ y ‘S’. Como el bigrama ‘es’ es el segundo más frecuente en español, es muy probable que también sea de los que más aparezcan en el texto en claro. Entonces su transformado debe estar en la Tabla 1.6. En ella esta ‘72’, pero no ‘7S’. Luego ‘2’ es el signo que sustituye a la letra ‘s’. Resumiendo nuestras conclusiones, tenemos: Alfabeto en claro: e a s n t ↓ ↓ ↓ ↓ ↓ Alfabeto cifrado: 7 9 2 J Ñ Pero todavía podemos deducir más. Asignados los símbolos ‘2’ y ‘J’, a la letra ‘o’, la tercera más frecuente, no le queda otro signo que ‘S’. Por otro lado, en la columna de bigramas de la Tabla 1.6 están ‘H9’ y ‘7H’. Seguramente que ello es porque se corresponden con los artículos ‘la’ y ‘el’, respectivamente. En tal caso, la letra ‘l’ del texto en claro se cambiaría por ‘H’ en el cifrado. Que el trigrama ‘7H9’ figure en la tabla eleva ya esta suposición a conclusión. ¿Y quién puede ser ‘MP7’ sino el pronombre 20
  • 29. 1. LOS PRIMEROS PASOS. CIFRADO POR SUSTITUCIÓN relativo ‘que’, que es el es segundo trigrama en frecuencia? Si ello es así, entonces las letras ‘q’ y ‘u’ se reemplazan por ‘M’ y ‘P’, respectivamente. Bien, ya hay suficientes deducciones: Alfabeto en claro: e a o s n l t u q ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ Alfabeto cifrado: 7 9 S 2 J H Ñ P M Sin embargo, no podemos estar seguros de la validez total de las conclusiones. El argumento realizado es del todo correcto, pero no puede afirmarse lo mismo de las premisas. Éstas eran sólo las más probables. Hemos basado todo en el supuesto que las letras más frecuentes de nuestro idioma se transforman en los signos más comunes del criptograma. Es lo más probable, pero no es seguro. No obstante, enseguida lo vamos a saber. Las apariciones en el texto cifrado de los signos descubiertos suman 307. Esto significa que hemos descifrado casi las tres cuartas partes del criptograma. Si todo es correcto, al restituir los signos por sus verdaderas letras el texto en claro caerá por si solo. Si no, se mostrarán incoherencias y habremos de corregir algunas de las conclusiones anteriores. Para comprobarlo, escribamos debajo de cada línea del texto cifrado otra donde ya hayan sido sustituidos los signos que creemos conocer; y debajo de los que todavía no conocemos, coloquemos un *: HS2BHF7JÑ7207HS2B9C722SJ47JÑ72MP7BN77JMP7H92BS2926 los*l*entes*elos*a*esson*entesque**eenquelas*osas* 929J6SNMP72FMP7JS17N7B7H967J96SJ7NN7170FS9J9097J7H asan*o*ques*queno*e*e*ela*ena*one**e*e**oana*aenel 070SK9NS29ÑS0S2CP19J3HS2192170FÑ9J92SH922S8N7H926S *e*o*a*osato*os*u*an*los*as*e**tanasolasso**elas*o 8N729198H727JÑN9K98H72BS292MP7H72HH7J9JSH72Q9BF9JH **esa*a*lesent*a*a*les*osasquelesllenanoles*a**anl 9QF097JÑ7N9D93MPF7J6SJ79H2FH7JBFSPJ90719J2SK90SN07 a***aente*a*a*qu*en*oneals*len**ouna*e*anso*a*o**e F16N7BF29N7BSN09BFSJ3D93Ñ918F7JMPF7JD9B7171SNF9BSJ ****e**sa*e*o**a**on**a*ta***enqu*en*a*e*e*o**a*on H9B9N9982SNÑ937JH9B9N96FJÑ90S7H472ÑS07H9872ÑF9NPFJ la*a*aa*so*ta*enla*a*a**nta*oel*esto*ela*est*a*u*n 07H991SNS292P6HFB9JÑ7872ÑF9B9J2909H919JS2P57Ñ9J0SH *elaa*o*osasu*l**ante*est*a*ansa*ala*anosu*etan*ol 21
  • 30. 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
  • 31. 2 EL NOMENCLÁTOR Al comenzar el Renacimiento, el norte y centro de Italia estaban divididos en pequeños estados articulados en torno a ciudades como Milán, Florencia, Venecia... que mantenían continuas luchas entre ellos, tratando de expandirse unos a costa de otros. Los desacuerdos, complots e intrigas caracterizaban la escena política en ese momento. A ello contribuían los intereses en la zona de la corona francesa, del estado pontificio y del reino de Nápoles, que a partir de 1442 pasó a depender de la corona de Aragón. Aunque débiles, las ciudades-estado italianas disponían de los instrumentos que son propios de un estado moderno; entre ellos, la diplomacia. A pesar de sus disputas, los pequeños estados italianos mantenían relaciones entre ellos a través de embajadas permanentes. Como es lógico, los embajadores participaban en las conspiraciones. Fueron llamados los “espías honorables”. Por supuesto, las comunicaciones de un embajador con su ciudad de origen eran secretas. También resulta obvio decir que se hacía todo lo posible por interceptar y criptoanalizar estas comunicaciones. Así, en este contexto político de la Italia renacentista, no es extraño que la Criptografía fuese una herramienta diplomática fundamental y que experimentara un avance espectacular. Pero, ¿cómo se cifraban los mensajes en esa época? La Italia de entonces ya conocía los métodos antiguos de cifrado, gracias al estudio de los textos clásicos. De estos métodos, el criptosistema por sustitución era, sin duda alguna, el más idóneo para utilizar con fines políticos; por su sencillez y viabilidad práctica. Sin embargo, como vimos en el tema anterior, el cifrado por sustitución no presenta ninguna seguridad. Cae incluso sin conocer texto en claro alguno, mediante el análisis de frecuencias. Y la Italia renacentista también conocía este método de criptoanálisis, seguramente a través del contacto con los árabes en las rutas hacia Oriente y en las cruzadas. No obstante, no se tardó en descubrir modificaciones del cifrado por sustitución que hacen inservible el citado análisis de frecuencias. Recordemos que el análisis de frecuencias arranca del hecho que, en el cifrado por sustitución, las letras más frecuentes del texto en claro se corresponden con los signos más comunes del texto cifrado. Una forma de romper esta correspondencia es reemplazar 23
  • 32. 2. EL NOMENCLÁTOR las letras más frecuentes del texto pleno con varios signos posibles que, naturalmente, habrá que añadir al alfabeto de cifrado. Esta mejora del cifrado por sustitución recibe el nombre de sustitución homofónica. La primera vez que se tiene constancia del uso de una sustitución homofónica fue en 1401, en correspondencia que mantuvieron el duque de Mantua y Simeone de Crema. Puede verse la sustitución empleada en la siguiente Figura 2.1 Figura 2.1 Sustitución del duque de Mantua. La primera línea de esta figura corresponde al alfabeto en claro. Este alfabeto consta de las 23 letras que se usan en latín, que era la lengua que generalmente se empleaba entonces en la comunicación escrita. La segunda línea es el alfabeto de cifrado. Nos volvemos a encontrar con las 23 letras del alfabeto latino, ahora ordenadas en modo inverso. Pero el alfabeto de cifrado se ha ampliado con 12 signos más, que se asocian con las vocales ‘a’, ‘e’, ‘o’ y ‘u’ del alfabeto en claro. De este modo, cada una de estas vocales dispone de cuatro caracteres del alfabeto de cifrado para sustituirla, según indica la Figura 2.1. Por ejemplo, el texto en claro ‘duquedemantua’ puede cifrarse del siguiente modo: Texto en claro: d u q u e d e ma n t u a Texto cifrado: u d h ff t u 4 l z m e I 2 Como vemos, cada una de las tres ‘u’ del texto en claro ha sido sustituida con diferentes signos en el texto cifrado. Lo mismo se ha hecho con las dos ‘a’ y las dos ‘e’. Aunque en la sustitución del duque de Mantua únicamente las vocales ‘a’, ‘e’, ‘o’ y ‘u’ pueden cambiarse por varios caracteres del alfabeto de cifrado, ello es suficiente para evitar el criptoanálisis mediante el análisis de frecuencias. Cada una de las frecuencias de las citadas vocales en el texto en claro se reparte entre los correspondientes cuatro signos que la sustituyen. Y como estas vocales deben ser cuatro de las letras más comunes del texto pleno, ya no hay correlación entre la distribución de frecuencias del criptograma y el texto en claro del que procede. Ello imposibilita iniciar la técnica de criptoanálisis que hemos explicado en el tema anterior. Pero sólo en un principio. En una sustitución homofónica es posible identificar los signos homófonos –aquellos que reemplazan la misma letra del texto en claro- a partir de texto cifrado únicamente. Por ejemplo, imaginemos que disponemos de varias cartas cifradas en la correspondencia que mantuvieron el duque de Mantua y Simeone de 24
  • 33. 2. EL NOMENCLÁTOR Crema. En tales cartas es muy posible que el mismo nombre de alguna persona o lugar apareciera varias veces. Para concretar, muy probablemente el texto ‘duquedemantua’ figuraría en varias ocasiones; aunque cifrado de diferentes modos, en virtud del uso de homófonos. Pero como en la sustitución empleada las consonantes sólo disponen de un signo para reemplazarlas, todos los fragmentos de texto cifrado que procedan del texto pleno ‘duquedemantua’ tendrán en común los signos que cambian las letras ‘d’, ‘q’, ‘m’, ‘n’ y ‘t’. Y que son: ‘u’, ‘h’, ‘l’, ‘m’ y ‘e’, respectivamente. Por tanto, coincidirán con el siguiente fragmento “patrón”: u * h * * u * l * me (Se ha colocado un asterisco en los lugares que ocupan los signos homófonos que sustituyen a las vocales). En consecuencia, es muy posible que las cartas cifradas incluyan fragmentos que respondan a ese patrón. Supongamos que efectivamente sea así y que hemos identificado varios de ellos. Por ejemplo, los tres siguientes: u d h ff t u 4 l z m e u I h d 4 u F l 3me u ff h ~ 4 u t l 2 m e Entonces podemos deducir que los signos que figuran en los lugares de los asteriscos en el fragmento patrón son homófonos. Así, son homófonos los signos que en cada uno de los fragmentos ocupan la segunda posición, la cuarta, quinta, séptima y novena, respectivamente. En consecuencia, son homófonos ‘d’, ‘I’, ‘ff’ y ‘~’. Igualmente lo son ‘t’, ‘4’, ‘4’ y ‘F’. Y también ‘z’, ‘3’ y ‘2’. Esta es la manera de identificar signos homófonos en una sustitución homofónica: buscar fragmentos de texto cifrado en los que haya coincidencias de varios caracteres. Los símbolos intercalados no coincidentes son homófonos. Según se van identificando homófonos, conviene ir cambiando en los textos cifrados todos los signos de un grupo homófono por un único símbolo elegido dentro del grupo. Se habrán identificado todos los caracteres homófonos cuando el número de signos resultante en los textos cifrados no supere al número de letras del alfabeto en claro. Entonces, se estará ante un cifrado por sustitución simple que ya puede ser criptoanalizado mediante el análisis de frecuencias. Naturalmente, el proceso anterior sólo es factible si en los criptogramas hay fragmentos que proceden de reiteraciones de palabras de los textos en claro. Ello requiere disponer de suficiente cantidad de texto cifrado; la cual dependerá del número de letras del alfabeto pleno que utilizan homófonos en su sustitución. Obviamente, cuanto mayor sea este número, mayor será también la cantidad de texto cifrado necesaria. 25
  • 34. 2. EL NOMENCLÁTOR Vemos así que una sustitución homofónica puede ser atacada por las inevitables repeticiones de algunas palabras, como sucede con los nombres propios. Pero a grandes males, grandes remedios: cámbiese cada una de las palabras cuya reiteración es ineludible por un nuevo signo. Y así se hizo. Esta idea aparece por primera vez a finales del siglo XIV. Por aquel entonces, Gabriel de Lavinde, secretario de Clemente VII, uno de los dos papas en el gran cisma de la Iglesia Católica, preparó una serie de claves para la correspondencia de este papa con diversas personalidades de la época. Las claves eran sustituciones simples (no homofónicas) a las que se añadía una lista conteniendo una docena de palabras y sus correspondientes signos para reemplazarlas. Se incluían también en el alfabeto de cifrado otros caracteres llamados nulos, que no sustituyen a nada y que se colocan en cualquier lugar del texto cifrado con el propósito de dificultar el criptoanálisis. Las claves de Lavinde constituyen los primeros ejemplos de lo que en Criptografía se llama nomenclátor. Un nomenclátor es entonces un catálogo de sustituciones donde, además de los signos que cambian a las letras, figuran otros que o bien son nulos o reemplazan a bigramas, trigramas, palabras o incluso grupos de palabras. La Figura 2.2 muestra un nomenclátor español compilado en Toledo en 1563. El nomenclátor fue el sistema de cifrado predominante hasta mediados del siglo XIX, hasta que el empleo del telégrafo en las comunicaciones obligó al diseño de otros criptosistemas más adecuados. Como cualquier sustitución, un nomenclátor está comprometido si alguien es capaz de hacerse con texto en claro y su correspondiente cifrado. La seguridad ante un ataque de texto cifrado depende del número de sustituciones que contenga, evidentemente. Un nomenclátor que presente sólo unas pocas sustituciones caerá ante un criptoanalista que disponga de suficiente texto cifrado y paciencia. Pero si contiene un número elevado de signos homófonos para las letras, bigramas y trigramas más frecuentes; si en la lista de palabras del nomenclátor están todas aquellas de uso común en el contexto del mensaje, incluyendo los nombres propios; y si se dispone de un buen número de signos nulos que se dispersan adecuadamente por los textos cifrados, el criptoanálisis ante texto cifrado únicamente será dificilísimo, prácticamente imposible. Claro que ello eleva a varios miles el número de sustituciones que debe tener el nomenclátor. Éste será entonces un libro con unas cuantas páginas que, naturalmente, habrá que confeccionar y mantener en secreto. Esto también es dificilísimo, de nuevo prácticamente imposible. Y siempre estará comprometido ante la posibilidad de que algunos textos plenos caigan en manos enemigas. Los primeros nomenclátores de la Italia del siglo XV siguieron el modelo elaborado por Lavinde, con sustituciones sin homófonos y listas con muy pocas palabras. Seguro que fueron presa fácil para los criptoanalistas italianos de la época. Paulatinamente fueron incorporando caracteres homófonos, primero para las vocales y después para las consonantes. Pero ello nos adentra ya en el siglo XVI. Un típico nomenclátor italiano de entonces es el que se muestra en la Figura 2.3. Ya presenta cierta dificultad su criptoanálisis. 26
  • 35. 2. EL NOMENCLÁTOR Figura 2.2. Un nomenclátor español de 1563 Figura 2.3 Nomenclátor compilado en Florencia en 1554. 27
  • 36. 2. EL NOMENCLÁTOR Los estados italianos más importantes disponían de departamentos dedicados al criptoanálisis. El más organizado fue el de Venecia, con policía secreta incluida. Venecia contó también con el mejor criptoanalista de la época, Giovanni Soro. Soro fue famoso por resolver numerosos cifrados a comienzos del siglo XVI; como los despachos de Maximiliano I, emperador del Sacro Imperio Romano; y los de su nieto, nuestro emperador Carlos I. Fuera de Venecia también hubo expertos en criptoanálisis. En Milán, el secretario de los duques de Sforza, Cicco Simonetta, fue un gran criptoanalista; suyo es el primer tratado dedicado exclusivamente al criptoanálisis, escrito en 1474. El florentino Pirro Musefili resolvió nomenclátores usados por Enrique II de Francia a mediados del siglo XVI. Y apuntemos también que el estado Vaticano contó con excelentes criptoanalistas que descifraron algunos de los nomenclátores de esa época, entre ellos los del monarca español Felipe II. Es precisamente durante el reinado de Felipe II cuando más se ha utilizado la Criptografía en nuestro país. En España, el empleo de la Criptografía en política se observa por vez primera y de forma esporádica en la corona de Aragón, a mitad del siglo XV. Después se va prodigando bajo el reinado de los Reyes Católicos y es ya imprescindible cuando España se convierte en un imperio, con Carlos I. Los primeros criptosistemas que se emplearon eran sustituciones que cambiaban el texto pleno por números romanos. Los cifrados resultantes eran confusos y a menudo no podían ser interpretados por el legítimo receptor. Pronto se abandonaron y se comenzó a usar el nomenclátor, que fue el único sistema utilizado a partir del siglo XVI. Los nomenclátores de Carlos I fueron muy simples y fácilmente rotos por los italianos y por Philibert Babou, criptoanalista del rey francés Francisco I. Cuando en 1566 Felipe II subió al trono, sabedor de la ineficacia de las cifras españolas, mandó cambiarlas. Felipe II usó diversos nomenclátores. Por un lado estaba la llamada cifra general, que era la usada regularmente para comunicar con las embajadas en los diferentes países. Se cambiaba cada cuatro años. Por otra parte, estaban las distintas cifras particulares que se empleaban con cada uno de los ministros y virreyes de las colonias americanas. En la Figura 2.4 se muestra la cifra particular empleada en 1568 en la comunicación con el duque de Alba. 28
  • 37. 2. EL NOMENCLÁTOR Figura 2.4. Nomenclátor de 1568 usado por Felipe II. Los nomenclátores usados por Felipe II contienen ya un número importante de sustituciones, con objeto de elevar la seguridad mostrada por otros de épocas anteriores. Puede observarse que el mostrado en la Figura 2.4 incluye homófonos para las vocales, signos para los bigramas y trigramas más frecuentes, una amplia lista de palabras de uso 29
  • 38. 2. EL NOMENCLÁTOR común y una regla que indica como insertar nulos en los textos cifrados. Sin embargo, los nomenclátores de Felipe II también presentaban descuidos en su diseño que facilitaban su criptoanálisis. Por ejemplo, en el nomenclátor de la Figura 2.4, el modo de cifrar los bigramas compromete claramente su seguridad: nótese que cada bigrama compuesto por una consonante y una vocal se cifra con el mismo signo que se utiliza para reemplazar a dicha consonante y con una marca alrededor de dicho signo en función de la vocal. Una debilidad. Se deberían haber utilizado signos totalmente distintos para cada uno de estos bigramas. Una observación similar puede hacerse con los trigramas. También hubiese sido conveniente emplear homófonos para las consonantes más frecuentes. No obstante, a pesar de sus deficiencias, los nomenclátores de Felipe II eran los más seguros de su época. No era fácil su criptoanálisis con texto cifrado únicamente; aunque hubo quienes lo hicieron. Uno de ellos fue el francés François Viète, más conocido como matemático que como criptoanalista. Viète resolvió varios nomenclátores usados por Felipe II. Entre ellos, el que empleó el rey en 1589 para comunicarse con Alejandro Farnesio, duque de Parma, que comandaba las tropas españolas de la Santa Liga contra el rey francés Enrique IV. Tardó seis meses en hacerlo. Cuenta la Historia que Felipe II, enterado de la ruptura de sus cifras por Viète y creyendo que éstas eran indescifrables, supuso que el matemático galo debía emplear la brujería en el criptoanálisis y solicitó al Papa su excomunión. Naturalmente, el Pontífice no atendió esta petición. Pero no por considerar absurda la existencia de la magia negra; sino porque sabía que las cifras españolas podían romperse sin recurrir a la brujería, ya que así lo estaba haciendo su criptoanalista Giovanni Battista Argenti. La historia de la Criptografía nos lleva en el siglo XVII a la Francia de Luis XIII gobernada por el cardenal Richelieu. La “astuta” Eminencia de Francia tomó a su servicio a un joven experto en Criptografía, Antoine Rossignol, con el doble encargo de resolver los criptogramas interceptados a los enemigos de Francia y diseñar las propias cifras francesas. No era esto lo habitual en la Criptografía de estado. Por regla general, las personas que confeccionaban los nomenclátores no practicaban el criptoanálisis; y ello explica las deficiencias en seguridad que presentaban algunas cifras. Si quien elabora un criptosistema nunca ha roto ninguno, desconocerá las bases del criptoanálisis y no pondrá especial cuidado en tapar aquellas grietas que pueda tener su criptosistema, las cuales acaban siendo agujeros con el trabajo del criptoanalista. Incluso creerá que sus cifras son irrompibles, como pensaba Felipe II. Como criptoanalista, Rossignol resolvió numerosos criptogramas; entre ellos, algunos interceptados a los hugonotes y que dieron clara ventaja a las fuerzas católicas de Richeleu en las guerras de religión del siglo XVII. En esta época, los nomenclátores que se empleaban habían aumentado a varios cientos el número de sustituciones, con el objeto de incrementar la seguridad. Este elevado número de sustituciones hizo necesario el uso de números en el alfabeto de cifrado, convirtiendo de este modo los textos cifrados en secuencias numéricas. Pero para no complicar los procesos de cifrado y descifrado, los nomenclátores se confeccionaban de tal modo que había una correlación entre el orden alfabético de los bigramas, trigramas y palabras y el orden natural de los números que las reemplazaban. Por ejemplo, si en un nomenclátor la palabra ‘España’ se cambiaba por 325, muy posiblemente el número 326 30
  • 39. 2. EL NOMENCLÁTOR sustituyese a ‘español’, que sigue alfabéticamente a ‘España’. Tal correlación facilitaba el criptoanálisis. Los nomenclátores franceses elaborados por Rossignol no presentaban esta inseguridad. No había correlación alguna entre el orden alfabético de los bigramas, trigramas y palabras y el orden numérico de las cifras que los reemplazaban. Éstas se elegían de modo aleatorio. Para facilitar el cifrado y descifrado, los nomenclátores comprendían dos partes; eran como un diccionario bilingüe. En una parte, la que se utilizaba en el cifrado, se ordenaban alfabéticamente las letras, bigramas, trigramas y palabras, y a continuación se escribía el número que las cambiaba. En la otra parte, empleada en el descifrado de los mensajes, los números se disponían en su orden habitual y al lado figuraba la porción de texto en claro al que sustituían. Este modelo francés de nomenclátor de dos partes se impuso en todo el mundo al final del siglo XVIII. A pesar de su robustez, las cifras francesas de aquella época fueron rotas por el inglés John Wallis. Antes que criptoanalista, Wallis fue un gran matemático cuyo trabajo sirvió de base a Newton en sus “Principia Mathematicae”. En los escritos de Wallis puede encontrarse el germen del teorema del binomio, el concepto de infinito y un cálculo del número π por interpolación. Después de su actividad matemática, Wallis se dedicó a la Criptografía. Sus logros más notables en esta disciplina fueron los despachos franceses de Luis XIV. No todos los países contaron con genios del criptoanálisis como Wallis; aunque no por ello renunciaron a la ventaja que supone conocer la correspondencia enemiga. Con este propósito, a comienzos del siglo XVIII tiene lugar en muchos países europeos la creación de departamentos secretos destinados al criptoanálisis de las cartas interceptadas. Fueron llamadas las cámaras negras. La primera en crearse fue la Cabinet Noir francesa; pero la “mejor” fue, sin duda alguna, la Geheime Kabinets-Kanzlei, situada en Viena. Todo el correo oficial de las embajadas extranjeras en Viena sufría un retraso deliberado de unas cuantas horas. El tiempo necesario para que este correo pasase por la cámara negra austriaca antes de seguir su curso normal. Allí las cartas eran abiertas, copiadas y selladas otra vez; sin evidencia alguna de este proceso. Después, las cartas eran remitidas a su destinatario. Las copias de los documentos cifrados se sometían a criptoanálisis. Éste era realizado por un equipo de funcionarios bien pagados que se reclutaban entre jóvenes con conocimientos en matemáticas elementales y en alguna lengua extranjera. Se les entrenaba en el criptoanálisis y, si superaban el examen correspondiente, pasaban a formar parte del personal de la cámara negra y eran enviados temporalmente a un país extranjero a perfeccionar su idioma. Con este funcionariado tan cualificado, los éxitos criptoanalíticos estaban garantizados. Uno de tales triunfos fue la ruptura de las cifras de Napoleón. La violación de la correspondencia diplomática fue practicada con el mayor descaro. Lo prueba la siguiente anécdota que incluye David Kahn en su libro “The Codebreakers”. En cierta ocasión, el embajador inglés en Viena protestó porque el servicio postal le envió una copia de una carta en lugar del original. Ante la protesta, los austriacos respondieron pidiendo disculpas por la torpeza de sus funcionarios y 31
  • 40. 2. EL NOMENCLÁTOR notificando que en lo sucesivo no confundirían la copia con el original. Los austriacos sabían que la Deciphering Branch británica estaba haciendo lo mismo que su Geheime Kabinets-Kanzlei. La cámara negra austríaca continuó con su oculta actividad hasta 1848, fecha en que cerró sus puertas. Ese mismo año también fue clausurada la Cabinet Noir francesa. Cuatro años antes, el gobierno británico había disuelto su Deciphering Branch. ¿Por qué se prescindió de estos departamentos que con tan poco coste tan grandes servicios prestaron? Hay quien dice que la causa principal fue el aire de libertad que levantó la revolución industrial, que trajo consigo una protesta generalizada por la interceptación del correo privado. Aunque también hay que pensar que por aquella época el telégrafo cambió el modo de enviar mensajes. No hay razón alguna para tener departamentos secretos encargados de transgredir las cartas privadas cuando su contenido viaja por “públicos” hilos conductores. Lo que sí es seguro es que el telégrafo acabó con la historia del nomenclátor. Como ya señalamos antes, un nomenclátor se resuelve fácilmente cuando se dispone de texto en claro y de su cifrado. También es posible derribar difíciles nomenclátores con texto cifrado únicamente. Lo demostraron los criptoanalistas que trabajaron en las cámaras negras, y antes Rossignol y Wallis. Aunque ninguno de ellos dejó escrito como lo hacían. Nadie ha dado nunca un método genérico para criptoanalizar un nomenclátor a partir de texto cifrado exclusivamente. Quizás porque no lo empleaban. Posiblemente, una idea de como se llevó a cabo ese criptoanálisis nos la pueden dar aquellos historiadores que, persiguiendo la verdad histórica, decidieron enfrentarse a textos cifrados con nomenclátores perdidos en el pasado. Uno de estos historiadores fue Gustave Adolph Bergenroth. Este prusiano del siglo XIX dedicó los últimos años de su vida a resolver nomenclátores utilizados por la corona española en los siglos XVI y XVII. El mismo Bergenroth reconoció que no descubrió las claves de una forma metódica, sino fijándose en el modo de escribir de las personas encargadas de cifrar. Por ejemplo, resolvió un nomenclátor empleado por el duque de Estrada observando que detrás de dos signos de texto cifrado figuraba siempre un punto. Estudiando la manera de escribir del duque y tras descartar otras suposiciones, Bergenroth llegó a la conclusión que los puntos indicaban abreviaciones como ‘V.A.’ para ‘Vuestra Alteza’, ‘n.f.’ para ‘nuestro fijo’ (hijo), etc. Esta observación abrió un camino que le permitió recuperar las 83 sustituciones del nomenclátor. Uno de los ejemplos más divulgados de criptoanálisis de antiguos textos cifrados corresponde a la conocida como la Gran Cifra de Luis XIV, nombre que se da a un nomenclátor utilizado por el rey Sol francés a finales del siglo XVII. Debió ser compilado por el anteriormente citado Antoine Rossignol o por su hijo Bonaventure, quien le sucedió al frente de las cifras francesas. La popularidad de la Gran Cifra se debe a que la persona que lo resolvió concluyó con una conjetura sobre la identidad del hombre de la máscara de hierro, tema que ha sido tratado en novelas en el pasado y en películas más recientemente. Aunque la identidad conjeturada dista mucho de la que se presenta en tales relatos. Las líneas que siguen describen brevemente como se rompió la Gran Cifra. 32
  • 41. 2. EL NOMENCLÁTOR En 1891, el historiador francés Victor Gendron intentó descifrar cinco despachos de Luis XIV con su mariscal Nicolás de Catinat. Desesperado en su cometido, Gendron recurrió a un experto criptoanalista del ejército francés, el comandante Etienne Bazeries. Por aquel entonces el nomenclátor hacía mucho que había desaparecido de la Criptografía militar, por lo que Bazeries no podía tener experiencia alguna en esta clase de criptoanálisis. Pero no rehusó el desafío. Bazeries observó que los textos cifrados eran secuencias de números. Había 587 diferentes, aunque algunos aparecían más veces que otros. En principio supuso que la Gran Cifra era una sustitución homofónica, pero meses de trabajo le convencieron de que éste no era el caso. Sospechó a continuación que los signos podían representar bigramas, por lo que procedió a un análisis de frecuencias. Encontró que el número más frecuente en la cifra era el 22, que aparecía 187 veces; le seguía el 124, con 185 ocurrencias; a continuación el 42, en 184 ocasiones; el 311, con 145 repeticiones; el 125 figuraba 127 veces... Bazeries trabajó en la asociación de estos números con los bigramas más frecuentes en francés: ‘es’, ‘en’, ‘ou’, ‘de’, ‘nt’... Más meses de esfuerzo le demostraron que esta teoría tampoco era correcta. Pero persistió. Supuso entonces que los números de la cifra debían representar sílabas y que los más frecuentes reemplazaban a las sílabas más comunes en su idioma: ‘le’ ‘la’ ‘les’, ‘que’ ‘de’, ‘des’, ‘du’... La idea tampoco parecía llevar a ninguna parte. Entonces Bazeries centró su atención en una secuencia de números que figuraba varias veces en los textos cifrados: 124 22 125 46 345. Observó también que esta misma secuencia aparecía también con el número 146 en lugar del 125. A veces tal secuencia no acababa en 345; sino en 469, 574, 120, o 584. Tales diferencias debían corresponder a números homófonos y, en consecuencia, las diferentes secuencias numéricas que producían reemplazaban al mismo fragmento de texto en claro. Y éste tenía que ser uno muy frecuente en despachos militares. Con paciencia fue probando con diferentes candidatos hasta que le tocó el turno a ‘les ennemis’ -los enemigos-, y asoció 124 con ‘les’, 22 con ‘en’ 125 con ‘ne’, 46 con ‘mi’ y 345 con ‘s’. Por fin halló una grieta en el sólido muro de la Gran Cifra. Escarbando en esta rendija, Bazeries fue capaz de descifrar más palabras hasta completar poco a poco el difícil puzzle de los Rossignol. Habían transcurrido tres años, pero consiguió acceder a los secretos de los documentos encriptados. En uno de ellos, fechado el 8 de Julio de 1691, se podía leer que el monarca francés estaba disgustado con uno de los generales de Catinat: Vivien Labbé, señor de Bulonde. El rey responsabilizaba a Labbé de la derrota del ejército francés en su campaña del norte de Italia, acusándole de desobediencia y cobardía. El despacho cifrado ordenaba a Catinat arrestar a Labbé y conducirle a la fortaleza de Pignerol, donde su majestad deseaba que el señor de Bulonde permaneciese prisionero con la única libertad de “pasear por la almenas con una 330 309”. ¿330 309? Estos dos números no aparecían en ningún otro lugar de los documentos cifrados. El contexto inducía a pensar que 309 representaba un punto, aunque no ofrecía ninguna pista sobre 330. Evidentemente, significaba una palabra; pero era imposible 33
  • 42. 2. EL NOMENCLÁTOR precisar cuál. Entonces Bazeries, conociendo que el misterioso personaje de la máscara de hierro había estado en Pignerol antes de ser trasladado a la Bastilla, concluyó que 330 sustituía a la palabra ‘máscara’; adjudicando así la identidad del señor de Bulonde a la máscara de hierro. No obstante, la interpretación de Bazeries sobre la identidad del hombre de la máscara de hierro no ha sido aceptada por los historiadores. Argumentan que el hombre de la máscara de hierro murió en 1703 y que el señor de Bulonde vivió cinco años más. Desde punto de vista criptográfico, no hay razón alguna que sostenga la conclusión de Bazeries. Como hemos dicho, 330 debe sustituir a una palabra y, por tanto, tiene que ser una de las que figuran en la lista del nomenclátor. Pero tales palabras suelen ser todas ellas de uso común en el contexto de los mensajes que se van a cifrar. No parece que la palabra máscara sea habitual en despachos militares. De hecho, se ha comprobado que no figura en ninguno de los nomenclátores franceses que se conservan. 34
  • 43. 3 CIFRADOS POLIALFABÉTICOS A finales del siglo XV y durante la siguiente centuria, mientras el nomenclátor era el único método de cifrar que se seguía en la práctica, aparecieron unas publicaciones en las que se mostraron otras formas de hacer Criptografía. Estos nuevos métodos arrancan del cifrado por sustitución, al igual que el nomenclátor. Pero mientras que éste trata de escapar del temido análisis de frecuencias ampliando el número de signos del alfabeto de cifrado e incluyendo homófonos y nulos, los nuevos cifrados lo hacen empleando una sustitución diferente en el cifrado de cada letra. Haciendo esto, una misma letra del alfabeto en claro se transforma en cada ocasión en un signo distinto del alfabeto de cifrado y se inutiliza así el citado análisis de frecuencias. Esta forma de encriptar recibe el nombre de cifrado polialfabético; ya que como cada sustitución trae consigo una reordenación del alfabeto de cifrado, al emplear varias da la impresión que se manejan múltiples alfabetos. Los ejemplos posteriores aclararán este concepto. En esos textos, sus autores sugerían una nueva forma de cifrar que creyeron mucho más segura que la que ofrecía el nomenclátor; y, en efecto, así era. Por lo general, un criptosistema polialfabético que gestione claves de forma eficiente proporciona una seguridad mucho mayor que la de un nomenclátor, aunque éste contenga un gran número signos. Pero a pesar de ello, las diplomacias y ejércitos desconsideraron los nuevos métodos y el nomenclátor continuó gobernando el mundo de las cifras hasta bien entrado el siglo XIX. Probablemente porque los responsables de manejar cifras en esas organizaciones descubrieron el principal inconveniente de los cifrados polialfabéticos: un pequeño error cometido durante el proceso de cifrado puede imposibilitar la decodificación, algo que no sucedía con el nomenclátor. De hecho, los sistemas polialfabéticos no fueron habituales en la práctica hasta que, entrado el siglo XX, la técnica hizo posible eliminar tales errores mecanizando la codificación y decodificación. En este capítulo vamos a describir algunos de los cifrados que figuran en aquellos antiguos libros, creemos que los más célebres. Después mostraremos como criptoanalizar el más conocido de todos ellos: “le chiffre indéchiffrable”; llamado así por su autor, el francés Blaise de Vigenère. 35
  • 44. 3. CIFRADOS POLIALFABÉTICOS El primer cifrado polialfabético lo dio a conocer uno de los más máximos exponentes del Renacimiento italiano: León Battista Alberti (1402-1472). Como arquitecto, Alberti construyó el palacio Rucellai, erigió la primera fontana de Trevi, la iglesia de S. Andrés en Mantua y el templo de Malatesta en Rimini. También fue pintor y escribió sobre filosofía y arquitectura, fábulas, comedias, etc. Empezó a interesarse por la Criptografía gracias a su amistad con Leonardo Dato, secretario encargado de las cifras del Papa. Fruto de este interés fue un manuscrito de 25 páginas titulado “Modus scribendi in ziferas”, escrito en 1466. En él figura el cifrado que describimos a continuación y que el propio Alberti consideró “digno de reyes”. Alberti parte de dos discos unidos por los centros, uno más grande y fijo, el otro más pequeño y móvil; cada uno de ellos dividido en 24 casillas. En las del disco mayor coloca el alfabeto en claro, formado por 20 letras mayúsculas del alfabeto latino y los dígitos 1, 2, 3 y 4. Alberti omite la H, la K y la Y del alfabeto latino usado en aquellos tiempos, porque considera que estas letras pueden sustituirse por homófonas en los textos en claro sin que se altere su significado. En el disco inferior va el alfabeto de cifrado, formado por las 23 letras del alfabeto latino, pero ahora en minúsculas y en orden aleatorio; y se completa la casilla sobrante con la palabra ‘et’. La Figura 3.1 muestra como van dispuestas letras y números en los discos. Figura 3.1. Los dos discos de Alberti. Tanto el emisor como el receptor deben tener discos idénticos y convenir en una letra del disco móvil, la k por ejemplo. Para cifrar, el emisor elige una letra en el disco grande; la escribe en mayúsculas al comienzo del texto cifrado para informar al receptor de esta elección; y gira el disco pequeño hasta situar la k junto a la letra escogida. Después, cifra tres o cuatro palabras del texto en claro según la correspondencia de letras determinada por la posición de los discos; y traslada al criptograma las letras minúsculas obtenidas. Repite de nuevo esta operación: elige otra letra en el disco grande, la escribe en 36
  • 45. 3. CIFRADOS POLIALFABÉTICOS mayúsculas en el texto cifrado, gira el disco móvil hasta hacer casar la k con esa letra, y cifra otras tres o cuatro palabras con la nueva correspondencia. Y así continúa, girando el disco menor y cifrando palabras del texto en claro hasta agotar éste. El cifrado que resulta es polialfabético porque los giros del disco menor traen sucesivas sustituciones, todas diferentes. ¿Para qué sirven los cuatro dígitos del disco grande? Alberti incluye en su escrito una tabla con números de dos, tres y cuatro cifras; conteniendo sólo los dígitos del 1 al 4. En total, 336 números. Al lado de cada uno va una palabra o grupo de palabras de uso común en la correspondencia oficial de la época. La idea de Alberti es reemplazar estas expresiones en los textos en claro por el número asociado y cifrar también éste con sus discos. Por ejemplo, con los discos en la posición mostrada en la Figura 3.1, si el número 421 representa ‘EL PAPA’, este fragmento se cifra ‘retp’. Alberti creía irrompible su cifrado siempre que permaneciera secreto el orden de las letras del disco móvil. Naturalmente, esto no es así. La idea de los discos es muy interesante y será aprovechada más adelante por otros criptólogos; pero no lo es el modo en que Alberti los utiliza. Por ejemplo, se puede aumentar considerablemente la seguridad si en lugar de elegir letras en el disco grande y escribirlas en el texto cifrado, se emplean las letras de una palabra clave convenida entre el emisor y el receptor. Aún así, el cifrado de Alberti es mucho más seguro que los nomenclátores empleados en su época y tiene el mérito de ser el primer cifrado polialfabético de la historia de la Criptografía. El siguiente cifrado que presentamos fue concebido por el monje benedictino alemán Johannes Trithemius. Este prolífico escritor contempló la Criptografía como parte de lo esotérico, tema por el que tenía gran interés y al que dedicó los ocho volúmenes que componen su “Steganografía”. Escrito en 1499, fue un libro famoso que circuló en forma manuscrita por toda Europa y terminó siendo prohibido por la Iglesia Católica en 1609. En él figuran también algunas formas de Criptografía. A esta materia consagró un libro de seis tomos que tituló “Poligrafía” y que escribió en 1508. En el quinto libro aparece la tabla mostrada en la Figura 3.2, que se utiliza para una forma de cifrar que merece la pena ser destacada. Las 24 filas de esta tabla son alfabetos de cifrado que Trithemius utiliza de un modo muy simple. Cifra la primera letra del texto en claro con el primer alfabeto, la segunda letra con el segundo alfabeto y así sucesivamente. Con esta regla, el texto en claro ‘SECRETO’ se transforma en ‘sfeuiwu’. Observemos como la primera e del texto en claro se cambia por una f y la segunda por una i, lo que muestra el carácter polialfabético del cifrado. 37
  • 46. 3. CIFRADOS POLIALFABÉTICOS Figura 3.2. Tabla de Trithemius. Es evidente que el cifrado de Trithemius es tan vulnerable como simple; pero su “tabula recta” va a inspirar a otros diseñadores de cifras durante toda la historia de la Criptografía. Una de estas cifras es la que aparece en un folleto titulado “La cifra del Sig. Giovan Batista Belaso”, escrito en 1553 por el autor con este mismo nombre. Belaso utiliza la tabla de Trithemius conjuntamente con una clave y del modo que explicamos a continuación. Por ejemplo, con la clave ‘BELASO’ la primera letra del texto en claro se cifra con el alfabeto de la tabla cuya letra inicial es la b; esto es, con el de la segunda fila. La segunda del texto en claro se cifra con el alfabeto que comienza por la e, el cuarto. Y así sucesivamente, hasta cifrar todo el texto en claro. El siguiente ejemplo lo muestra: Clave: BELASOBELASOBELASOBEL Texto claro: CIFRADOPOLIALFABETICO Texto cifrado: d n q r s r p t w l b o m k l b y h k g w 38
  • 47. 3. CIFRADOS POLIALFABÉTICOS Para simplificar, en este ejemplo la clave ha constado de una única palabra. Belaso propuso emplear claves formadas por varias palabras fáciles de recordar. También recomendó variar la clave frecuentemente; y ello hace que Belaso sea el primer autor que diseñó un criptosistema en el que las claves cambian periódicamente. Más o menos al mismo tiempo que Belaso, el físico y matemático milanés Girolamo Cardano sugiere emplear la tabla de Trithemius usando como clave el propio texto en claro; cifrando cada una de sus palabras con el principio del mismo, según muestra el siguiente ejemplo: Clave: SIC SICE SICERGOEL Texto claro: SIC ERGO ELEMENTIS Texto cifrado: l r e yais ytgqxthnd Cuando se usa el mismo texto en claro como clave, se denomina autoclave. El empleo de autoclaves es una idea muy interesante, utilizada actualmente en algunos criptosistemas que se implementan en el ordenador. Naturalmente, el autoclave de Cardano es demasiado simple; pero es el primero que recoge la historia de la Criptografía. La siguiente obra que hemos de destacar es “De furtivis literarum notis”, escrita por el napolitano Giovanni Battista Porta en 1563. Un libro extraordinario. Sus cuatro volúmenes recogen toda la Criptografía hecha hasta esa época, incluidas las numerosas aportaciones del autor. Porta ideó cifrados de diversa índole que hacían uso de discos giratorios o tablas; uno de ellos es el que describimos a continuación, de naturaleza polialfabética. En esta cifra de Porta, los textos en claro y los de cifrado se escriben con el alfabeto latino al que se ha suprimido la letra K. A partir de él, se consideran los once alfabetos mostrados en la Tabla 3.1, cada uno identificado por el par de letras que figura a su izquierda. 39
  • 48. 3. CIFRADOS POLIALFABÉTICOS abcdefghilm abcdefghilm AB nopqrstvxyz OP stvxyznopqr abcdefghilm abcdefghilm CD znopqrstvxy QR rstvxyznopq abcdefghilm abcdefghilm EF yznopqrstvx ST qrstvxyznop abcdefghilm abcdefghilm GH xyznopqrstv VX pqrstvxyzno abcdefghilm abcdefghilm IL vxyznopqrst YZ opqrstvxyzn abcdefghilm MN tvxyznopqrs Tabla 3.1. Los once alfabetos de Porta. Porta utiliza esta tabla de manera similar a como Belaso emplea la de Trithemius. Fijada una clave, cada letra del texto en claro se localiza en el alfabeto determinado por la correspondiente letra de la clave y se reemplaza por la que está en la misma columna. El siguiente ejemplo aclara cualquier duda: Clave: PORTAPORTAPORTAPORT Texto claro: DEFVRTIVISLITERARVM Texto cifrado: x y y e e b p d n f q p c v e s m d p El autor del siglo XVI que más fama ha cobrado en la historia de la Criptografía es el francés Blaise de Vigenère (1523-1596). Diplomático de la corte francesa en Roma desde los 26 años, decide abandonar esta ocupación a los 47 y dedicarse exclusivamente a sus estudios y escritos. Entre éstos, el que interesa aquí es el voluminoso “Traicté des chiffres”; publicado en 1585 y en el que, además de la materia indicada en el título, se tratan cuestiones de alquimia, magia y otras artes ocultas. Ello sugiere pensar que quizás el diplomático francés concebía la Criptografía como parte de lo esotérico, al igual que Trithemius. En cualquier caso, entre los numerosos cifrados que aparecen en su libro, describe uno polialfabético que él mismo denominó “le chiffre indéchiffrable” y que la Criptografía actual lo conoce como cifrado de Vigenère. En realidad, el cifrado de Vigenère no es sino la cifra propuesta por Belaso, empleando una tabla similar a la de Trithemius; pero no necesariamente con las letras de los alfabetos dispuestas en el orden habitual, sino siguiendo otras ordenaciones convenidas entre el emisor y el receptor. Un ejemplo de tabla de Vigenère es la Tabla 3.2. En ella, hemos ordenado los alfabetos de cifrado a partir de la palabra ‘cryptografia’. La primera fila de letras mayúsculas constituye el alfabeto en claro. Sus letras van en el orden habitual, pero igualmente podrían ir en otro orden. Las letras mayúsculas de la primera columna identifican al alfabeto de cifrado que sigue a continuación. 40
  • 49. 3. CIFRADOS POLIALFABÉTICOS A B C D E F G H I J K L MN Ñ O P Q R S T U VWX Y Z A c r y p t o g a f i b d e h j k l m n ñ q s u v w x z B r y p t o g a f i b d e h j k l m n ñ q s u v w x z c C y p t o g a f i b d e h j k l m n ñ q s u v w x z c r D p t o g a f i b d e h j k l m n ñ q s u v w x z c r y E t o g a f i b d e h j k l m n ñ q s u v w x z c r y p F o g a f i b d e h j k l m n ñ q s u v w x z c r y p t G g a f i b d e h j k l m n ñ q s u v w x z c r y p t o H a f i b d e h j k l m n ñ q s u v w x z c r y p t o g I f i b d e h j k l m n ñ q s u v w x z c r y p t o g a J i b d e h j k l m n ñ q s u v w x z c r y p t o g a f K b d e h j k l m n ñ q s u v w x z c r y p t o g a f i L d e h j k l m n ñ q s u v w x z c r y p t o g a f i b M e h j k l m n ñ q s u v w x z c r y p t o g a f i b d N h j k l m n ñ q s u v w x z c r y p t o g a f i b d e Ñ j k l m n ñ q s u v w x z c r y p t o g a f i b d e h O k l m n ñ q s u v w x z c r y p t o g a f i b d e h j P l m n ñ q s u v w x z c r y p t o g a f i b d e h j k Q m n ñ q s u v w x z c r y p t o g a f i b d e h j k l R n ñ q s u v w x z c r y p t o g a f i b d e h j k l m S ñ q s u v w x z c r y p t o g a f i b d e h j k l m n T q s u v w x z c r y p t o g a f i b d e h j k l m n ñ U s u v w x z c r y p t o g a f i b d e h j k l m n ñ q V u v w x z c r y p t o g a f i b d e h j k l m n ñ q s W v w x z c r y p t o g a f i b d e h j k l m n ñ q s u X w x z c r y p t o g a f i b d e h j k l m n ñ q s u v Y x z c r y p t o g a f i b d e h j k l m n ñ q s u v w Z z c r y p t o g a f i b d e h j k l m n ñ q s u v w x Tabla 3.2. Una tabla de Vigenère. Para cifrar, las tablas de Vigenère se emplean igual que la de Trithemius: fijada una clave, cada letra del texto en claro se reemplaza por la que está en su misma columna y en la fila determinada por la correspondiente letra de la clave. Empleando la Tabla 3.2 y la clave ‘TRITHEMIUS’, un ejemplo de cifrado es el siguiente: Clave: TRITHEMIUSTRITHE Texto claro: BLAISEDEVIGENERE Texto cifrado: s y f r z f k e l c z u s w x f Curiosamente, una tabla de Vigenère como la 3.2 equivale a un disco como el ideado por Alberti. Para observarlo, fijémonos en la Figura 3.1. La sustitución mostrada es la siguiente: 41
  • 50. 3. CIFRADOS POLIALFABÉTICOS ABCDEFGILMNOPQRSTVXZ1234 dlgazenbosfchtyqixkvp&mr Imaginemos que a partir de esta transformación construimos un cuadrado de Vigenère siendo esta sustitución la primera de ellas, la identificada con la letra A. Entonces la segunda transformación, la correspondiente a la letra B, se obtiene desplazando una posición hacia la izquierda las letras del alfabeto de cifrado y colocando en último lugar la d. Justamente la misma sustitución que se consigue girando el disco interno de la Figura 3.1 una posición en sentido contrario a como se mueven las agujas de un reloj. Así pues, las sustituciones proporcionadas por la tabla y el disco son las mismas. Por tanto, la diferencia entre el cifrado de Alberti y el de Vigenère, lo que hace al segundo mucho más seguro que el primero, es el número de claves que se maneja en cada caso. En el de Alberti la clave se reduce a una letra elegida entre 24 posibles, la que convienen el emisor y el receptor para “casar” los discos. En el de Vigenère hay una infinidad, puede ser un grupo palabras de cualquier longitud. De hecho, el propio Vigenère recomendaba, al igual que Belaso, emplear claves largas como, por ejemplo, líneas de poesía o fechas completas que, además, convenía variar frecuentemente. Otra posibilidad que contempló fue el uso de autoclaves. Muchos textos actuales identifican la cifra propuesta por Vigenère con la de Belaso. Como ya hemos dicho antes, la única diferencia estriba en que la cifra de Vigenère emplea alfabetos no ordenados en el modo habitual; pero ello aumenta considerablemente la seguridad del criptosistema resultante. Con Vigenère concluye la lista de autores renacentistas que recomiendan los cifrados polialfabéticos como alternativa al nomenclátor en el reinado del país de las cifras. Propuesta totalmente ignorada por los nobles de este reino que, al seguir prefiriendo como monarca al viejo nomenclátor, confinaron los libros anteriores a la oscuridad de las “cámaras negras”. Y ahí permanecieron hasta que, a mediados del siglo XIX, los ejércitos europeos demandaron otras formas de cifrado que dieran protección a sus recién estrenadas comunicaciones telegráficas. Ésta fue la oportunidad de los viejos cifrados polialfabéticos, que al fin alcanzaron la gloria deseada por sus creadores. Pero por poco tiempo, ya que no eran tan indescifrables como éstos aseguraban. Naturalmente, esta condición de indescifrable la entendían ante un ataque con texto cifrado únicamente; ya que es evidente que los cifrados anteriores caen fácilmente ante un ataque con texto claro. En 1863, un veterano del ejército prusiano, el mayor Friedrich Wilhelm Kasiski, da el primer paso hacia el criptoanálisis de los cifrados polialfabéticos dentro de un libro de 95 páginas titulado “Die Geheimschriften und die Dechiffrirkunst” (“La escritura secreta y el arte del desciframiento”). Este primer paso no es sino encontrar la longitud de la clave empleada. Como bien observa Kasiski, si dos fragmentos iguales del texto en claro distan uno de otro un múltiplo de la longitud de la clave, entonces sus transformados del texto cifrado también son idénticos. En consecuencia, si en un criptograma hay bloques repetidos, la longitud de la clave debe dividir al máximo común divisor de las distancias entre fragmentos iguales. Esto permite su cálculo. 42
  • 51. 3. CIFRADOS POLIALFABÉTICOS Algunos autores opinan que este método de Kasiski para encontrar la longitud de la clave había sido descubierto 17 años antes por Charles Babbage, un excéntrico científico inglés que invirtió la mayor parte de su tiempo en extravagancias como determinar los climas del pasado estudiando la anchura de los anillos de los troncos de los árboles, o diseñar una máquina calculadora que en cierto modo podía ser programable. Estos mismos escritores afirman que gracias a Babbage el ejército inglés pudo penetrar en las cifras rusas durante la guerra de Crimea, en la que el ejército del zar Nicolás I empleó un cifrado de Vigenère con alfabetos estándar (la cifra original de Belaso). No obstante, el problema de encontrar la longitud de la clave se resuelve de un modo definitivo mediante el llamado índice de coincidencia de un texto, concepto introducido por el gran criptoanalista del ejército americano William Friedman en la década de los años veinte. Se define como la probabilidad de que dos de sus letras elegidas al azar coincidan. Mostremos como calcular el índice de coincidencia con un ejemplo; con el siguiente fragmento de texto, con el que comienza “El Quijote”: “En un lugar de la Mancha, de cuyo nombre no quiero acordarme, no ha mucho tiempo que vivía un hidalgo de los de lanza en astillero, adarga antigua, rocín flaco y galgo corredor. Una olla de algo más vaca que carnero, salpicón las más noches, duelos y quebrantos los sábados, lentejas los viernes, algún palomino de añadidura los domingos, consumían las tres cuartas partes de su hacienda...” Calculemos en primer lugar la probabilidad de que al elegir dos letras al azar, éstas sean dos aes. Según la regla de Laplace, dicha probabilidad es el cociente entre el número de casos favorables y el de posibles. Obtengamos primero el número de casos posibles. Como el texto consta de 311 letras, hay este mismo número de opciones para una primera letra. Elegida ésta, restan 310 posibilidades para la segunda. En total: 311·310 = 96410 modos distintos de hacerlo. Ahora bien, escoger como primera letra una a y luego una b da lugar al mismo par que si se elige primero una b y a continuación una a. Por tanto, la cantidad anterior ha de dividirse por dos para determinar el número de pares distintos resultantes: 96410/ 2 = 48205. Éste es el número de casos posibles. Determinemos ahora el número de casos favorables; esto es, ¿cuántos de esos pares son dos aes? El razonamiento es el mismo. Como hay 45 aes, tal cantidad es entonces 45·44 / 2 = 990. Así pues, la probabilidad de al elegir dos letras en fragmento anterior, éstas sean dos aes: 990 / 48205 = 0,02053. Del mismo modo se calcula la probabilidad de que las dos letras elegidas sean dos bes, dos ces, etc. Y sumando las 27 cantidades obtenidas se obtiene el índice de coincidencia del fragmento: 0,07076. Notemos que la argumentación anterior proporciona una fórmula general para determinar el índice de coincidencia de un texto. Es la siguiente: 43
  • 52. 3. CIFRADOS POLIALFABÉTICOS f a ( f a − 1) + f b ( f b − 1) + ... + f z ( f z − 1) IC = , n(n − 1) donde fa, fb, ..., fz son las frecuencias de las letras y n es la longitud del texto (el número de letras que tiene). Si en lugar del fragmento anterior hubiésemos extraído de “El Quijote” un texto de gran tamaño, las frecuencias de sus letras estarían muy próximas al patrón de frecuencias de nuestro idioma que mostramos en la Tabla 1.3, incluida en el primer capítulo. Por ejemplo, el número de aes presentes en él sería muy cercano a 0,12529·n (siendo n el número total de letras); y la probabilidad de que al escoger dos de sus letras éstas sean dos aes, estaría muy próxima al cuadrado de 0,12529. La misma observación es válida para cualquier otra letra. Se sigue entonces que el índice de coincidencia del texto sería prácticamente igual a la suma de los cuadrados de los números que figuran en la mencionada Tabla 1.3. Suma a la que podemos convenir en llamar índice de coincidencia del español. Su valor, junto al del inglés, francés y alemán, se incluye en la siguiente tabla: Inglés Español Francés Alemán 0,0685 0,0755 0,0793 0,0736 Tabla 3.3. Índices de coincidencia No sólo los textos de gran tamaño presentan índices próximos a los presentados en esta tabla. Por lo general, es suficiente que un texto contenga un par de cientos de letras para su índice de coincidencia esté a distancia inferior a 0,01 del índice del idioma en que se ha escrito. Lo podemos observar en el pequeño fragmento anterior extraído de “El Quijote”. Y es frecuente que esto suceda incluso con textos más cortos, con apenas unas decenas de letras. Ahora consideremos un texto en el que sus letras se han elegido aleatoriamente, todas con igual probabilidad. En tal caso, si su longitud es suficientemente grande, en dicho texto figuran todas las letras del alfabeto y con una frecuencia similar, cercana a n/27 (suponiendo que en el texto hay n letras y en el alfabeto 27). Se deduce entonces que su índice de coincidencia está próximo a 1/27 = 0,037. Cuando ciframos un texto por sustitución, las frecuencias de sus letras se mantienen en el texto cifrado resultante y, en consecuencia, el índice de coincidencia también; y es cercano a 0,0755 (considerando que el texto en claro está escrito en español). Pero si se emplea un sistema polialfabético, entonces resulta una distribución de frecuencias parecida a la de un texto aleatorio; ya que las frecuencias más altas del texto en claro se reparten entre varias letras del criptograma. Por tanto, su índice de coincidencia está más próximo a 0,037 que a 0,0755. Ahora bien, si del criptograma extraemos todas las letras cifradas con un mismo alfabeto y calculamos su índice de coincidencia, nos acercamos de nuevo al valor 0,0755. Este simple hecho permite determinar la longitud de la clave en un 44
  • 53. 3. CIFRADOS POLIALFABÉTICOS cifrado polialfabético. Veámoslo en un caso práctico, en el que también haremos uso de la indicación de Kasiski. Consideremos el siguiente criptograma, resultado de cifrar un fragmento de “El Quijote” mediante un criptosistema de Vigenère que hace uso de una tabla similar a la 3.2 (pero distinta) y cierta clave desconocida: adiawñdntrtocdhmphhdusbbkqmgtfkñfpouhuhftñcpmpo ekfrneecpsivdyrmsxskitjzuhuhnedwbmrvdyqfhduabop oukñfjrrdfhjzkjuijzrcofgoyosmsdhkfunjhymtjpshdz ivpjpmkvñkpjnahxsknzukbjnporuzjñfdcgrbywuhmeñcp mttcdpodaukpjrouyqouvcdnohnuyefnñdysmxthqqmhidw ftjnhklmrlegeopouadnrvikpfqtycpsibposmsauxshlvp yhyqyuumtjchqcoqvñqhbpoeihfktqrhkjztrzoddhqfong dguujrpjcmgvñrdmapdñeznledfffceybmxhfddxftccñum leydzvbfdcgrbdusnnyuguunñrdpohvñdyiaffrisutrrvo ibbdmtjgdfefshqdntnrqditjyhgeznrrkpkjñhnsmnghqd mrtmjumrtdyrmsikqeyjyhhujmahubosyhgezjzqkbywrqd Criptograma. Hemos subrayado tres bloques que aparecen repetidos dos veces todos ellos. Uno de seis letras, ‘fdcgrb’, en las posiciones 174 y 384; y otros dos de cinco letras, ‘dyrms’, en los lugares 60 y 480; y ‘yhgez’, en las posiciones 449 y 503. La diferencia entre estas posiciones es, respectivamente, 210, 420 y 54. El máximo común divisor de estos tres números es 6 y, según la observación de Kasiski, la longitud de la clave muy bien puede ser este número o uno de sus divisores. El cálculo de índices de coincidencia lo confirmará. Para ello, escribamos el texto cifrado de arriba abajo, formando un rectángulo con seis filas y dando lugar a 6 subtextos T1, T2, ..., T6: T1: adchkkhckcykhwyakdjcokyhjkxkrdwcdkydyyqw ... T2: dnddqñupfpriubqbñfuosfmdppsbucupppqnesqf ... T3: ithumfhmrsmthmfofhifmutzmjkjzghmojoofmmt ... T4: armsgpfpnisjnrhpjjjgsnjiknnnjrmtdruhnxhj ... T5: wtpbtotoevxzevdorzzodjpvvazpñbetaovnñtin ... T6: ñohbfuñeedsudduurkryhhspñhuofyñcuucudhdh ... Si la longitud de la clave es 6, las letras del texto en claro situadas en las posiciones 1, 7, 13... se cifran todas ellas con el mismo alfabeto, el determinado por la primera letra de la clave. Sus correspondientes cifradas determinan la primera fila del rectángulo, el texto que denotamos T1. Del mismo modo, el texto T2 corresponde a las letras del texto en claro que se cifran con el alfabeto determinado por la segunda letra de la clave. Y así sucesivamente. Si la longitud de la clave es un divisor de 6, por ejemplo 3, entonces 45
  • 54. 3. CIFRADOS POLIALFABÉTICOS también todas las letras de cada texto Ti proceden de letras del texto en claro cifradas con el mismo alfabeto. Sucede que, en este caso, los textos T1 y T4 corresponden al mismo alfabeto, T2 y T5 a otro alfabeto común, y T3 y T6 a un tercero. Tanto si la longitud de la clave es 6 como uno de sus divisores, cada uno de los textos Ti mantiene el índice de coincidencia del subtexto en claro del que procede. Puede suceder que estos índices presenten variaciones importantes respecto al del texto en claro completo; pero su media está cercana a dicho número, el cual debe ser próximo a 0,0755. En otro caso, si la longitud de la clave no es ni 6 ni ninguno de sus divisores, la media anterior se acercará más a 0,037. Por tanto, nuestra siguiente tarea es calcular los índices de los textos Ti y después la media de estos números. Ello pasa por efectuar sendos análisis de frecuencias para cada uno de los textos Ti. La Tabla 3.4 los recoge. En ella hemos ordenado las letras que aparecen en cada subtexto por su frecuencia, que es el número que figura junto a cada letra. En la última fila se indica el índice de coincidencia de cada texto. T1 T2 T3 T4 T5 T6 d:14 p:11 m:18 j:15 t:11 h:14 k:13 d: 9 o:11 n:14 v:10 u:12 y:10 u: 9 f: 9 r: 9 o: 7 d:10 c: 7 e: 7 t: 8 s: 7 b: 6 e: 7 q: 6 s: 7 h: 6 p: 5 z: 6 ñ: 7 r: 6 b: 6 z: 6 h: 4 r: 5 f: 5 g: 5 f: 6 u: 5 i: 4 y: 5 q: 5 h: 5 c: 4 j: 4 m: 4 a: 4 r: 5 j: 4 h: 4 i: 3 a: 3 ñ: 4 p: 4 a: 3 q: 4 k: 3 f: 3 p: 4 c: 3 u: 3 i: 3 s: 3 g: 3 d: 3 y: 3 w: 3 m: 3 y: 3 q: 3 e: 3 b: 2 o: 2 n: 3 g: 2 d: 2 g: 3 k: 2 x: 2 ñ: 3 n: 2 k: 2 l: 3 o: 2 f: 1 r: 2 b: 1 u: 2 c: 2 s: 2 i: 1 l: 1 r: 1 x: 2 h: 2 i: 1 n: 1 o: 1 x: 1 l: 1 i: 2 m: 1 ñ: 1 v: 1 t: 1 n: 2 t: 1 y: 1 v: 1 f: 1 z: 1 w: 1 j: 1 w: 1 x: 1 IC: 0,0807 0,0629 0,0908 0,0813 0,0561 0,0793 Tabla 3.4. Frecuencias e índices de los subtextos. La media de los índices es 0,07518, lo que confirma que la longitud de la clave es 6 o uno de sus divisores. Determinemos esta longitud exactamente. Para ello, hemos de averiguar si los alfabetos de cifrado con los que se han obtenido los textos Ti son distintos o no. Si dos de estos alfabetos coinciden, entonces las letras más frecuentes de uno de los correspondientes textos están presentes en el otro con una frecuencia importante. Observando la Tabla 3.4, este hecho sólo se advierte en la pareja formada por T2 y T6. Estos dos textos tienen a las letras d, u y e entre las más frecuentes; y también se observan otras letras con frecuencias similares en ambos textos. Es probable que fueran cifrados con el mismo alfabeto. 46
  • 55. 3. CIFRADOS POLIALFABÉTICOS Lo confirmaremos cuando calculemos su índice de coincidencia mutua. Este otro índice es de aplicación para una pareja de textos y se define como la probabilidad de que al elegir una letra en cada texto, ambas coincidan. La fórmula que facilita su cálculo es la siguiente: f a ⋅ g a + fb ⋅ gb + ... + f z ⋅ g z ICM = , n ⋅m donde fa, fb, ..., fz son las frecuencias de las letras de uno de los textos, n su longitud; ga, gb, ..., gz las frecuencias del otro texto y m su longitud. Si se calcula el índice de coincidencia de dos textos escritos en nuestro idioma, su valor está cercano a 0,0755. Este índice no varía si ambos textos se cifran mediante una misma sustitución; pero si se cifra cada texto con una sustitución diferente, el índice de coincidencia baja hasta el aleatorio: 0,037, ó incluso por debajo. Por tanto, el índice de coincidencia mutua sirve para averiguar si dos textos cifrados lo han sido con una misma sustitución. En nuestro ejemplo, el índice de coincidencia mutua de T2 y T6 es 0,0645, mucho más cerca del índice del español que del aleatorio. Ello confirma que, en efecto, T2 y T6 proceden del mismo alfabeto. Para las demás parejas de textos Ti el índice de coincidencia mutua ronda el aleatorio, lo que permite concluir que no hay más alfabetos coincidentes. Así pues, la longitud de la clave es 6, aunque da lugar a sólo cinco alfabetos distintos ya que el segundo y el sexto son el mismo. Y ello es debido a que la segunda y sexta letras de clave son también idénticas. Hallada la longitud de la clave y el número de alfabetos distintos, el siguiente paso en el criptoanálisis de un sistema polialfabético es reconstruir cada uno de los alfabetos de cifrado empleados. El proceso es similar al caso monoalfabético. Primero ha de efectuarse un análisis de frecuencias de los bigramas y trigramas del texto cifrado, que ahora han de clasificarse en tantos grupos como la longitud de la clave y en función de los alfabetos que intervienen en el cifrado de cada una de sus letras. Si en estos grupos se identifican los bigramas y trigramas más habituales de nuestro idioma, entonces se podrá hallar las transformadas de las letras con más frecuencia y asomará el texto en claro. Naturalmente, esta tarea es ahora mucho más compleja que en el caso monoalfabético y el éxito sólo está garantizado si se dispone de suficiente cantidad de texto cifrado. La práctica indica que son necesarias al menos unas trescientas letras por cada alfabeto de cifrado presente en la clave. Si no se dispone de esta cantidad, el reconocimiento de bigramas y trigramas es muy difícil, puede que sea incluso cuestión de suerte. Ésta es precisamente la situación ante el criptograma que nos enfrentamos, cuya longitud es de 517 letras y 5 han sido los alfabetos de cifrado empleados. No obstante, estos alfabetos forman parte de una tabla de Vigenère y, por tanto, un alfabeto se puede obtener a partir de otro desplazando sus letras un número determinado de posiciones. Veamos si podemos aprovechar esta debilidad. En primer lugar, dado lo reducido del texto cifrado, más útil que un listado de bigramas y trigramas es organizar las letras tal y como hemos hecho en la Tabla 3.5. Para elaborarla, hemos partido de la Tabla 3.4 y hemos ido colocando a la derecha de sus letras aquellas otras que las siguen en el texto cifrado, y a su izquierda las que anteceden. Por ejemplo, la primera d del texto T1 aparece en el séptimo lugar del texto cifrado y junto a 47
  • 56. 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
  • 57. 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
  • 58. 3. CIFRADOS POLIALFABÉTICOS En esta primera ronda hemos confirmado que sustituyen a vocales las dos letras más frecuentes de cada texto Ti. Continuemos con una segunda y sucesivas vueltas en las que examinamos si son vocales o consonantes las letras que siguen en frecuencia. Ahora conviene tener en cuenta el siguiente hecho diferencial entre vocales y consonantes frecuentes (s, n, r, d, l...): éstas no suelen seguir a otras consonantes, sino a las vocales más frecuentes que ya han sido descubiertas, lo contrario que sucede con el resto de las vocales. Por tanto, si las vocales predominan en la fila de la izquierda de una letra, ésta muy probablemente será una consonante y en otro caso una vocal. Por ejemplo, ahora es claro que la y del texto T1 representa a una consonante: entre las diez letras a su izquierda hay cuatro des y dos ues, letras de T6 que han resultado ser sustitutas de vocales. La h del texto T6 debe representar a una vocal ya que entre las catorce letras a su izquierda sólo hay una t y ninguna v. En fin, observando con cuidado la Tabla 3.5 se puede determinar, con una alta probabilidad, si son vocales o consonantes las letras más frecuentes de cada uno de los textos Ti y consignarlo en una tabla como la que sigue a continuación. Naturalmente, podemos estar equivocados con alguna letra; pero seguro que hemos acertado en la mayoría: Textos: Vocales: Consonantes: 1 d k c r y q g h 2, 6 u d h e s p ñ f 3 m o f t h z 4 j n r s p h 5 t v o b z r Esta clasificación en vocales y consonantes no tiene otro objetivo que facilitar el reconocimiento de algunos de los bigramas y trigramas más comunes de nuestro idioma y que, como ya dijimos antes, es fundamental para que el criptoanálisis pueda avanzar. En la Tabla 3.5 se pueden observar algunos bigramas que se encuentran varias veces repetidos. Por ejemplo, los bigramas ‘sm’, ‘mr’ y ‘ms’, que aparecen cuatro veces cada uno en la fila de la m del texto T3; el bigrama ‘tj’ figura seis veces en la fila de la t de este mismo texto; el bigrama ‘po’ se halla cinco veces en la fila de la p de T4; y en fin, varias repeticiones más que también habrá observado el lector. Hemos de asignar valores a estos bigramas y analizar su validez. En caso de llegar a contradicciones habrá que contemplar otras opciones. El anteriormente citado bigrama ‘po’ puede representar la asociación ‘qu’, ya que la p de T4 sustituye a una consonante que siempre va seguida por la equivalente a la o de T5, que es una vocal no muy frecuente. El bigrama ‘po’ se amplía dando lugar a los trigramas ‘pou’ y ‘poe’, que deben corresponder al pronombre ‘que’ y al trigrama ‘qui’. Mirando la frecuencia de la u y la e en T6, lo más probable es que ‘pou’ sustituya al pronombre y ‘poe’ a ‘qui’. En el texto cifrado, ‘poe’ continua ‘poek’. Como esta k es de una de las vocales más frecuentes de T1, ‘poek’ debe ser ‘quie’ en el texto en claro. Vayamos ahora con ‘tj’. La t pertenece a T3 y está catalogada como una vocal no muy frecuente, la j figura en T4 y como una vocal muy frecuente. Es posible que ‘tj’ corresponda en el texto en claro a ‘ue’, que es, con diferencia, el bigrama con mayor frecuencia entre los constituidos por dos vocales. Esta asociación ‘tj’ se amplia por la 50
  • 59. 3. CIFRADOS POLIALFABÉTICOS izquierda a ‘mtj’ en tres ocasiones, y sucede que la m de T2 siempre va seguida de la t. ¿Estaremos de nuevo ante el pronombre ‘que’? Posiblemente sí, ya que son muy abundantes en “El Quijote”. Y hay más. Como las emes de T2 sustituyen a la q y los alfabetos de cifrado de T2 y T6 coinciden, la única m que figura en T6 debe reemplazar también a una q. Luego el trigrama que origina, ‘mju’, es otro ‘que’. Por último, el cuatro veces repetido bigrama ‘sm’ en la fila de la m de T3 tiene que corresponder también a ‘ue’, por la misma razón que dimos antes. Y probablemente alguno de los cuatro bigramas proceda de otro ‘que’, pero esta vez no está tan claro. Bien, este análisis de bigramas nos ha permitido conjeturar con varias sustituciones que es conveniente llevar a una tabla como la que sigue a continuación. En ella, la primera fila de letras mayúsculas es el alfabeto en claro y las siguientes son cada uno de los alfabetos de cifrado. El número a la izquierda indica cual. A B C D E F G H I J K L MN Ñ O P Q R S T U VWX Y Z 1 k j 2, 6 u e m s 3 m t 4 j p 5 o ¡Tanto esfuerzo para rellenar unas pocas casillas! Sí, así es; pero enseguida colocaremos más letras en esta tabla. Hagamos ahora uso del hecho que los alfabetos forman parte de una tabla de Vigenère y que en ella se tiene la siguiente propiedad, que algunos textos denominan simetría de la posición: la distancia entre dos letras dadas es constante en todas sus filas. (Obsérvese esta sencilla propiedad en la Tabla 3.2.) En el primer alfabeto vemos la j diecisiete casillas a la derecha de la k. Esta misma distancia deben mantener estas dos letras en todos los alfabetos. En particular en el cuarto, lo que sitúa una k en su fila, en la columna de la Ñ. Del mismo modo se traslada la p del cuarto alfabeto al primero, manteniendo la distancia con la j. Y más juego da la simetría de la posición con el segundo y tercer alfabetos, gracias a la m. En consecuencia, la tabla de sustituciones contiene ya menos casillas vacías: A B C D E F G H I J K L MN Ñ O P Q R S T U VWX Y Z 1 k p j 2, 6 u t e m s 3 m s u t e 4 j k p 5 o Completemos las vocales del segundo alfabeto colocando la d y la h en las casillas de la A y la O. En virtud de la simetría de la posición, la letra que asignemos a la A deberá figurar también en la casilla de la Ñ del tercer alfabeto. La alta frecuencia de la h en T3 descarta la posibilidad que sustituya a la Ñ, que aparece muy pocas veces en nuestro idioma. La d es mejor opción ya que no está presente en T3. Por tanto, situemos la d en la 51
  • 60. 3. CIFRADOS POLIALFABÉTICOS casilla de la A del segundo alfabeto y la h en la de la O. Del mismo modo podemos completar las vocales en el tercer alfabeto. Ahora la mejor opción es situar la f en la casilla de la A y la o en la de la O, porque ello implica asignar una f a la N del segundo alfabeto y está en consonancia con la frecuencia de la f en T2 y en T6. Por otro lado, como la o figura ya en la fila del quinto alfabeto, la simetría de la posición descubre nuevas letras en él: A B C D E F G H I J K L MN Ñ O P Q R S T U VWX Y Z 1 k p j 2, 6 d o u t e f h m s 3 f h m s d o u t e 4 j k p 5 t e f h m s d o u Vayamos ahora con las vocales del primer alfabeto. En él ya tenemos adjudicadas sustitutas para la e y la u. La d es la letra más frecuente en T1 y está catalogada como vocal. No puede ir en la casilla de la A porque entonces los alfabetos primero y segundo coincidirían y, como ya sabemos, no es así. Debe corresponder con la O y dejar libre la A para la c o la r. La simetría de la posición confirma esta deducción y sugiere completar las vocales situando la c en la cuadrícula de la A y la r en la de la I. La tabla de alfabetos queda entonces así: A B C D E F G H I J K L MN Ñ O P Q R S T U VWX Y Z 1 c f h k m p r s d o u j t e 2, 6 d o u j t e c f h k m p r s 3 f h k m p r s d o u j t e c 4 u j t e c f h k m p r s d o 5 t e c f h k m p r s d o u j Llegados a este punto, hemos descubierto catorce letras en cada alfabeto, entre ellas casi todas las vocales. Es el momento de comprobar si el criptoanálisis ha ido por buen camino. Toca escribir debajo de cada línea del criptograma otra de donde figuren las letras del texto en claro ya descubiertas y observar que se obtiene. Esto es lo que hacemos continuación (hemos insertado un espacio en blanco cada seis letras para distinguir mejor el alfabeto empleado en cada momento): adiawñ dntrto cdhmph hdusbb kqmgtf kñfpou huhftñ cpmpoe *A**** O*URAB AACOMO DARS** E*E*AN E*AQUE DECLA* ASEQUI kfrnee cpsivd yrmsxs kitjzu huhned wbmrvd yqfhdu abopou ENH*BI ASI**A *TES*U E*UE*E DEC*BA **ER*A **ANTE **OQUE kñfjrr dfhjzk juijzr cofgoy osmsdh kfunjh ymtjps hdzivp E*AENT ONCE*P UE*E*T ABA*U* PUESTO ENR*ZO *QUEMU DA***S 52
  • 61. 3. CIFRADOS POLIALFABÉTICOS jpmkvñ kpjnah xsknzu kbjnpo ruzjñf dcgrby wuhmeñ cpmttc USEÑ** EST**O *UD**E E*T*MB IE*E*N OM*R** *ECOB* ASEFAM dpodau kpjrou yqouvc dnohnu yefnñd ysmxth qqmhid wftjnh OSOY*E ESTRUE **OC*M O*ON*E *IA**A *UE*AO **EN*A *NUE*O klmrle geopou adnrvi kpfqty cpsibp osmsau xshlvp yhyqyu E*ER*I *IOQUE *A*R** ESA*A* ASI**S PUES*E *UC**S *O***E umtjch qcoqvñ qhbpoe ihfktq rhkjzt rzoddh qfongd guujrp SQUEFO *MO*** *O*QUI *OAÑA* IODE*H I*OYTO *NO**A *ERENS jcmgvñ rdmapd ñeznle dfffce ybmxhf ddxftc cñumle ydzvbf UME*** IAE*MA *I***I ONALFI **E*IN OA*LAM A*RO*I *A***N dcgrbd usnnyu guunñr dpohvñ dyiaff risutr rvoibb dmtjgd OM*R*A SU***E *ER**T OSON** O***GN I*ICAT I*O*** OQUE*A fefshq dntnrq ditjyh geznrr kpkjñh nsmngh qdmrtm jumrtd BIASI* O*U*N* O*UE*O *I**NT ESDE*O *UE**O *AERAQ UEERAA yrmsik qeyjyh hujmah ubosyh gezjzq kbywrq d *TES*P *I*E*O DETO*O S*OS*O *I*E** E***N* O Fijémonos en las líneas de texto en claro resultante. Se observan palabras enteras de nuestro idioma y otras a las que faltan algunas letras, lo que confirma la corrección de todo el criptoanálisis anterior. Si adivinamos las letras que faltan a las palabras incompletas, obtenemos nuevas sustituciones que, tras llevar a la tabla de alfabetos, nos revelaran más letras del texto en claro. De este modo, repitiendo una y otra vez este proceso, se completan los alfabetos de cifrado y el texto en claro. Pero dejamos esta última parte del criptoanálisis al lector interesado. 53
  • 63. 4 CIFRADOS POLIGRÁFICOS En 1844, el americano Samuel F.B. Morse transmitió el primer mensaje telegráfico entre las ciudades de Baltimore y Boston, mostrando así al mundo la posibilidad de enviar comunicaciones instantáneas desde largas distancias. Ello supuso una revolución en el desarrollo de la Criptografía. Los primeros usuarios del nuevo invento fueron particulares dedicados al mundo de los negocios que lo emplearon para sus transacciones comerciales. Desde un principio manifestaron preocupación por la ausencia de privacidad en los telegramas, inevitablemente transparentes al personal encargado de su transmisión y recepción. Pronto se dieron cuenta que no había razón para tal temor, ya que las compañías telegráficas garantizaban la plena confidencialidad. Sí era motivo de preocupación el coste de los mensajes, que era proporcional a su longitud. Surgió entonces una necesidad de reducir en lo posible el tamaño de los telegramas, sin que ello supusiera una pérdida de datos. Con este objetivo aparecieron enseguida en el mercado los que fueron llamados códigos comerciales telegráficos. Eran amplios repertorios de palabras y frases enteras ordenadas alfabéticamente, y a su lado las correspondientes series de números o letras que las reemplazaban. El número de tales palabras y frases era de varias decenas de miles, superando en ocasiones las 100.000. Así pues, un código comercial es un enorme nomenclátor que, a diferencia de éste, su fin no es encriptar un texto; sino producir otro más corto y, en consecuencia, más barato al ser telegrafiado. Estos códigos no proporcionaban ninguna seguridad en la comunicación, ya que eran públicos; pero el simple hecho de carecer sin sentido el texto resultante proporcionaba una privacidad suficiente a la mayoría de los usuarios del telégrafo. El primer código comercial fue publicado al año siguiente de la demostración de Morse; su autor, el abogado Francis O.J. Smith, era precisamente el agente promocional del propio Morse. Al de Smith siguieron cientos de códigos comerciales por todo el mundo. Su uso se prolongó hasta la Segunda Guerra Mundial. El telégrafo fue usado también por gobiernos, diplomáticos y militares. En un principio, la correspondencia era cifrada con los nomenclátores que todavía estaban en vigor. Pero en cuanto aumentó el tráfico en las comunicaciones, el nomenclátor se rindió 55
  • 64. 4. CIFRADOS POLIGRÁFICOS ante la comodidad que suponía el empleo de códigos. Hacia 1860, los libros de códigos habían sustituido ya al viejo nomenclátor. Naturalmente, los códigos oficiales eran reservados; su secreto era fundamental en la seguridad de las comunicaciones estatales. Y si se deseaba mayor seguridad, se cifraba el código resultante. En Criptografía se distinguen dos clases de códigos: los ordenados o de una parte, y los desordenados o de dos partes. Los códigos ordenados son aquellos en que tanto las palabras de texto en claro como las series de números o letras que las reemplazan van ambas ordenadas; en los desordenados, en cambio, no se sigue esta correlación. Estos últimos requieren dos partes. En una van ordenadas alfabéticamente las palabras de texto en claro y se usa para codificar; en la otra el orden lo siguen las series de números o letras y sirve para la descodificación. Son como un diccionario bilingüe. (Nótese que si el código es ordenado basta con una de las partes para codificar y descodificar, gracias al doble orden.) Todos los códigos comerciales eran de una sola parte, ya que son más fáciles de elaborar. Los oficiales, en cambio, los había tanto de una parte como de dos. La razón de emplear códigos de dos partes está en que proporcionan una seguridad mayor, muy superior a los de una parte. En la Figura 4.1 se muestra una página de un código empleado por la armada británica a principios del siglo XX. Es un código de dos partes; la página mostrada en la figura corresponde a la que sirve para la codificación. Obsérvese que algunas palabras como ‘A’, ‘About’ o ‘Above’ presentan homófonos. Los códigos oficiales solían incluir homófonos para las palabras más frecuentes, con objeto de dificultar su criptoanálisis. El impacto del telégrafo en la Criptografía militar fue todavía mayor. Por aquel entonces, un nuevo escenario surgió en el terrible drama que suponen las guerras. De los reducidos y lentos ejércitos de las viejas monarquías se pasó a grandes contingentes de tropas que, gracias al ferrocarril, podían ser transportadas rápidamente desde largas distancias. El campo de batalla ya no era visible por los generales desde una colina; era un frente de muchos kilómetros que sólo podía contemplarse en un mapa. La guerra ya no se dirigía in situ como antes; sino desde un cuartel general en la retaguardia, el cual era también centro de comunicaciones. El telégrafo permitía seguir al instante el desarrollo de las batallas y, en base a esta evolución, cursar órdenes a las tropas de modo inmediato. Pero primero era imprescindible cifrar estas órdenes. Al enemigo le resultaba sencillo interceptar las comunicaciones militares que viajaban a través de los hilos telegráficos. Los libros de códigos no eran adecuados para este menester. Si caían en manos enemigas tras la rendición de una unidad, se comprometía la totalidad de las comunicaciones y había que editar y distribuir un nuevo código. El tiempo que ello requiere evidencia la ineficacia de códigos en este contexto. Era necesario emplear diferentes métodos de cifrado. Tales métodos debían ser fáciles de manejar en campaña y altamente seguros. Además, era obligado que esta seguridad dependiese únicamente de una clave que pudiese variar rápidamente y de modo que, aunque el enemigo tuviese constancia del criptosistema empleado, el desconocimiento de la clave impidiese el descifrado de los mensajes. Los métodos de cifrado destinados a ser empleados en el frente fueron llamados cifras de campo (“field ciphers”, en inglés). Los ya estudiados cifrados polialfabéticos eran ideales para utilizar como cifras de campo, especialmente el de Vigenère o alguna de sus variantes. Fueron los 56
  • 65. 4. CIFRADOS POLIGRÁFICOS que se utilizaron en los primeros días del telégrafo. Hasta que, en 1863, el oficial del ejército prusiano Friedrich W. Kasiski dio a conocer un método de criptoanálisis para la sustitución polialfabética que desaconsejó su uso. Se hizo entonces necesario idear otros modos de cifrado. Figura 4.1. Una página de un código militar telegráfico. 57
  • 66. 4. CIFRADOS POLIGRÁFICOS Los nuevos criptosistemas que fueron empleados como cifras de campo responden en su mayoría a dos modelos que contemplan los actuales libros de Criptografía y que denominan, respectivamente, cifrados poligráficos y cifrados por transposición. Dedicamos el resto de este capítulo a los primeros y reservamos el siguiente para los segundos. En un criptosistema poligráfico los textos en claro se dividen en bloques con igual número de letras. A continuación, cada uno de estos bloques se reemplaza por otro de signos del alfabeto de cifrado, siguiendo las reglas que indique el criptosistema y haciendo uso de la clave. La concatenación de los bloques que resultan es el texto cifrado. Los bloques de texto en claro no tienen porque tener la misma longitud que los del texto cifrado, aunque es común que ello suceda. Tal longitud suele ser un número pequeño; si es dos, el cifrado se dice digráfico; si es tres, trigráfico; etc. A título de curiosidad, hay que señalar que el primer criptosistema poligráfico que se conoce data de 1563. Fue dado a conocer por Giovanni Battista Porta en su libro “De Furtivis Literarum”. Es un cifrado digráfico en el que dos letras se cambian por unos curiosos signos, tal y como se muestra en la Figura 4.2. Figura 4.2. Cifrado digráfico de Porta. 58
  • 67. 4. CIFRADOS POLIGRÁFICOS El primer criptosistema poligráfico diseñado para servir como cifra de campo data de 1854. Su autor fue el polifacético científico Charles Wheatstone, quien ya había construido un telégrafo antes que lo hiciera Morse. El criptosistema lleva el nombre de cifrado Playfair en honor al barón Lyon Playfair, amigo de Wheatstone, quien lo dio a conocer al gobierno británico. Su ejército lo utilizó como cifra de campo en la guerra de los Boer y en la Primera Guerra Mundial. También lo emplearon varias armadas como cifra de emergencia en la Segunda Guerra Mundial. Por ejemplo, cuando en esta contienda, en Agosto de 1943, un crucero japonés hundió la patrullera comandada por el futuro presidente de los Estados Unidos, el entonces teniente John F. Kennedy, éste envió un mensaje cifrado en Playfair solicitando rescate para los supervivientes de su tripulación. La cifra Playfair es un criptosistema digráfico. Se parte de un cuadrado dividido en 25 casillas y en él se disponen las letras del alfabeto ordenadas como disponga la clave. Puesto que el alfabeto inglés consta de 26 letras, Wheatstone propuso identificar bien la ‘I’ con la ‘J’, bien la ‘U’ con la ‘V’, o bien la ‘K’ con la ‘Q’. Por ejemplo, identificando la ‘I’ con la ‘J’ puede considerarse el siguiente cuadrado: P L A Y F I R B C D E G H K M N O Q S T U V W X Z Tabla 4.1. Ejemplo de Playfair Para cifrar, en el texto en claro se suprimen espacios en blanco y signos de puntuación. Seguidamente se divide el texto en pares de letras, insertando una ‘X’ entre dos letras iguales cuando éstas estén en el mismo par; o al final del texto, si queda una letra suelta. Por ejemplo, supongamos que vamos a cifrar el siguiente texto: ‘AVISTADO BUQUE ENEMIGO’. Lo separamos en bloques de dos letras del siguiente modo: AV IS TA DO BU QU EX EN EM IG OX Obsérvese la inserción de las ‘X’. Ahora, cada pareja de letras se transforma en otro par de letras de texto cifrado en función de las siguientes tres posibilidades: 1. Si las dos letras no están en la misma fila ni en la misma columna, entonces se cambia cada letra por la que está en su misma fila pero en la columna de la otra letra. Por ejemplo, usando el cuadro mostrado en la Tabla 4.1, el par ‘AV’ verifica la condición señalada y se transforma en ‘LW’ (ya que ‘L’ es la letra que está en la fila de ‘A’ y en la columna de ‘V’, y ‘W’ está en la fila de ‘V’ y en la columna de ‘A’). Análogamente, ‘IS’ se cambia por ‘CN’ y ‘TA’ se reemplaza por ‘QF’. 59
  • 68. 4. CIFRADOS POLIGRÁFICOS 2. Si las dos letras se encuentran en la misma fila, se sustituye cada una de ellas por la que se encuentra a su derecha. En este caso, si una de las letras es la última de su fila, se reemplaza por la primera de dicha fila. Así, en nuestro ejemplo, el par ‘LF’ se cambia por ‘AP’ y ‘ME’ por ‘EG’. 3. Si las letras se localizan en la misma columna, entonces se reemplaza cada una de ellas por la que está debajo. Como en el caso anterior, si una de las letras es la última de su columna, se cambia por la primera de tal columna. Con nuestro cuadro, ‘CS’ se cambia por ‘KX’ y ‘UN’ por ‘PU’. De este modo, el texto pleno anterior ‘AVISTADO BUQUE ENEMIGO’ se cifra con la Tabla 4.1 como ‘LWCNQFRTIWNWKUNUGERESV’: AV IS TA DO BU QU EX EN EM IG OX ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ LW CN QF RT IW NW KU NU GE RE SV (En las transmisiones telegráficas, era costumbre agrupar el texto cifrado en bloques de cinco letras e insertar un espacio en blanco entre dos bloques. Con ello se advertían mejor los posibles errores debidos a una mala transmisión. Por ejemplo, el texto cifrado anterior quedaría así: ‘LWCNQ FRTIW NWKUN UGERE SV’.) El descifrado de la cifra Playfair es similar al cifrado, distinguiendo también las tres posibilidades anteriores. La única diferencia está en los casos 2 ó 3; ahora hay que reemplazar las letras por las que encuentran a la izquierda o arriba, respectivamente. A primera vista, la cifra Playfair puede parecer difícil de manejar; pero, con un poco de práctica, cifrar y descifrar es sencillo. La clave es cada una de las diferentes formas de colocar las 25 letras en el cuadrado. Un razonamiento similar al que dimos en el Capítulo 1 para contar el número de claves en el cifrado por sustitución, permite concluir que el número total de claves en el cifrado Playfair es el factorial de 25: 25! = 25·24·...·2·1. No obstante, hay diferentes claves que dan lugar al mismo cifrado. Ello ocurre, por ejemplo, si las columnas del cuadrado se reordenan según la secuencia 2ª, 3ª, 4ª, 5ª y 1ª. En general, sucede que dos claves dan lugar a un mismo cifrado si una de ella se obtiene efectuando una rotación cíclica de las filas o columnas de la otra, como en la secuencia anterior. Por tanto, hay 25 cuadrados que dan lugar al mismo cifrado. Contemplando entonces todos ellos como uno solo, resulta que el número total de claves se reduce a 24! = 24·23·...·2·1 = 620448401733239439360000. En el ejemplo que hemos dado, la clave se formó a partir de la palabra ‘PLAYFAIR’. Como ya comentamos en el citado Capítulo 1, esta estrategia para formar claves facilita su memorización. Al final del capítulo mostraremos como criptoanalizar la cifra Playfair. Antes describiremos otros criptosistemas poligráficos destinados a servir como cifras de campo. 60
  • 69. 4. CIFRADOS POLIGRÁFICOS La cifra Playfair ha dado lugar a otros sistemas digráficos más fáciles de utilizar y, a la vez, más seguros. Uno de ellos es el llamado doble Playfair o cifra de los dos cuadrados. Como su nombre indica, se consideran dos cuadrados de 25 casillas y en cada uno de ellos se colocan las letras del alfabeto conforme indique la clave. Por ejemplo, los dos siguientes: D O B L E D O S C U P A Y F I A R B E F R C G H K G H I K L M N Q S T M N P Q T U V W X Z V W X Y Z Tabla 4.2. Ejemplo de doble Playfair. Como en la cifra Playfair, el texto en claro se divide en bloques de dos letras. Ahora sólo es necesario insertar una ‘X’ al final del texto si el número de letras es impar. Para cifrar un par, la primera letra se localiza en el primer cuadrado y la otra en el segundo. Si ambas letras no están en la misma fila, se procede como en la regla 1 de la cifra Playfair, cambiando cada letra por la que está en su misma fila y en la columna de la otra letra. Si las dos letras están en la misma fila, se sustituye una por la otra. Con el ejemplo que proporciona la Tabla 4.2, el par ‘EN’ se transforma en ‘OT’; y el par ‘AE’ en ‘EA’. El método de los dos cuadrados fue utilizado por los alemanes en la Segunda Guerra Mundial, aunque con alguna variante. En la cifra que ellos denominaron “Doppelkastenschlüssel”, se comenzaba dividiendo el mensaje en grupos de un mismo número de letras. El primer grupo se colocaba encima del segundo, el tercero sobre el cuarto, etcétera. Por ejemplo, si dividimos el mensaje en claro ‘ENVIEN REFUERZOS URGENTEMENTE’ en grupos de cinco letras, nos queda: ENVIE ERZOS TEME NREFU URGEN NTEX Ahora se va cifrando cada par vertical. Se comienza con el par ‘EN’, después ‘NR’, luego ‘VE’, etcétera. Con los dos cuadrados de la Tabla 4.2, el mensaje anterior se cifra como ‘OTNAYAFIUEUEHPVKCANSNTUTQPSZ’. En vedad, la “Doppelkastenschlüssel” es un doble cifrado. La división del texto en claro en grupos de un mismo número de letras y la posterior disposición de estos grupos según se ha indicado, equivale a efectuar una reordenación de las letras; esto es, a una transposición. Así, si el número de letras de cada grupo es cinco, este proceso equivale a reordenar el texto de este modo: 1ª letra, 6ª letra, 2ª letra, 7ª letra, 3ª letra, 8ª letra, etc. Una vez sometido el texto en claro a esta transposición, el resultado se vuelve a cifrar con 61
  • 70. 4. CIFRADOS POLIGRÁFICOS el método de los dos cuadrados. Como es de esperar, el cifrar un texto más de una vez persigue aumentar la fortaleza del criptosistema empleado. En 1859, Pliny E. Chase, profesor de filosofía y lógica en Filadelfia, publicó en la revista americana Mathematical Monthy el interesante criptosistema que describimos a continuación. Se parte de un rectángulo dividido en 30 casillas dispuestas en tres filas y diez columnas. En las casillas se colocan las letras del alfabeto en el orden que determine la clave. Para que no queden casillas vacías, se amplía previamente el alfabeto con algunos signos hasta conseguir un total de 30 elementos, tantos como casillas. Uno de estos signos puede ser el espacio en blanco, que podemos representar por el signo ‘·’. Las tres filas del rectángulo se enumeran 1, 2 y 3; y las columnas de 0 a 9. Un ejemplo de la configuración que se obtiene puede ser el siguiente: 0 1 2 3 4 5 6 7 8 9 1 N Q M G B W · J T E 2 F A X P Y I Ñ O D V 3 S $ H Z C L & R U K Tabla 4.3. Ejemplo de cifrado de Chase. Cada letra del alfabeto tiene ahora asociada un par de números: los números de la fila y columna a las que pertenece. Son sus coordenadas. Así, las coordenadas de la letra ‘H’ según nuestro ejemplo son 3, 2; las de ‘V’ son 2, 9. Como hemos incluido el espacio en blanco en el alfabeto (representado con el signo ‘·’), no es necesario suprimir tales espacios en el texto a cifrar; únicamente hay que eliminar los signos no incluidos en el alfabeto. A continuación, el texto en claro se divide en bloques con un número de letras acordado por el emisor y el receptor. Por ejemplo, supongamos que este número es cuatro y que vamos a cifrar el texto ‘ATAQUEN AL AMANECER’. Los bloques obtenidos son: ATAQ UEN· AL·A MANE CER$ El último bloque lo hemos completado con el signo ‘$’ para alcanzar el tamaño convenido de cuatro letras. Cada uno de los bloques se cifra del siguiente modo: se escriben verticalmente las coordenadas de las letras que lo componen, obteniéndose para cada bloque un par de números de cuatro cifras cada uno: ATAQ UEN· AL·A MANE CER$ ↓ ↓ ↓ ↓ ↓ 2121 3111 2312 1211 3133 1811 8906 1561 2109 4971 62
  • 71. 4. CIFRADOS POLIGRÁFICOS Al primero de los números de cada par se le añade aleatoriamente y a su izquierda un 1, un 2 ó un 3. El segundo de estos números se multiplica por 9. Se obtiene así un nuevo par de números, ahora de cinco dígitos: 22121 13111 12312 31211 23133 16299 80154 14049 18981 44739 El nuevo par de números contiene las coordenadas de un bloque de cinco letras. Al igual que antes, estas coordenadas se leen verticalmente: 22121 13111 12312 31211 23133 16299 80154 14049 18981 44739 ↓ ↓ ↓ ↓ ↓ AÑMVE TSQWB QYSBV $TVTQ YCJZK Y por último, el texto cifrado es la secuencia de los bloques así obtenidos: ‘AÑMVETSQWBQYSBV$TVTQYCJZK’. El proceso de descifrado consiste en seguir el camino inverso al anterior. Se parte el texto cifrado en bloques de cinco letras que proporcionan pares de números de cinco cifras. Al primer número de cada par se le suprime su cifra de la izquierda; y el segundo se divide por 9. Con los pares de números que se obtienen se determina ya el texto en claro. La clave en este criptosistema es el modo de disponer las 30 letras del alfabeto en las casillas del rectángulo. El número de claves distintas es el factorial de 30. El criptosistema de Chase nunca fue usado en la práctica, a pesar de que reúne las dos características que debían presentar las cifras de campo: facilidad en su uso y seguridad. De hecho, su seguridad es superior a aquellos que sí fueron utilizados en su tiempo. Su fortaleza radica en la idea de representar las letras del alfabeto por los dos números que hemos llamado coordenadas. En general, cuando en un criptosistema se representan las letras del alfabeto en claro por varios símbolos, se dice que es fraccionado o tomográfico. Recordemos que esta idea ya está presente en el cifrado propuesto por Polibios en el siglo II a. C. y descrito en el Capítulo 1. El siguiente criptosistema que vamos a presentar figura en algunos textos con el nombre de cifra bífida. Fue ideado en 1895 por el francés Félix Marie Delastelle; quien lo dio a conocer en su libro “Traité Elementaire de Cryptographie”, publicado siete años más tarde. Los trabajos de Delastelle y el de otros criptólogos compatriotas suyos como Bazeries, De Viaris, Kerckhoffs, Valerio… hicieron de la Criptografía francesa la mejor de su tiempo. Al igual que Wheatstone en su cifrado Playfair, Delastelle dispone las letras conforme a una clave en un cuadrado de 25 casillas en el que, como hacía Polibios, las filas y columnas se numeran del 1 al 5: 63
  • 72. 4. CIFRADOS POLIGRÁFICOS 1 2 3 4 5 1 D O M S B 2 Q U E X L 3 H T Z Y F 4 V K A P R 5 G N I W C Tabla 4.4. Ejemplo de cifra de Delastelle. En virtud del esquema proporcionado por el cuadrado, cada letra viene representada por un par de números entre 1 y 5. De nuevo podemos referirnos a ellos como sus coordenadas. Así, según la Tabla 4.4, las coordenadas de la letra ‘A’ son 4, 3. El proceso de cifrado requiere que el texto en claro, sin espacios en blanco ni signos de puntuación, se divida en bloques de una longitud acordada entre el emisor y el receptor. En el ejemplo que damos a continuación supondremos que esta longitud es cinco y cifraremos el texto ‘ESPEREN ORDENES’. Como en el método de Chase, se escriben verticalmente las coordenadas de las letras de cada uno de los bloques: ESPER ENORD ENES ↓ ↓ ↓ 21424 25141 2521 34435 32251 3234 Cada bloque ha proporcionado dos números que se escriben uno a continuación del otro y después se dividen en pares de números. Éstos son precisamente las coordenadas de las letras que componen el texto cifrado: 2142434435 2514132251 25213234 ↓ ↓ ↓ 21 42 43 44 35 25 14 13 22 51 25 21 32 34 ↓ ↓ ↓ Q K A P F L S M U G L Q T Y Así, el texto cifrado es: ‘QKAPFLSMUGLQTY’. El descifrado sigue exactamente el mismo proceso, pero en orden inverso. Como en cifrados anteriores, la clave es la manera en que se colocan las 25 letras en el cuadrado; y el número de posibles claves es el factorial de 25. Los cifrados poligráficos que hemos presentado en este capítulo caen sin mucha dificultad ante un ataque con texto pleno. Así, si el enemigo es capaz de hacerse con texto 64
  • 73. 4. CIFRADOS POLIGRÁFICOS pleno y su correspondiente cifrado, enseguida descubrirá la clave utilizada. Pero sólo podrá descifrar los pocos mensajes que fueron cifrados con ella; ya que, como señalamos anteriormente, la clave se cambia frecuentemente en estos cifrados. Además, en el contexto en el que operan las que hemos llamado cifras de campo, la utilidad de la información que contienen los criptogramas caduca en muy poco tiempo. Pasado este tiempo no merece la pena efectuar el criptoanálisis, lo interesante es descifrarlos poco después de su emisión. En tan breve intervalo temporal es muy difícil hacerse con algún texto en claro, únicamente podrá disponerse de los mensajes cifrados interceptados. Y sólo constarán de unas pocas líneas, las mínimas necesarias para comunicar unas órdenes de manera clara y precisa. Se trata entonces de criptoanalizar textos cortos conociendo exclusivamente el texto cifrado y, naturalmente, el criptosistema empleado. ¿Es ello posible? En ocasiones sí, mediante el llamado método de la palabra probable. Como hemos dicho, las órdenes que transmite un cuartel general a sus unidades militares deben ser inequívocas y exactas. Ello sólo puede lograrse con el empleo de un vocabulario muy concreto y, en consecuencia, reducido. Y con frecuencia, es imposible cursar tales órdenes sin el empleo de unas determinadas palabras. Si se identifica en el texto cifrado una de estas palabras, puede iniciarse su criptoanálisis. Pero sin esta identificación, el criptoanálisis es prácticamente imposible. Usaremos el método de la palabra probable para criptoanalizar un texto cifrado con Playfair, que creemos el más débil de los criptosistemas poligráficos que hemos presentado. A tal fin, imaginemos que nos encontramos en medio de una de las numerosas guerras que tuvieron lugar en la segunda mitad del siglo XIX y que, pinchando los hilos telegráficos, hemos interceptado un mensaje que el alto mando de un ejército dirige a uno de sus comandantes en el frente. Este mensaje, cifrado en Playfair como ya hemos señalado, procede de un texto en claro escrito en español sin espacios en blanco ni signos de puntuación, y en él se han identificado la ‘j’ con la ‘i’ y la ‘ñ’ con la ‘n’. Es el siguiente: SH CQ HX XO IS QO SY BQ HE CH CE IZ CQ MN MT OA SR HQ NM CE HO HC QI KM WD IH IH SH MI UD FK FO MS QP XO AB OZ QN DV UD NS MS CH ON LZ NM MI OL FO AS MN XB QC MX SH BQ SQ VH XI MK VB NS OQ VD CE MS QF HT OD SR NM FH DU AO SR EI QC IB QB MF QN GS HC SB ID XT OD NQ MI CZ FM SH QS TB NQ QN DV UD NS MS MX OH BQ IH NQ NO NQ AB Criptograma Como puede observarse, lo hemos dividido en bigramas. Han resultado 108 en total. Hemos supuesto el conocimiento del criptosistema utilizado: Playfair. Pero si este hecho no fuese una hipótesis sino una mera sospecha, las siguientes sencillas observaciones en el texto cifrado elevarían considerablemente la probabilidad de su certeza: 65
  • 74. 4. CIFRADOS POLIGRÁFICOS 1. El número de letras que componen el texto cifrado es par, exactamente 216. Ello es porque el cifrado Playfair es digráfico. En general, en un criptosistema poligráfico la longitud de los bloques que componen los textos cifrados debe ser un divisor del número total de sus letras. 2. Ninguno de los bigramas que componen el texto cifrado contiene dos letras iguales. Lo impiden las tres reglas de cifrado que rigen el sistema Playfair. 3. No puede haber más de 25 letras distintas en el texto cifrado, ya que éste es realmente el número de letras del alfabeto utilizado. 4. En el texto cifrado figuran algunos bigramas junto con sus inversos. En el criptograma que nos ocupa notamos que aparecen varias veces los bigramas ‘NQ’ y ‘QN’, también ‘NM’ y ‘MN’. Una característica de la cifra Playfair es que si un bigrama se transforma en otro, entonces el inverso de aquel se cambia por el inverso de éste. En los textos en claro suele haber algunos bigramas que tanto ellos como sus inversos son frecuentes (por ejemplo, ‘al’ y ‘la’, o ‘er’ y ‘re’, son frecuentes en español). Y como los cifrados digráficos conservan la frecuencia de los bigramas, ello explica esta cuarta observación. El primer paso para identificar una palabra probable en el criptograma es efectuar un análisis de frecuencias con los bigramas que lo componen. Un criptosistema digráfico puede verse como una sustitución en el alfabeto compuesto por todos los bigramas posibles. En el caso particular del cifrado Playfair, el número total de tales bigramas es de 25·24=600. Como ocurre con las letras, no todos los bigramas son igualmente probables en un idioma. Ya apuntamos en el Capítulo 1 cuales son los bigramas más frecuentes en español. Si dispusiéramos de una tabla de frecuencias para los bigramas de nuestro idioma, podríamos intentar el criptoanálisis siguiendo el método descrito en el referido Capítulo 1. Ahora bien, necesitaríamos un texto cifrado muy extenso para que la correspondencia entre los bigramas más comunes de los textos en claro y cifrado fuese fiable. Nuestro criptograma es demasiado corto para aventurarse siquiera a establecer dicha correspondencia. Pero, como veremos, la siguiente tabla nos será de enorme utilidad en el criptoanálisis. Contiene los bigramas que se repiten en el texto cifrado y cuantas veces. 66
  • 75. 4. CIFRADOS POLIGRÁFICOS Bigrama Frecuencia Bigrama Frecuencia Bigrama Frecuencia MS 4 NS 3 FO 2 NQ 4 QN 3 HC 2 SH 4 SR 3 MN 2 BQ 3 UD 3 MX 2 CE 3 AB 2 OD 2 IH 3 CH 2 QC 2 MI 3 CQ 2 XO 2 NM 3 DV 2 Tabla 4.5. Bigramas repetidos en el criptograma. Fijándonos en los bigramas de la Tabla 4.5, buscamos fragmentos repetidos en el texto cifrado que contengan más de un bigrama. Sólo hay uno: ‘QN DV UD NS MS’; que figura dos veces, una en la tercera línea y otra en el último renglón. Posiblemente corresponda a una palabra muy común en el contexto del mensaje; aunque también puede suceder que sustituya a un grupo de palabras, por ejemplo a un artículo y a un sustantivo. En este segundo caso es muy difícil reconocer cuales son, pero también es menos probable que ocurra. En principio, hay que suponer que el fragmento corresponde a una sola palabra e intentar identificarla. Si no lo logramos, habrá que considerar la otra posibilidad. Notamos que el fragmento señalado comienza con el bigrama ‘QN’, que aparece tres veces en el texto cifrado. Su inverso, el bigrama ‘NQ’, también es uno de los más frecuentes en dicho texto. Admitamos entonces que ‘QN’ y ‘NQ’ corresponden a un par de bigramas muy comunes en nuestro idioma, uno inverso del otro. En español hay tres de tales parejas: ‘la’ y ‘al’, ‘re’ y ‘er’, ‘ra’ y ‘ar’; seguro que uno de estos seis es el transformado de ‘QN’. Pueden darse dos situaciones: que el bigrama ‘QN’ corresponda a las dos primeras letras de la palabra buscada, o bien a la segunda y tercera letras (este otro caso sucederá si al dividir el texto en claro en bloques de dos letras para después cifrarlo, la primera letra de la palabra probable que buscamos se empareja con la última letra de la palabra anterior). En el primer caso, dicha palabra comenzará por ‘la’, ‘al’, ‘re’, ‘er’, ‘ra’ o ‘ar’ y tendrá 10 u 11 letras. En el segundo, uno de estos bigramas será su segunda y tercera letra; y dicha palabra constará de 11 ó 12 letras. Se trata entonces de encontrar palabras con estas características y que, además, pertenezcan a un vocabulario típico militar que forzosamente debe estar presente en nuestro mensaje. En esta tarea es conveniente disponer de un glosario que recoja términos propios del lenguaje militar. En él localizaríamos fácilmente dichas palabras. Por ejemplo, las siguientes: ‘artillería’, ‘reconquista’, ‘regimiento’, ‘resistencia’, ‘retaguardia’ ó ‘transmisión’. Y quizás algunas más, pero no muchas. Ahora hemos de decidirnos por una de ellas, aquella que nuestra intuición considere más probable. En el caso que nos 67
  • 76. 4. CIFRADOS POLIGRÁFICOS ocupa optamos por ‘regimiento’. Tenemos razones para ello: el mensaje va dirigido a un coronel que comanda un regimiento de infantería. Como ‘regimiento’ tiene diez letras, se corresponde exactamente con el fragmento señalado en el texto cifrado: ‘QN DV UD NS MS’. Ello implica las siguientes transformaciones de bigramas: re gi mi en to ↓ ↓ ↓ ↓ ↓ QN DV UD NS MS Si estas sustituciones son correctas, el proceso deductivo que ahora iniciamos nos llevará de de forma progresiva al desciframiento del criptograma y al descubrimiento del cuadrado que constituye la clave. Por el contrario, si tales transformaciones son incorrectas, enseguida llegaremos a una contradicción y habremos de considerar otra palabra probable. En primer lugar, puesto que si un bigrama se reemplaza por otro entonces el inverso de aquel se cambia por el inverso de éste, obtenemos las transformaciones de los inversos de los bigramas anteriores. Por tanto, ‘NQ’, ha sustituido a ‘er’; ‘VD’ a ‘ig’; y ‘UD’ a ‘im’. (No es necesario considerar las otras dos transformaciones, ya que los bigramas ‘SN’ y ‘SM’ no aparecen en el criptograma.) Veamos si todas estas sustituciones permiten completar alguna otra palabra en el texto cifrado que nos proporcione nuevas transformaciones. Para ello, escribamos debajo de los bigramas ya identificados sus correspondientes de texto en claro. Tras hacerlo, únicamente se descubre una nueva palabra en la cuarta línea del criptograma. Tal línea queda así: SH BQ SQ VH XI MK VB NS OQ VD CE MS QF HT OD SR NM FH en ig to La palabra ‘enemigo’ (o ‘enemiga’) encaja perfectamente y es muy frecuente en el contexto del mensaje. Nos proporciona una nueva sustitución: ‘em’→‘OQ’; y la que corresponde a los inversos: ‘me’→‘QO’, que figura una vez en el texto. No obstante, estas nuevas sustituciones no permiten descubrir alguna otra palabra de texto en claro que proporcione a su vez más transformaciones. Se hace necesario comenzar un análisis encaminado a reconstruir parcialmente el cuadrado que forma la clave, para así obtener nuevas sustituciones e ir poco a poco completando el texto en claro. Este análisis parte de las seis transformaciones que suponemos correctas. Consideremos la transformación ‘en’→‘NS’. La ‘N’ está presente en el bigrama ‘en’ y en su sustituto ‘NS’. En virtud de las tres reglas que rigen el cifrado Playfair, ello sólo es posible si las tres letras ‘E’, ‘N’ y ‘S’ están situadas en la misma fila o en la misma columna del cuadrado. Si se encuentran en la misma fila, la ‘N’ debe situarse a la derecha de la ‘E’ y a la izquierda de la ‘S’. Y si se encuentran en la misma columna, la ‘N’ debe 68
  • 77. 4. CIFRADOS POLIGRÁFICOS estar debajo de la ‘E’ y encima de la ‘S’. Esto es, el cuadrado que determina la clave presenta una de estas dos configuraciones: E E N S N S a) b) Consideremos ahora la sustitución ‘re’→‘QN’. Si es el resultado de aplicar la primera regla Playfair, entonces la letra ‘R’ debe estar en la misma fila que la ‘Q’ y en la misma columna que la ‘N’, y la ‘E’ en la fila de la ‘N’ y en la columna de la ‘Q’. Ello implica que ha de darse la configuración a) de antes; y dicha configuración da lugar a la que identificamos más abajo con un 1. Si ha ocurrido que la transformación ‘re’→‘QN’ ha sido el resultado de aplicar la segunda regla, entonces estas cuatro letras han de estar en la misma fila, la‘Q’ a la derecha de la ‘R’ y la ‘N’ a la derecha de la ‘E’. De nuevo, ello obliga a la situación a) de antes; y entonces dicha fila se completa colocando ‘RQ’ a la derecha, según se indica más abajo con un 2. Por último, si la transformación ‘re’→‘QN’ ha sido producto de la tercera regla, entonces las cuatro letras están en la misma columna, la‘Q’ debajo de la ‘R’ y la ‘E’ encima de la ‘N’. Estamos en el caso b) previo y la columna se completa con ‘RQ’ debajo de ‘ENS’, como en 3: E Q R N | | E N S R Q S E N S R Q 1 2 3 (La barra entre dos letras indica la posibilidad de que tales letras sean adyacentes o que pueda haber otras entre ellas.) Vayamos con la transformación ‘to’→‘MS’. Si se da el caso 1 anterior, entonces tal transformación no ha sido producto de la segunda regla de cifrado (porque ello implicaría que las cuatro letras ‘T’, ‘O’, ‘M’ y ‘S’ están en la misma fila que la ‘E’ y la ‘N’; y no puede ser, las filas sólo tienen cinco letras). Ha tenido que ser consecuencia de la primera o tercera reglas. Si ha tenido lugar la primera regla, entonces las cuatro citadas letras forman un rectángulo; con la ‘T’ y la ‘M’ en una fila y la ‘O’ y la ‘S’ en otra. Si ha acontecido la tercera regla, las cuatro letras están situadas en la misma columna; con la ‘T’ encima de la ‘M’ y la ‘S’ debajo de la ‘O’. Ello abre los dos subcasos que hemos llamado 1.1 y 1.2: 69
  • 78. 4. CIFRADOS POLIGRÁFICOS Q R Q R | | | | O E N S — O E N S | | | T — M T M 1.1 1.2 En el caso 2, la sustitución ‘to’→‘MS’ sólo ha podido ocurrir mediante la tercera regla; ya que la‘O’ no está en la fila de la ‘S’. En consecuencia, las cuatro letras ‘T’, ‘O’, ‘M’ y ‘S’ han de situarse en la misma columna del cuadrado; de nuevo con la ‘T’ encima de la ‘M’ y la ‘S’ debajo de la ‘O’. Y en el caso 3, la transformación ‘to’→‘MS’ sólo ha podido ocurrir mediante la segunda regla; ya que la‘T’ no está en la columna de la ‘S’. Por tanto, las letras ‘T’, ‘O’, ‘M’ y ‘S’ han de encontrarse en la misma fila; con la ‘M’ a la derecha de la ‘T’ y la ‘S’ a la izquierda de la ‘O’. Así, las configuraciones 2 y 3 quedan ahora de este modo: O E E N S R Q N | O S ─ T M T R M Q 2 3 Ahora podemos usar la transformación ‘em’→‘OQ’ para decidir cual de las cuatro posibles disposiciones es la correcta. Contemplemos la 1.1. En ella sí es posible esta transformación, mediante la primera regla de cifrado. Además, situaría a la ‘M’ y a la ‘Q’ en la misma línea. En las otras tres configuraciones es imposible la transformación ‘em’→‘OQ’; puesto que las cuatro letras ‘E’, ‘M’, ‘O’ y ‘Q’ ni forman un rectángulo, ni están en la misma fila o columna. Por tanto, hemos de quedarnos con la disposición 1.1; y, como hemos dicho antes, situando la ‘M’ en la fila de la ‘Q’: Q R T ─ M | | | ─ | E N S — O 1.1 La figura va tomando forma y aún disponemos de dos transformaciones para poder ampliarla. Pero antes, la podemos utilizar para conseguir otras nuevas. Por ejemplo, usando la primera regla de cifrado obtenemos las siguientes sustituciones, todas ellas presentes en el criptograma: ‘ro’→‘MN’, ‘or’→‘NM’, ‘te’→‘QS’, ‘et’→‘SQ’ y ‘nt’→‘SR’. 70
  • 79. 4. CIFRADOS POLIGRÁFICOS Consideremos el cambio ‘mi’→‘UD’. No puede ser consecuencia de la segunda regla de cifrado; ya que ello implicaría que las letras ‘M’, ‘I’, ‘U’ y ‘D’ estarían en una misma fila y ya no es posible en 1.1. Examinemos si puede provenir de la primera regla. En tal caso, la ‘M’ y la ‘U’ deben compartir fila; precisamente la fila de arriba de 1.1. Luego o bien la ‘U’ está situada entre la ‘T’ y la ‘M’, o está a la derecha de esta última letra. Y como también hemos de colocar a la ‘I’ y la ‘D’ en una misma fila, formando un rectángulo con la ‘M’ y la ‘U’, la configuración 1.1 admite estas dos posibilidades: I D D I | | | | Q R T U M Q R T M U | | | | | | | | | | E N S * O E N S O * 1.1.a 1.1.b (El asterisco * representa una letra todavía no determinada.) Veamos si en estas figuras es posible encuadrar la sustitución que queda: ‘gi’→‘DV’. Puesto que la ‘I’ y la ‘D’ comparten fila, esta transformación sólo es posible mediante la segunda regla de cifrado. Ello sitúa a las cuatro letras en la misma fila, la ‘D’ a la derecha de la ‘G’ y la ‘I’ a la izquierda de la ‘V’. Pero en 1.1.a la ‘D’ ya está justo a la derecha de la ‘I’ y, en consecuencia, no es posible colocarla a la derecha de la ‘G’. Tal contradicción obliga a desestimar 1.1.a. Pero no 1.1.b, donde sí es factible el orden que hemos deducido para estas letras; de este modo: V * G D I | | | | | Q R T M U | | | | | E N S O * 1.1.b No obstante, de nuevo vamos a llegar a otra contradicción. La configuración 1.1.b nos trae la sustitución ‘*v’→‘EI’. Llevándola al criptograma, junto con las ya descubiertas, el quinto renglón comienza así: DU AO SR EI QC im nt *v El asterisco debe ser una vocal: la ‘a’, que es la única que falta en 1.1.b. Pero entonces se obtiene la transformación ‘os’→‘AO’ y, en consecuencia, el fragmento de texto en claro queda ‘imosntav’, sin sentido alguno. Ello obliga a rechazar también la disposición 1.1.b. 71
  • 80. 4. CIFRADOS POLIGRÁFICOS Queda analizar la posibilidad que la transformación ‘mi’→‘UD’ proceda de la tercera regla. En tal caso, las cuatro letras ‘M’, ‘I’, ‘U’ y ‘D’ deben situarse en una misma columna; con la ‘U’ debajo de la ‘M’ y la ‘I’ encima de la‘D’. Ahora bien, en la figura 1.1 ya está la ‘O’ en la columna de la ‘M’. Por tanto, la‘O’ es la quinta letra de dicha columna y, en virtud de lo anterior, sólo quedan dos posiciones para ella: o debajo de la ‘U’, o debajo de la ‘D’. Se obtienen así estas dos ampliaciones posibles de 1.1: Q R T ─ M Q R T ─ M * * * ─ U * * * ─ U E N S ─ O * * * ─ I * * * ─ I * * * ─ D * * * ─ D E N S ─ O 1.1.c 1.1.d Examinemos si alguna de ellas es factible. El cuadro 1.1.c da lugar a estas tres sustituciones: ‘oi’→‘ID’, ‘ui’→‘OD’ y ‘do’→‘MI’; mientras que 1.1.d proporciona estas otras: ‘ui’→‘ID’, ‘di’→‘OD’ y ‘ou’→‘MI’. Teniéndolas en cuenta, el bloque ‘ID XT OD NQ MI’, situado al final de la quinta línea del criptograma, corresponde, respectivamente, a: ID XT OD NQ MI ID XT OD NQ MI oi ** ui er do ui ** di er ou Con 1.1.c Con 1.1.d El fragmento revelado con 1.1.c descubre la palabra ‘izquierdo’, mientras que con 1.1.d dicho fragmento no parece tener sentido alguno. Se sigue entonces que la configuración 1.1.c es la correcta; y que también son válidas las sustituciones a que ha dado lugar. Además, la palabra ‘izquierdo’ produce una nueva transformación: ‘zq’→‘XT’. Mirando la figura 1.1.c vemos que forzosamente ha debido obtenerse con la primera regla de cifrado. Ello sitúa a la ‘Z’ en la columna de la ‘T’ y a la ‘X’ en la columna de la ‘Q’: X * Z | | | Q R T ─ M Pero entonces, el bigrama ‘MX’ debe ser el sustituto de otro cuya primera letra es la ‘q’. Puesto que detrás de la ‘q’ siempre viene la ‘u’, este bigrama es precisamente ‘qu’. Conseguimos la transformación ‘qu’→‘MX’, que figura dos veces en el criptograma; y además, tal transformación coloca a la ‘X’ en la misma fila que la ‘U’. La disposición de las letras en el cuadrado que determina la clave va quedando según el siguiente dibujo: 72
  • 81. 4. CIFRADOS POLIGRÁFICOS Q R T ─ M X * Z ─ U E N S ─ O * * * ─ I * * * ─ D 1.1.c Se obtienen entonces dos nuevas transformaciones: ‘ue’→‘XO’, que está presente dos veces en el texto; y ‘su’→‘OZ’, que aparece una vez. Es hora ya de trasladar al criptograma todas las sustituciones descubiertas y observar como queda: SH CQ HX XO IS QO SY BQ HE CH CE IZ CQ MN MT OA SR HQ ue *o me *u ro nt NM CE HO HC QI KM WD IH IH SH MI UD FK FO MS QP XO AB or m* do mi to ue OZ QN DV UD NS MS CH ON LZ NM MI OL FO AS MN XB QC MX su re gi mi en to or do ro qu SH BQ SQ VH XI MK VB NS OQ VD CE MS QF HT OD SR NM FH et u* en em ig to ui nt or DU AO SR EI QC IB QB MF QN GS HC SB ID XT OD NQ MI CZ im nt o* re oi zq ui er do FM SH QS TB NQ QN DV UD NS MS MX OH BQ IH NQ NO NQ AB te er re gi mi en to qu er er A pesar del número de sustituciones descubiertas, todavía no puede descifrarse por completo el criptograma. Pero ya falta poco. Fijémonos en el bloque siguiente, obtenido al juntar el final de la cuarta línea y el comienzo de la quinta: HT OD SR NM FH DU AO SR EI ui nt or im nt o* En él ya asoma ‘quinto regimiento’; y ello nos trae dos nuevas sustituciones: ‘eg’→‘FH’ y ‘ie’→‘AO’. Mirando el cuadro 1.1.c, esta segunda transformación sitúa la ‘A’ en la columna de la ‘E’, justo debajo de ella. Una vez colocada, observamos que la transformación ‘eg’→‘FH’ sólo puede haber sido producida por la primera regla. La ‘H’ debe estar en la misma columna que la ‘E’; en el único lugar que queda libre, debajo de la recién colocada ‘A’. La ‘F’ ha de situarse en la misma fila que la ‘E’; en uno de los dos 73
  • 82. 4. CIFRADOS POLIGRÁFICOS lugares que quedan libres: entre la ‘S’ y la ‘O’ o a la derecha de ésta última letra. La ‘G’ está obligada a ubicarse en la misma fila que la ‘H’ y en la columna de la ‘F’. Y dicha columna debe completarse con la ‘V’, en virtud de la ya olvidada sustitución ‘gi’→‘DV’. Todo este argumento revela nuevas posiciones de letras en la clave; pero abre también dos caminos, en función de la posición de la ‘F’: Q R T * M Q R T M * X * Z * U X * Z U * E N S F O E N S O F A * * V I A * * I V H * * G D H * * D G 1 2 Aunque ya es fácil averiguar cual es el correcto. Las dos disposiciones anteriores nos traen las nuevas sustituciones ‘ah’→‘HQ’, ‘ei’→‘OA’ y ‘de’→‘HO’. Y también en ambas el bigrama ‘MT’ sustituye a otro cuya segunda letra es la ‘r’. Entonces, uniendo el final del primer renglón con el comienzo del segundo, se obtiene ya el siguiente bloque: CQ MN MT OA SR HQ NM CE HO ro *r ei nt ah or de Se revela el fragmento ‘treinta horas’. Esto significa que ‘MT’ reemplaza a ‘tr’, que es lo que sucede con la segunda disposición. Ella es entonces la correcta. Además, este mismo fragmento implica también la transformación ‘as’→‘CE’; que sitúa a la ‘C’ en la fila de la ‘A’ y en la columna de la ‘S’. Y de este modo seguiríamos hasta descubrir todo el texto en claro y completar el cuadrado que determina la clave. El texto en claro es el siguiente: El ataque comenzará a las cuatro treinta horas de la madrugada del domingo. Stop. Mueva su regimiento al sector dos dos cero y ataque la retaguardia enemiga. Stop. El quinto regimiento atacara por el flanco izquierdo. Stop. El tercer regimiento quedará de reserva. La clave es la que se muestra a continuación: Q R T M P X Y Z U W E N S O F A B C I V H K L D G Si se efectúa una rotación cíclica de las filas y columnas que nos lleve la ‘O’ a la casilla de la primera fila y columna, se llegará a un cuadrado en el que se leerá la palabra ‘OFENSIVA’. En realidad, este segundo cuadrado es el que hemos usado para cifrar el 74
  • 83. 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
  • 85. 5 CIFRADOS POR TRANSPOSICIÓN Recordemos en primer lugar que con este genérico nombre se designa a cualquier criptosistema consistente en una reordenación de las letras de los textos en claro. Esta forma de cifrado hace su aparición en la historia de la Criptografía muy pronto, en el siglo V a. C., con el escítalo espartano descrito en el Capítulo 1. Pero su presencia es totalmente marginal hasta que, a mediados del siglo XIX, la Criptografía militar ve en las transposiciones la cifra de campo ideal. La razón de ello está en la sencillez de los procesos de cifrado y descifrado. Más simples que en los anteriormente estudiados criptosistemas poligráficos, la otra opción disponible después que Kasiski publicara su método de criptoanálisis para las sustituciones polialfabéticas. En contrapartida, la seguridad que ofrecen los cifrados por transposición es inferior a la de los poligráficos. Claro que esto no se supo hasta que no fueron sometidos a la acción de los criptoanalistas, ya en la Primera Guerra Mundial. Se produce una transposición con sólo escribir el texto en claro siguiendo una trayectoria diferente a la que todos hemos convenido en utilizar, que en Occidente es de izquierda a derecha y de arriba abajo. Así, escribiendo de derecha a izquierda conseguimos un texto cifrado por transposición: ‘SEVERLAOTIRCSE’. Aunque, evidentemente, tarde o temprano todo el mundo se dará cuenta de ello. Pero simplemente escribiendo con una trayectoria no horizontal y a continuación reescribiendo en el modo habitual, obtenemos un cifrado que despistará a cualquiera no iniciado en el criptoanálisis. Por ejemplo, uno de los métodos de cifrado empleado por el ejército confederado en la guerra de secesión americana fue el conocido como “rail fence”, que consiste en escribir primero en zigzag en dos o más renglones: E I N Z S R T E Z G A C O I G El texto cifrado es el siguiente: ‘EINZSRTEZGACOIG’. 77
  • 86. 5. CIFRADOS POR TRANSPOSICIÓN He aquí otra simpática muestra: O D I U F R N O R A R C M V S E A A C S Y el criptograma que se obtiene: ‘ODIUFRNORARCMVSEAACS’. Más posibilidades se presentan si la escritura del texto en claro forma una figura geométrica regular como, por ejemplo, un cuadrado. Escribamos el texto ‘CIFRADO POR TRANSPOSICIÓN’ formando un cuadrado 5×5: C I F R A D O P O R T R A N S P O S I C I O N Podemos producir múltiples criptogramas reescribiendo las letras de diversos modos. He aquí algunos: Por columnas: ‘CDTPIIOROOFPASNRONIARSC’. Por filas, al revés: ‘ARFICROPODSNARTCISOPNOI’ En diagonal: ‘CIDFOTRPRPAOAOIRNSOSINC’. En fin, no hay límites a las maneras de diseñar cifrados por transposición. Pero aún siendo simple el proceso de cifrado en los ejemplos anteriores, en él pueden distinguirse dos fases. La primera es aquella en la que escribimos el texto en claro (únicamente las letras) siguiendo un determinado diseño que, por lo general, conduce a formar una figura geométrica. En la segunda fase, se obtiene el texto cifrado reescribiendo las letras según el modo convenido entre el emisor y el receptor del mensaje. Este último, para recuperar el texto en claro, deberá deshacer los dos pasos anteriores. Ahora bien, todavía no hemos mostrado ningún criptosistema por transposición; sólo las muchas opciones para su diseño. Recordemos que para definir un criptosistema es imprescindible hablar de las claves y de como actúan en los procesos de cifrado y descifrado. Es lo que haremos a continuación: presentar con precisión algunos criptosistemas por transposición, aquellos que consideramos más característicos. En todos ellos emplearemos nuestro alfabeto español de 27 letras y, por tanto, ignoraremos los espacios en blanco y los signos de puntuación que contengan los textos en claro. El más sencillo de este tipo de criptosistemas es la transposición de columnas. También ha sido el más recurrido; con frecuencia en combinación con otro cifrado de 78
  • 87. 5. CIFRADOS POR TRANSPOSICIÓN distinta categoría como, por ejemplo, una sustitución. En la transposición de columnas se parte de una clave que consta de un entero n y una reordenación de los números 1, 2, 3, ..., n. En la práctica, estos datos se obtienen considerando una palabra o grupo de palabras; el entero n es el número de letras que tiene y la reordenación referida la proporciona el orden alfabético de sus n letras. Por ejemplo, consideremos la palabra de 13 letras ‘TRANSPOSICION’ y coloquemos debajo de sus letras el número que corresponde al orden alfabético: T R A N S P O S I C I O N 13 10 1 5 11 9 7 12 3 2 4 8 6 Obtenemos la clave formada por el entero n = 13 y esta reordenación de los trece primeros números: 13, 10, 1, 5, 11, 9, 7, 12, 2, 4, 8, 6. Fijada la clave, el texto en claro se dispone formando un rectángulo con exactamente n columnas. El texto cifrado se obtiene al escribir secuencialmente las columnas en el orden proporcionado por la clave. Un ejemplo aclarará completamente este proceso. Cifremos con la clave que proporciona la palabra ‘TRANSPOSICION’ el texto ‘REUNION EN EL CUARTEL GENERAL EL LUNES A LA UNA DE LA TARDE’. Primero formamos el rectángulo con 13 columnas: T R A N S P O S I C I O N 13 10 1 5 11 9 7 12 3 2 4 8 6 R E U N I O N E N E L C U A R T E L G E N E R A L E L L U N E S A L A U N A D E L A T A R D E Y después escribimos secuencialmente las columnas según la clave: ‘UTUA ERU NEA LAN NENT UED NEAD CLA OGSR ERLL ILEA ENLE RALE’. Ahora bien, este texto no puede presentarse como texto cifrado. En él hemos insertado espacios en blanco separando las columnas para que éstas se observen; pero mantener dichos espacios en blanco en el texto cifrado revelaría ya el dato n, el número de columnas. Por ello, el texto cifrado es el texto anterior pero sin espacios en blanco. También puede seguirse el estándar de agrupar las letras en bloques de cinco; tal y como realmente se hacía en la práctica, para identificar posibles errores en las transmisiones telegráficas. Según este convenio, el texto cifrado quedaría así: ‘UTUAE RUNEA LANNE NTUED NEADC LAOGS RERLL ILEAE NLERA LE’. Para descifrar este mensaje, el receptor del mismo ha de contar primero el número de letras que consta; 47 en este caso. Seguidamente, ha de dividir 47 entre 13 (el número de columnas). Se obtiene 3 como cociente y 8 de resto. Ello indica que las 8 primeras columnas del rectángulo constan de cuatro letras y las 5 restantes de tres. Teniendo esto 79
  • 88. 5. CIFRADOS POR TRANSPOSICIÓN en cuenta, el receptor ha de rellenar las columnas con el texto cifrado siguiendo el orden determinado por la clave. Cuando termine, recuperará el mensaje en claro. Una clave con pocas letras puede facilitar el trabajo del criptoanalista, mientras que otra con muchas puede ser difícil de memorizar. Así pues, una buena elección práctica oscilaría entre 7 y 25 letras, por poner unas cifras. Incluso con estos límites el número de claves diferentes es muy elevado. Recordemos que, fijado un entero n, el número de reordenaciones de los números 1, 2, 3..., n es el factorial de n: n! = n·(n−1)·...·2·1, que enseguida es un número muy grande. Por ejemplo, 10! = 3628800. Ya hemos dicho que la seguridad no es la principal característica de las transposiciones. Añadimos ahora que todas las que se llevaron a la práctica fueron criptoanalizadas a partir de texto cifrado únicamente. Dentro de esta categoría de cifrados, la transposición de columnas presenta una seguridad intermedia. Lo difícil de su criptoanálisis es descubrir el número de columnas e identificarlas, obtener después su orden correcto es más sencillo. Para no facilitar esta tarea al criptoanalista, la última fila del rectángulo debe quedar siempre incompleta. Si da la casualidad que tal fila se llena, han de añadirse algunas letras nulas al final del texto en claro para que éste continúe en una nueva pero incompleta fila. La seguridad aumenta notablemente si se efectúa una doble transposición de columnas. Esto es, si el texto cifrado que resulta de una simple transposición de columnas es sometido de nuevo a una segunda transposición de este tipo. Habitualmente, esta segunda transposición está regida por la misma clave que la primera, pero puede utilizarse otra distinta. Efectuar una segunda transposición de columnas con el texto cifrado del ejemplo previo y con la misma clave ‘TRANSPOSICION’ produce el siguiente resultado: T R A N S P O S I C I O N 13 10 1 5 11 9 7 12 3 2 4 8 6 U T U A E R U N E A L A N N E N T U E D N E A D C L A O G S R E R L L I L E A E N L E R A L E Texto cifrado: ‘UNGLA AIEEL LDLAT SENLA UDRLA CEREE ATEON EURRN NLEUN AE’. La doble transposición de columnas es uno de los cifrados por transposición más seguros que hayan sido puestos en uso. Fue la cifra de campo preferida de muchos ejércitos hasta la Primera Guerra Mundial, entre ellos el alemán y el americano. También estuvo presente en la Segunda Guerra Mundial. Fue cifra de emergencia de la “Wehrmarcht” alemana y criptosistema habitual de la resistencia holandesa y el maquis francés. 80
  • 89. 5. CIFRADOS POR TRANSPOSICIÓN El siguiente criptosistema que vamos a introducir recibe el nombre de transposición de los nihilistas rusos, por ser usado por este grupo anarquista que surgió en la Rusia zarista de la segunda mitad del siglo XIX. Las claves son las mismas que en las transposiciones de columnas, pero el proceso de cifrado es más complicado y se entenderá mejor si lo describimos apoyándonos en un ejemplo. Consideremos entonces la clave que origina la palabra ‘COMUNA’ y cifremos con ella el texto en claro: ‘EL FIN POLITICO DE LOS NIHILISTAS RUSOS ERA UNA RUSIA SIN ESTADO’. El primer paso del proceso de cifrado consiste en dividir el texto en claro en fragmentos de n2 letras y formar con cada uno de ellos un cuadrado n×n. (Recordemos que n es el número de letras de la clave). En el ejemplo que exponemos, como n = 6 y el texto contiene 53 letras, éste se divide en dos partes, una de 36 letras y otra más corta de sólo 17. Cada una de ellas se inscribe entonces en un cuadrado 6×6, resultando incompleto el segundo: 1 2 3 4 5 6 1 2 3 4 5 6 1 E L F I N P 1 U N A R U S 2 O L I T I C 2 I A S I N E 3 O D E L O S 3 S T A D O 4 N I H I L I 4 5 S T A S R U 5 6 S O S E R A 6 Cuadrado 1 Cuadrado 2 A continuación, se reescriben los cuadrados reordenando sus columnas de acuerdo con el orden determinado por la clave. Usando la palabra ‘COMUNA’, este orden es 2, 5, 3, 6, 4, 1. Por tanto, hay que colocar la segunda columna en primer lugar, la quinta en segunda posición, etc.: 81
  • 90. 5. CIFRADOS POR TRANSPOSICIÓN C O M U N A C O M U N A 2 5 3 6 4 1 2 5 3 6 4 1 1 L N F P I E 1 N U A S R U 2 L I I C T O 2 A N S E I I 3 D O E S L O 3 T O A D S 4 I L H I I N 4 5 T R A U S S 5 6 O R S A E S 6 Cuadrado 1 Cuadrado 2 Seguidamente, se repite la misma operación en las filas de cada cuadrado: 2 5 3 6 4 1 2 5 3 6 4 1 C 2 L I I C T O C 2 A N S E I I O 5 T R A U S S O 5 M 3 D O E S L O M 3 T O A D S U 6 O R S A E S U 6 N 4 I L H I I N N 4 A 1 L N F P I E A 1 N U A S R U Cuadrado 1 Cuadrado 2 Hecho esto, el texto cifrado es la sucesión de filas de los cuadrados, tal y como han quedado: ‘LIICT OTRAU SSDOE SLOOR SAESI LHIIN LNFPI EANSE IITOA DSNUA SRU’. El receptor del mensaje deberá seguir el proceso inverso para recuperar el mensaje: partir el texto cifrado en trozos de n2 letras, escribir cada uno en un cuadrado n×n y deshacer los reordenamientos de filas y columnas en los cuadrados. Tendrá que prestar atención con el último cuadrado, para que las casillas que resulten vacías sean las correctas. Como acabamos de ver, tras la transposición de columnas los nihilistas rusos efectuaban otra transposición de filas. Con ello, estos anarquistas creían aumentar la seguridad de su método de cifrado. Ingenua suposición. Ni aunque hubieran efectuado varias alteraciones más de filas, columnas, diagonales... habrían conseguido un criptosistema mínimamente seguro. Su proceso de cifrado se inicia dividiendo el texto en claro en fragmentos de igual longitud: n2, que después son reordenados del mismo modo. 82
  • 91. 5. CIFRADOS POR TRANSPOSICIÓN Ello debilita considerablemente el criptosistema, independientemente de lo complicada que sea la reordenación. Más adelante explicaremos el porqué. Antes, vamos a detenernos en un curioso criptosistema que fue popularizado por Julio Verne en su novela “Matías Sandorff”, publicada en 1885. Algunos textos lo atribuyen al coronel austríaco Eduard Fleissner von Wostrowitz, ya que está incluido en su obra “Handbuch der Kryptographie”, escrita en 1881. Pero su origen se remonta al menos al siglo XVIII, puesto que consta fue empleado por la administración holandesa a mediados de dicha centuria. Recibe el nombre de rejilla giratoria porque la clave es un cuadrado dividido en cuadrículas, con la cuarta parte de ellas perforadas y de modo que al girarla 90, 180 y 270 grados se descubran progresivamente todas las cuadrículas sin repetir ninguna. En la Figura 5.1 mostramos una rejilla 6×6 con nueve casillas agujereadas y verificando la condición que acabamos de describir. Figura 5.1. Ejemplo de rejilla. En la confección de la rejilla giratoria, la selección de las cuadrículas agujereadas no puede hacerse de cualquier manera. Nosotros hemos construido la rejilla de la Figura 5.1 siguiendo la estrategia que explicamos a continuación. Hemos dibujado un cuadrado 6×6 y numerado sus cuadrículas del siguiente modo: 1 2 3 7 4 1 4 5 6 8 5 2 7 8 9 9 6 3 3 6 9 9 8 7 2 5 8 6 5 4 1 4 7 3 2 1 Como puede observarse, esta numeración divide al cuadrado 6×6 en otros cuatro cuadrados de nueve casillas cada uno. Al rotar 90 grados, cada uno de estos cuatro cuadrados se traslada a otro adyacente de forma que cada una de sus cuadrículas va a 83
  • 92. 5. CIFRADOS POR TRANSPOSICIÓN parar a aquella con igual número. En consecuencia, si queremos que cada cuatro giros sucesivos de 90º se descubran todas las celdillas una única vez, hemos de perforar nueve de ellas sin hacerlo en dos con el mismo número. Puede comprobarse que en la clave de la Figura 5.1, los nueve números de las casillas descubiertas son todos distintos. La argumentación anterior permite también contar cuantas rejillas 6×6 diferentes pueden construirse. Puesto que hemos de elegir una de las cuatro casillas con el número 1, otra de las cuatro con el número 2, etc. hay 49 maneras diferentes de hacerlo. Ahora bien, como una misma rejilla puede estar en cuatro posiciones distintas y cada una de ellas corresponde a una selección diferente de los nueve agujeros, el número anterior ha de dividirse por 4. En consecuencia, hay 48 = 65536 rejillas 6×6 diferentes. (Nótese que este argumento no ha considerado iguales a una rejilla y a la que se obtiene dándole la vuelta.) En general, el número de rejillas distintas de dimensión n×n con n par, n = 2·k, es k 2 −1 4 . También pueden considerarse rejillas n×n con n impar, n = 2·k+1. En este caso, la cuadrícula central nunca debe agujerearse, ya que no cambia de posición durante los 2 giros. Ahora, el número de rejillas diferentes es 4 k +k −1 . Por ejemplo, como 7 = 2·3+1, hay 2 4 3 +3−1 = 4194304 rejillas distintas de dimensión 7×7. Descritas las claves en este criptosistema de la rejilla giratoria y habiendo comprobado que hay un número considerable de ellas, expliquemos el proceso de cifrado. Como en ocasiones precedentes, se entenderá mejor si nos vamos ayudando de un ejemplo. Cifremos con la rejilla mostrada en la Figura 5.1 el siguiente texto: ‘LA REJILLA GIRATORIA ES UN METODO CLASICO DE CIFRADO POR TRANSPOSICION’. Puesto que usamos una rejilla 6×6, en primer lugar dividimos el texto en claro en fragmentos de 36 letras y colocamos cada uno de ellos en un cuadrado del mismo tamaño que la rejilla. Con nuestro texto resultan dos cuadrados, el segundo incompleto: L A R E J I E C I F R A L L A G I R D O P O R T A T O R I A R A N S P O E S U N M E S I C I O N T O D O C L A S I C O D Cuadrado 1 Cuadrado 2 (Si la rejilla empleada fuese de dimensión n×n con n impar, se dividiría el texto en trozos de n2 –1 letras y con ellos se formarían sendos cuadrados, dejando vacía la casilla central.) 84
  • 93. 5. CIFRADOS POR TRANSPOSICIÓN A continuación, colocamos la rejilla encima del cuadrado relleno con el primer fragmento. Puesto que la rejilla admite cuatro posiciones, hemos de convenir con el receptor del mensaje cual es la posición inicial. En el ejemplo que desarrollamos supondremos que esta posición es la que refleja la Figura 5.1. Al superponer la rejilla en el cuadrado, únicamente son visibles las letras situadas en las casillas perforadas. Estas son las primeras letras del texto cifrado. Seguidamente, giramos 90 grados la rejilla. Como el giro puede realizarse en dos direcciones, de nuevo hemos de concertar con el receptor la dirección. Supondremos que ésta es la determinada por el movimiento de las agujas del reloj. Después del giro, las cuadrículas agujereadas muestran otras letras del cuadrado. Son las siguientes del texto cifrado. Volvemos a girar otros 90º la rejilla y anotamos las nuevas letras reveladas. Repetimos una vez más la operación y hemos cifrado ya el primer bloque del texto en claro. Los siguientes dibujos resumen este proceso: L R I I A G T R A A S N L T C I O S Posición inicial. LRITRSLIO Primer giro. IAGAANTCS A E J L L R I O U M E E O D O C D A Segundo giro. AELIUMOCD Tercer giro. JLROEEDOA De igual modo se cifran las sucesivas partes en que ha sido dividido el texto en claro. En nuestro ejemplo sólo hay un segundo trozo; ha dado lugar a un cuadrado incompleto, pero ello no perturba el proceso de cifrado. El criptograma, escrito en grupos de cinco letras separadas por un espacio en blanco, es el siguiente: ‘LRITR SLIOI AGAAN TCSAE LIUMO CDJLR OEEDO AEIRA SIAPO ROICF DPCOR OTNSN’. 85
  • 94. 5. CIFRADOS POR TRANSPOSICIÓN Para descifrar un mensaje cifrado con una rejilla giratoria, el legítimo receptor del mismo ha de seguir este otro proceso. Tras partir el texto cifrado en fragmentos de n2 letras (n2 –1, si n es impar), se dibujan tantos cuadrados n×n como fragmentos. Con la rejilla en la posición de partida, se coloca ésta encima del primer cuadrado y se escriben las letras iniciales del primer trozo en las casillas abiertas, en modo secuencial. Seguidamente, se gira la rejilla y se continúa escribiendo letras del primer trozo en las cuadrículas abiertas, que ahora estarán todas en blanco. Se repite la operación dos veces más. Hecho esto, el cuadrado estará repleto de letras y podrá leerse el primer bloque del texto en claro. De igual modo se descifra el resto de los fragmentos de texto cifrado. Al proceder con el último, no ha de escribirse letra alguna en las cuadrículas cuyo orden supere la longitud de este postrero trozo. El orden al que nos referimos es el que proporciona la dirección de la escritura: de izquierda a derecha y de arriba abajo, de modo que la primera cuadrícula es la superior izquierda y la última la inferior derecha. Hemos de señalar que los procesos de cifrado y descifrado que acabamos de describir pueden ser intercambiados, consiguiéndose así otra manera de usar la rejilla giratoria. No consideramos que sea necesario pararnos a explicar este otro modo recíproco, pero sí advertir que los criptosistemas resultantes son diferentes. Obsérvese que, al igual que ocurría en la transposición de los nihilistas, el cifrado en la rejilla giratoria se inicia dividiendo el texto en claro en fracciones de igual longitud que luego son reordenadas de la misma manera. En general, los criptosistemas por transposición cuyo método de cifrado cumple tal característica se denominan regulares. No todas las transposiciones son regulares; por ejemplo, la de columnas es irregular. Bien, según marca el guión del capítulo, tras la descripción de algunos cifrados por transposición corresponde hablar de criptoanálisis. Ante un criptograma, la primera tarea del criptoanalista es siempre averiguar el criptosistema que lo ha producido. Es fácil determinar si un criptograma ha sido cifrado por transposición. Como no es más que una reordenación de cierto texto en claro, las frecuencias de sus letras se mantienen en el criptograma y, en consecuencia, deben seguir el patrón de frecuencias de las letras del idioma en que se ha escrito el texto. Por tanto, un simple análisis de frecuencias permite averiguar si estamos ante un texto cifrado por transposición. Lo que no es tan sencillo es concretar, a partir de los criptogramas exclusivamente, qué cifrado por transposición ha sido empleado. No obstante, si se dispone de varios criptogramas con exactamente la misma longitud, no es necesario averiguar antes que tipo de transposición los ha generado para que el criptoanálisis pueda comenzar. En este caso, el simple y efectivo método de los múltiples anagramas descubre los textos en claro. Para comprender tal método, consideremos los siguientes cuatro anagramas que resultan de reordenar de la misma manera sendas palabras de siete letras: TLAUNER SODIAVA MORIPRE ARAGENÑ Recuperar las palabras originales es difícil si se hace por separado; pero es sencillo con las cuatro a la vez, siguiendo la estrategia que explicamos a continuación. Escribimos 86
  • 95. 5. CIFRADOS POR TRANSPOSICIÓN los anagramas uno debajo de otro, formando un rectángulo de cuatro filas y siete columnas. Seguidamente, lo descomponemos recortando las columnas: T L A U N E R S O D I A V A M O R I P R E A R A G E N Ñ Se trata ahora de reordenar las columnas procurando que “casen las letras”. O dicho con mayor precisión: formando primero bigramas que sean frecuentes en nuestro idioma, a partir de ellos trigramas, luego tetragramas que no sean imposibles, y así hasta completar las palabras. Podemos comenzar considerando la última columna, que contiene una ‘Ñ’. Como a esta letra sólo puede seguirla una vocal, a la derecha de esta columna debe ir otra que contenga una vocal en cuarto lugar. La candidata es la tercera columna, que es la que produce los bigramas más comunes: R A A D E R Ñ A Con estos cuatro bigramas formamos otros tantos trigramas que no sean extraños en nuestro idioma. Luego los ampliamos a tetragramas, éstos a su vez a pentagramas... El siguiente esquema lo muestra: R A T R A T R A L U T R A L A D S A D S A D O I S A D O E R → M E R → M E R O → I M E R O → Ñ A A Ñ A A Ñ A R G A Ñ A R E U T R A L N E U T R A L V I S A D O A V I S A D O R I M E R O → P R I M E R O N G A Ñ A R E N G A Ñ A R Con criptogramas en lugar de palabras el procedimiento es idéntico; aunque, evidentemente, mucho más lento. Pero funciona. De nuevo nos lo demuestra la historia de la Criptografía en varias ocasiones. La primera vez en 1878, cuando tres aficionados al criptoanálisis (los editores del “New York Tribune” John Hassard y William Grosvernor por un lado, y el matemático Edward Holden por otro), descifraron varios telegramas confirmando que el Partido Demócrata americano compró votos en las conflictivas elecciones presidenciales celebradas dos años antes. En esta ocasión, el método de cifrado empleado con los comprometedores telegramas fue una transposición de palabras en lugar de letras (previamente, los nombres propios y las palabras más significativas se reemplazaron por otros términos). 87
  • 96. 5. CIFRADOS POR TRANSPOSICIÓN El método de los múltiples anagramas también es aplicable a las transposiciones regulares, aunque no se disponga de varios criptogramas con el mismo número de letras. Para poder hacerlo, el criptoanalista debe conocer el periodo, que así se denomina a la longitud de los fragmentos en los que inicialmente se han partido los textos en claro. Una vez hallado, se dividen los criptogramas en trozos de longitud igual al periodo, se colocan éstos uno debajo de otro y se inicia el proceso de los anagramas. El problema está en que no hay método alguno para calcular el mencionado periodo a partir de los criptogramas únicamente. No obstante, es frecuente en la práctica que el periodo sea un número casi conocido de antemano. Así ocurre, por ejemplo, en la transposición de los nihilistas y en la rejilla giratoria, donde razones de efectividad obligan a manejar cuadrados de dimensiones limitadas que, en consecuencia, restringen los posibles periodos a unos pocos valores. En general, cualquier transposición regular cuyo periodo varíe entre unos pocos valores es atacable mediante anagramas, independientemente de lo complicado que sea su proceso de cifrado; y es, por tanto, menos segura que una transposición irregular. Además del genérico método de los anagramas, cada transposición tiene su particular método de criptoanálisis. No vamos a exponer aquí todos ellos, ya que extenderíamos considerablemente el capítulo. Nos conformaremos con presentar uno sólo: el de la rejilla giratoria, aprovechando que la hemos descrito con cierto detalle. Con este objetivo consideramos el siguiente criptograma, obtenido al cifrar cierto texto en español con dicho criptosistema: ELAUR EMEEO UAAJS NCTIG OAEUL EPDON NSUSD NLRIO IINIM YELMI LLMOS UNNAN TOYAJ RCEMR UIGOS REITE EITDL ISEAQ EETHO CLRNA TAFEP ECROC LUISN READS OESCS EACHE LNDEO ROLIR NAIER LIAEC FB Criptograma Ante una rejilla, el criptoanálisis debe partir de una suposición sobre la dimensión n×n. En teoría, el entero n puede tomar cualquier valor; pero cuando el criptosistema de la rejilla fue llevado a la práctica, n estuvo siempre entre 5 y 10. Rejillas 4×4 no se consideraban porque su número es reducido (sólo hay 64 diferentes), y valores de n por encima de 10 dan lugar ya a rejillas grandes de incómodo manejo. Siguiendo entonces estas observaciones prácticas, supondremos también que la rejilla empleada con el criptograma anterior está entre los límites de 5 y 10. Hecha una hipótesis sobre el entero n, el proceso que a continuación explicaremos o bien nos permitirá descifrar el texto o nos llevará a un absurdo. En este segundo caso habrá que asignar otro valor a n y comenzar de nuevo. Por fortuna, con nuestro criptograma no es necesario iniciar tal proceso en los supuestos n = 5 ó 6, ya que pueden ser descartados gracias a la posición en la que ha quedado la única ‘Q’ presente. En las líneas que siguen demostramos esta afirmación cuando n = 5. La argumentación para n = 6 es muy similar y animamos a que la realice el lector. 88
  • 97. 5. CIFRADOS POR TRANSPOSICIÓN Como ya hemos señalado antes, la rejilla es un criptosistema regular. Cuando n = 5, el periodo es 24. Si dividimos el texto cifrado en fragmentos de 24 letras, la única ‘Q’ aparece en el siguiente: ‘GOSREITEEITDLISEAQEETHOC’. Bajo la hipótesis n = 5, esta porción de texto cifrado es el resultado de transponer otro de texto en claro. En nuestro idioma, la ‘Q’ va siempre seguida de una ‘U’. Como tal vocal no figura en el fragmento anterior, ha de suceder que la ‘Q’ es la última letra del correspondiente trozo en claro y su acompañante ‘U’ la primera del siguiente. Entonces, en el proceso de cifrado, al rellenar con estos fragmentos los cuadrados 5×5, la ‘Q’ va a parar a la última cuadrícula de un cuadrado y la ‘U’ a la primera del siguiente. Por otro lado, como las letras se trasladan de los cuadrados al texto cifrado en bloques de 6 (que es el número de casillas agujereadas que tiene una rejilla 5×5) y la ‘Q’ es la decimoctava letra del fragmento, la rejilla debe estar en su tercera posición cuando destapa la cuadrícula de la ‘Q’. Después, tras dos giros, la rejilla vuelve a su posición inicial y descubre la primera casilla del siguiente cuadrado. En dicha casilla está la ‘U’ que, en consecuencia, debe encabezar el próximo fragmento de 24 letras de texto cifrado. Pero no, la primera letra de este otro trozo es una ‘L’. Tal contradicción anula el supuesto n = 5. Cuando n = 7 no es posible el razonamiento previo. En este caso, el periodo es 48 y sucede que al partir el texto cifrado en fragmentos de 48 letras, la ‘Q’ queda ubicada en otro que contiene además otras dos ‘U’. Es con esta suposición n = 7 con la que iniciamos el proceso antes anunciado. En realidad, es una optimización del genérico método de los anagramas, adaptado al criptosistema de la rejilla. Se empieza del mismo modo. Primero dividimos el criptograma en trozos de 48 letras, resultando cuatro partes, la última con tan sólo 8 letras. Nos olvidamos de este residual trozo y con los otros tres formamos el siguiente rectángulo: ELAUREMEEOUAAJSNCTIGOAEULEPDONNSUSDNLRIOIINIMYEL MILLMOSUNNANTOYAJRCEMRUIGOSREITEEITDLISEAQEETHOC LRNATAFEPECROCLUISNREADSOESCSEACHELNDEOROLIRNAIE A continuación, hay que recortar las columnas de este cuadrado para después reordenarlas procurando formar palabras del texto en claro. Pero en este particular método, este proceso se va a efectuar siguiendo unas reglas muy similares al conocido juego de cartas “el solitario”. Incluso se comprenderán mejor tales reglas si contemplamos las columnas del rectángulo como naipes de una baraja. Con esta idea, con las 48 columnas formamos los cuatro palos de la baraja. Las doce primeras constituirán el palo de picas: ♠, la siguiente docena el de trébol: ♣, las otras doce el de corazones: ♥, y la última docena el de diamantes: ♦. Dentro de cada palo, cada columna tendrá asignado un número que indicará el orden que ocupa. La baraja obtenida puede contemplarse en la Figura 5.2. 89
  • 98. 5. CIFRADOS POR TRANSPOSICIÓN 1♠ 2♠ 12 ♠ 1♣ 2♣ 12 ♣ E L ... A A J ... U M I N T O I L R R O C S 1♥ 2♥ 12 ♥ 1♦ 2♦ 12 ♦ L E ... N L R ... L G O D L I C O E N D E E Figura 5.2. La baraja de cartas. Expliquemos las razones del diseño de la baraja. Como una rejilla 7×7 tiene doce cuadrículas perforadas, las doce primeras letras del texto cifrado son las letras que asoman por dichas cuadrículas al situar la rejilla en su posición inicial sobre el primer cuadrado. Las siguientes doce son las que aparecen al efectuar un primer giro de la rejilla. Y así sucesivamente. Por tanto, las letras de las cartas de igual palo fueron trasladadas al texto cifrado cuando la rejilla estaba en una misma posición. El palo de picas representa la posición inicial de la rejilla, el de tréboles la segunda posición, etcétera. Por otro lado, las doce letras que descubren las casillas abiertas de la rejilla se llevan siempre al texto cifrado según el orden habitual de la escritura: de izquierda a derecha y de arriba abajo. Este orden es precisamente el número de cada carta. Así, fijado un palo de la baraja, las letras de la carta numerada con el 1 son anteriores en el texto en claro a las del 2, las de ésta otra carta son previas a las del 3, etcétera. Nuestra partida de criptoanálisis requiere disponer las cartas en una posición inicial. Su justificación está en una propiedad del criptosistema de la rejilla que al mismo tiempo constituye una debilidad: la simetría. Veamos en qué consiste. En primer lugar, distinguimos en un cuadrado n×n los pares de cuadrículas simétricas: dos de sus casillas se dicen simétricas si una va a parar al lugar de la otra cuando se gira el cuadrado 180º. Por ejemplo, en el siguiente cuadrado 5×5 las cuadrículas con el mismo número son simétricas: 1 2 3 4 5 6 7 8 9 10 11 12 13 12 11 10 9 8 7 6 5 4 3 2 1 En un criptograma obtenido con la rejilla giratoria, dos de sus letras se dicen simétricas si durante el cifrado ocuparon casillas simétricas de un mismo cuadrado. Fijada 90
  • 99. 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
  • 100. 5. CIFRADOS POR TRANSPOSICIÓN 1♠ 1♣ 1♥ 1♦ 12 ♥ E 12 ♦ A 12 ♠ L 12 ♣ L N M L T A G U L D L C O N O I D N E R S a) b) c) d) Figura 5.4. Opciones para la primera jugada. Si acertamos en esta primera jugada, formamos dos bigramas del texto en claro: aquellos que resultan de unir las últimas letras de los cuadrados primero y segundo con las primeras letras del segundo y tercero, respectivamente. Las cuatro opciones de la Figura 5.4 contienen bigramas posibles en nuestro idioma y, en consecuencia, a priori no hay que rechazar ninguna de ellas. Si hay que decidirse por una, ésta debe ser la que presente los bigramas más frecuentes; pero quizás sea preferible contemplar la segunda jugada antes de tomar la decisión. Supongamos que elegimos la opción correcta en la primera jugada. Entonces, una de las cuatro cartas visibles en la fila superior incluye las letras que durante el cifrado se colocaron en la segunda casilla de los cuadrados (de nuevo invitamos al lector a reflexionar sobre esta afirmación), y su simétrica inferior contiene las que ocuparon las antepenúltimas cuadrículas. Estas son las dos cartas que debemos extraer en la segunda jugada. Las haremos casar con las anteriores, la de la fila superior por la derecha y su simétrica por la izquierda. Una vez hecho, los dos bigramas de antes se ampliarán a tetragramas y, además, se formarán dos nuevos bigramas que, si esta segunda jugada es correcta, pertenecerán al texto en claro. De todas las combinaciones que se pueden dar con las dos primeras jugadas (16 en total), la que parece más adecuada es la que muestra la Figura 5.5, continuación de la opción d) en la primera jugada: 1♦ 1♣ 12 ♦ 12 ♣ L A L U L T C I D O E S Figura 5.5. La segunda jugada. En esta combinación es posible el fragmento ‘EL ULTIMO’ y un participio terminado en ‘CIDO’. Además, los dos nuevos bigramas que han surgido, ‘LA’ y ‘ES’, son de los más frecuentes. Y para confirmar que efectivamente hemos elegido la combinación correcta continuamos la partida, intentando recuperar el texto en claro con 92
  • 101. 5. CIFRADOS POR TRANSPOSICIÓN sucesivas jugadas. Así, después de la quinta jugada, nuestro solitario debe presentar el aspecto de la Figura 5.6. 2♠ 3♣ 1♥ 3♦ L S L I I Y G S R L O O 11 ♥ 10 ♦ 12 ♠ 10 ♣ D Y A A T H N R L A R A 1♦ 1♣ 2♦ 1♠ 2♣ 11 ♦ 12 ♥ 11 ♣ 12 ♦ 12 ♣ L A R E J E N E L U L T I M O O D U C I D O E L C I N D E S Figura 5.6 Tras la quinta jugada. Esta Figura 5.6 nos muestra que el criptoanálisis va por buen camino. Colocar el resto de las cartas parece ya tarea sencilla. Tras ello, accederemos al texto en claro. Y también a la clave, cuya obtención es inmediata: Rellenemos un cuadrado 7×7 con las 48 primeras letras del texto en claro, dejando vacía su casilla central. Las cuadrículas donde se sitúan las doce letras bajo el palo de picas son precisamente las casillas abiertas de la rejilla cuando está en su posición inicial. Con la clave puede descifrarse el postrero y residual trozo de 8 letras de texto cifrado que, recordemos, lo dejamos a un lado. En fin, dejamos esta última parte del criptoanálisis al lector interesado y despedimos el capítulo mostrando el texto en claro. Es el siguiente fragmento extraído del libro “La Cryptographie Militaire” de Auguste Kerchoffs, publicado en 1883: La rejilla es un procedimiento ingenioso, muy usada en el último siglo, y las mejoras que recientemente ha introducido el coronel austriaco Fleissner parecen hacerla indescifrable. 93
  • 103. 6 LA CRIPTOGRAFÍA EN LA PRIMERA GUERRA MUNDIAL En enero de 1917, la primera guerra mundial iba ya por su tercer año y no se divisaba un final en un corto plazo. El Kaiser Guillermo II, que había prometido una rápida victoria cuando se inició la contienda, veía ahora a sus tropas atascadas en el frente francés en una guerra de trincheras. Su poderosa armada había sido superada por la Royal Navy y, como consecuencia de ello, Alemania se encontraba sometida a un bloqueo marítimo por parte de Inglaterra. Además, nuevos países habían decidido participar en la guerra al lado de los aliados. El Kaiser no anunciaba ya un triunfo inmediato. Ni siquiera estaba claro que la victoria fuese a caer del lado de las potencias de la Europa Central. A no ser que los submarinos alemanes reanudasen la que se llamó “guerra sin restricciones”. Consistía en que cualquier barco, de guerra o mercante, enemigo o neutral, hallado en una zona de exclusión próxima a las costas de Inglaterra, sería hundido sin previo aviso. Con ello, Inglaterra pasaría a ser el país bloqueado. Tal situación asfixiaría a los ingleses y les obligaría a pedir la paz. Esa era la estrategia que conducía a la deseada victoria rápida. Alemania ya había declarado antes la guerra sin restricciones, a comienzos de 1915. Sus ataques indiscriminados hundieron buques mercantes americanos, algunos con miles de pasajeros. Estas acciones estuvieron a punto de llevar a Estados Unidos a una declaración de guerra. Temerosos de que América entrara en la guerra al lado de los aliados, los alemanes abandonaron la guerra sin restricciones en otoño de 1915. Muy posiblemente su reanudación traería consigo la declaración de guerra por parte de Estados Unidos. Eso no importaba ahora al alto mando militar germano. Estaba convencido de su victoria antes de que los grandes contingentes de tropas americanas pudiesen desembarcar en Europa. Pero no era tan optimista el gobierno alemán, quién pensaba que la participación en la guerra de Estados Unidos daría el triunfo a los aliados. Por ello, prepararon un atrevido plan que, de salir adelante, evitaría la presencia del ejército 95
  • 104. 6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL americano en el frente europeo. El plan pasaba por una alianza con Méjico y Japón y consistía en que si Estados Unidos declaraba la guerra a Alemania, esos dos países atacarían a los norteamericanos en su propio territorio. Alemania ayudaría económica y militarmente a dichas naciones. El plan era arriesgado pero no descabellado. Méjico todavía reclamaba sus antiguos territorios en Texas, Arizona, Nuevo Méjico y California, arrebatados por Estados Unidos en la guerra de 1848. Con la ayuda alemana, Méjico podía recuperarlos. Por otra parte, los análisis germanos daban como inevitable una futura guerra entre Japón y Estados Unidos por el control del Pacífico y que únicamente ahora Japón resultaría victorioso (la Historia ha demostrado la corrección de esta predicción.) Y en última instancia, si Méjico y Japón no aceptaban la propuesta, Alemania podía reconsiderar la guerra submarina sin restricciones. Arthur Zimmermann, ministro de asuntos exteriores alemán, pensó que, dado lo delicado de los propósitos germanos, lo mejor era que su embajador en Méjico lo planteara con la mayor discreción al presidente mejicano. Sin embargo, tenía un problema: comunicar con sus embajadas al otro lado del Atlántico. En aquella época, los países europeos disponían ya de cables telegráficos transatlánticos por los que cursaban sus comunicaciones con el otro lado del océano. Pero los cables alemanes habían sido inutilizados por los británicos el primer día de la guerra. Para contactar con sus embajadas en América, Zimmermann debía hacerlo a través de los cables telegráficos de otras naciones. Dos países se lo permitían, la neutral pero pro germana Suecia y aquel contra el que iba a conspirar, los Estados Unidos. El 16 de enero de 1917, Zimmermann cursó un telegrama su embajador en Washington, Johann H. von Bernstorff, conteniendo instrucciones para la delegación germana en Méjico. Lo envió por duplicado, para asegurarse que llegaba a su destino. Una copia se transmitió por las líneas suecas y la otra por las norteamericanas. Tres días más tarde, el embajador Bernstorff reenvió las instrucciones de Zimmermann a su homónimo en Méjico. Obviamente, los telegramas iban cifrados. La diplomacia alemana utilizaba libros de códigos para este menester. Tales códigos consistían todos ellos en un amplio repertorio de cifras. El telegrama que desde Berlín se envió a Washington iba cifrado según el código identificado con el número 0075. El que desde Washington Bernstorff telegrafió a Méjico se cifró con el código 13042. La razón de este cambio de códigos está en que la embajada alemana en Méjico no usaba el código 0075. Puede contemplarse el telegrama que llegó a Méjico en la Figura 6.1. 96
  • 105. 6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL Figura 6.1. El telegrama Zimmermann. Tanto el cable de Suecia como el de Estados Unidos pasaban por Inglaterra y, naturalmente, estaban intervenidos. Los censores británicos obtuvieron las dos copias del telegrama procedente de Berlín. Al observar que estaba cifrado, las remitieron a la “Habitación 40”, que así era como se conocía a la oficina de criptoanálisis de la armada inglesa. Allí, dos de sus criptoanalistas, William Montgomery y Nigel de Grey, reconocieron que se trataba de un mensaje cifrado con el código 0075, que había sido puesto en servicio seis meses antes. Dado que el 0075 era un nuevo código, los ingleses sólo lo tenían recuperado parcialmente. Por este motivo, Montgomery y de Grey únicamente descifraron algunos trozos del mensaje. Tales partes revelaban un importante asunto, pero en absoluto permitían conocer con exactitud el plan alemán. Afortunadamente para los británicos, entre las partes reveladas del telegrama figuraba su primer párrafo. En él, Zimmermann ordenaba a Bernstorff reenviar secretamente a su embajada en Méjico el texto que seguía a continuación. En la Habitación 40 sabían que en Méjico no usaban el código 0075. Por tanto, dedujeron que el mensaje que Bernstorff debía enviar a Méjico tenía que cifrarse con otro código, seguramente más antiguo y 97
  • 106. 6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL posiblemente en su poder. Con una copia de este segundo mensaje revelarían completamente su significado. Un agente inglés la obtuvo en la oficina de telégrafos de la ciudad de Méjico. A primeros de febrero, dicha copia estaba ya en Londres. Como dijimos antes, iba cifrada con el código 13042; y como bien intuyeron en la Habitación 40, este código estaba ya en sus manos. Con él pudieron descifrar completamente el telegrama. La traducción al español del texto en alemán es la siguiente: “Pretendemos comenzar el 1 de febrero la guerra submarina sin restricciones. No obstante, nos esforzaremos en mantener neutral a los Estados Unidos de América. En el caso que esto no suceda, hacemos a Méjico una propuesta de alianza en base a lo siguiente: Hagamos la guerra juntos y obtengamos la paz juntos. Habrá ayuda financiera y acuerdo por nuestra parte para que Méjico reconquiste los territorios perdidos en Texas, Nuevo Méjico y Arizona. Le dejo a usted los detalles. Informe de lo anterior al presidente de Méjico con el mayor de los secretos tan pronto como se inicie la guerra con los Estados Unidos. Sugiérale que, por propia iniciativa, invite a Japón a unirse inmediatamente y que medie entre Japón y nosotros. Por favor, llame la atención al presidente que el empleo sin piedad de nuestros submarinos ofrece ahora la perspectiva de obligar a la paz a Inglaterra en unos pocos meses.” El 24 de febrero, el telegrama Zimmermann fue dado a conocer por los británicos al embajador americano en Londres. Naturalmente, sólo le mostraron la copia sustraída de la oficina de telégrafos en Méjico y su trascripción siguiendo el viejo código 13042. Ni una palabra del telegrama cifrado con el código 0075 e interceptado en Inglaterra, ya que ello implicaría reconocer la intervención ilegal en los cables telegráficos de otros países. El telegrama fue publicado por la prensa americana el primer día de marzo. Al principio, mucha gente puso en duda su autenticidad y alegaron que no era sino un complot inglés para llevar a Estados Unidos a una guerra que no quería. La duda la despejó el propio Zimmermann, quien honestamente admitió su autoría. Durante ese mes de marzo, las voces americanas que clamaban a favor de la guerra silenciaron por completo a aquellas que deseaban la paz. Hasta que el 2 de abril, el presidente Woodrow Wilson, que había sido reelegido con la promesa de mantener fuera de la guerra a Estados Unidos, llevó al Congreso una declaración de guerra. Ese día, Alemania estaba en guerra con Estados Unidos. Mal acabó la intriga alemana que contenía el famoso telegrama Zimmermann. Además, ni siquiera llegó a ser expuesta a su destinatario, el presidente de Méjico. Y todo ello, por el empleo de un criptosistema poco seguro: el cifrado mediante libros de códigos. Con frecuencia, los usuarios de este modo de cifrado han creído en su seguridad si mantenían en secreto el correspondiente libro de códigos. Depositan esta confianza en 98
  • 107. 6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL el elevado número de sustituciones que suele catalogar: varias decenas de miles. Pero de este elevado número, los usuarios sólo utilizan unos cuántos cientos, por lo específico del lenguaje que están obligados a emplear. De este modo, al llevar a la práctica el libro de códigos, lo han reducido a un nomenclátor como los que se emplearon antiguamente. Por tanto, la seguridad que proporciona el libro de códigos no puede ser mayor que la de su predecesor el viejo nomenclátor. Menos aún, porque ahora los criptoanalistas disponen de gran cantidad de texto cifrado con el mismo código, y a veces incluso de algún texto en claro. Ello es suficiente para recuperar los pocos cientos de palabras diferentes que se suelen emplear. Así recuperaron los criptoanalistas de la Habitación 40 los códigos diplomáticos involucrados en el telegrama Zimmermann. Nunca dispusieron de un ejemplar de tales libros. El cifrado mediante códigos fue también el método elegido por la armada alemana para proteger sus comunicaciones. Pero antes de hablar de ello, conviene señalar que cuando se inició la contienda en agosto de 1914 ya habían transcurrido casi veinte años desde que la radio fue inventada. La radio permite a los almirantes en tierra un control inmediato y continuo de los navíos en alta mar. No obstante, la enorme posibilidad de comunicación que ofrece la radio tiene un “pequeño” inconveniente: las ondas aéreas por las que viajan los mensajes son públicas. Así, no sólo los barcos de guerra alemanes recibían las órdenes transmitidas por una potente emisora a las afueras de Berlín, sino también los receptores británicos. Evidentemente, los mandos alemanes eran conscientes de esta posibilidad y protegían sus mensajes cifrándolos mediante códigos, como ya hemos dicho. Y al igual que sus compatriotas diplomáticos, consideraban totalmente segura esta comunicación porque suponían que ningún intruso disponía de sus códigos. Errónea suposición, porque tan sólo al mes siguiente de empezar la guerra, Inglaterra ya se había hecho con los códigos de la armada germana. Sucedió que a los pocos días del inicio de la contienda, el crucero alemán Magdeburgo encalló en el Báltico, cerca de la costa rusa. Ante la inmediata llegada de navíos rusos, el capitán alemán ordenó abandonar el crucero y, con las prisas, olvidó en un cajón el libro de códigos que empleaba la armada alemana. Los rusos registraron el navío encallado y encontraron el mencionado libro. Poco después, el libro fue enviado a Inglaterra. El código Magdeburgo (así se conoce ahora al código del libro) constaba de palabras de cuatro letras en las que la primera y la tercera eran consonantes, y la segunda y la cuarta vocales. La razón de este diseño es clara: hacer pronunciables las palabras del código. Pero el disponer del código no era suficiente para revelar el significado de los mensajes germanos. El mando naval alemán, para conseguir mayor seguridad, después de codificar sus órdenes las cifraba. Por tanto, era obligado conocer también el método de cifrado empleado. Aún les llevó tres semanas a los criptoanalistas de la Habitación 40 descubrir que los alemanes cifraban el código mediante una sustitución monoalfabética en la que vocales se reemplazaban por vocales y consonantes por consonantes. (Con ello, el texto cifrado resultante seguía siendo pronunciable.) Sabiendo esto, ya no es difícil averiguar la clave de la sustitución usando que ciertas palabras del código eran más frecuentes que otras en virtud del contexto de los mensajes. Además, el diseño del código facilitaba la tarea. Naturalmente, dicho trabajo era necesario repetirlo cada vez que se cambiaba la clave. Al comienzo de la guerra ello sucedía cada tres meses. Tal periodo se 99
  • 108. 6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL fue acortando conforme avanzaba la contienda, y ya en 1916 la clave era cambiada cada medianoche. En las comunicaciones con los submarinos, los alemanes empleaban el mismo código que con los navíos de superficie, pero el método de cifrado posterior empleado era una transposición de columnas. La clave no se cambiaba muy frecuentemente. Como ya sabemos por el tema anterior, descifrar una transposición de columnas no es difícil y puede hacerse con texto cifrado únicamente. En consecuencia, al tener los códigos en su poder, los británicos accedieron también a las instrucciones que los alemanes transmitían a sus submarinos. El código Magdeburgo no fue el único empleado por la armada alemana ni el único recuperado por los ingleses. Estos tomaron buena nota de los tesoros que podían contener los navíos enemigos hundidos o abandonados. Por ejemplo, en septiembre de 1916 se hicieron con los códigos en vigor registrando los restos de un zepelín abatido. En otra ocasión, un buzo rescató los libros de códigos de un submarino alemán hundido cerca de la costa inglesa. Fue condecorado por esta acción después de la guerra. La Habitación 40 reconoció haber descifrado unos 15.000 mensajes alemanes a lo largo de la guerra. La Royal Navy también usó códigos para proteger sus comunicaciones radiotelegrafiadas. Sus voluminosos libros de códigos contenían un amplísimo repertorio de palabras y grupos de palabras codificadas con números de cinco dígitos. Incluían muchísimos homófonos. Algunas expresiones disponían de 15 homófonos. Había varias páginas de nulos que debían constituir el 25% del total del mensaje, según se indicaba en las instrucciones. Pero lo que más llama la atención es el empleo de polífonos; esto es, que un mismo número de código pueda representar significados distintos. Exactamente tres en los códigos ingleses. Para que el empleo de polífonos no imposibilite el descifrado correcto, en el libro de códigos los números no polífonos iban seguidos de una de las letras A, B, o C; mientras que los polífonos iban precedidos y seguidos de una de dichas letras. Al descifrar, para cada polífono había que elegir aquel significado cuya letra inicial coincidía con la letra final de la acepción elegida para el número anterior. Por ejemplo, el descifrado correcto del mensaje 13901 01581 47689 con el código ... A 01581 B Ammunition B 01581 A 4th July C 01581 B German ... − 13901 C Seen ... A 47689 B Prince of Walles B 47689 C Cruiser C 47689 A Wednesday 100
  • 109. 6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL sería: ‘Seen German Cruiser’ (‘Visto crucero alemán). La Royal Navy no cifraba el código resultante. Basaba toda la seguridad en las características de sus libros de códigos, que desde luego eran de los más complejos que se hayan confeccionado nunca. Desconocemos si los alemanes fueron capaces de penetrar en los códigos ingleses. Aunque seguro que no antes de 1916, ya que hasta entonces no pusieron en marcha su “Abhorchdienst” (servicio de interceptación). Si mal les fue a los códigos de la diplomacia y armada alemanas con la Habitación 40, mayor derrota sufrieron las cifras del ejército de tierra germano en su enfrentamiento con los criptoanalistas de “le Bureau du Chiffre” francesa. Esta oficina dedicada al criptoanálisis había sido creada por el ejército francés a finales del siglo XIX. Cuando comenzó la guerra, le Bureau du Chiffre contaba ya con un equipo de criptoanalistas bien formados con el curso “La Cryptographie Militaire” de Auguste Kerchoffs. También había organizado una red de escuchas radiotelegráficas por toda Francia. No es de extrañar entonces que el ejército francés tuviese instrucciones de inutilizar completamente las líneas telegráficas antes de su repliegue. Así forzarían a los alemanes a emplear la radio y sus mensajes serían interceptados por la oficina francesa para un posterior criptoanálisis. El plan funcionó perfectamente. Al estallar la contienda, el ejército de tierra alemán empleaba una cifra de campo que ellos llamaban “ÜBCHI” (abreviatura de ÜBungsCHIffre, cifra práctica) y era una doble transposición de columnas. En aquella época, el único método conocido para atacar este tipo de transposición con texto cifrado únicamente era el de los múltiples anagramas, descrito en el capítulo anterior. Como ya dijimos en dicho capítulo, este método de criptoanálisis funciona con cualquier cifrado por transposición; pero necesita dos o más criptogramas cifrados con la misma clave y de la misma longitud. Criptoanalizar una doble transposición de columnas mediante el método de los anagramas es un proceso muy lento, pero con paciencia se recuperan los textos en claro que esconden los criptogramas. Hecho esto, el siguiente paso es descubrir la clave haciendo uso de los textos en claro revelados. Tampoco es fácil, pero puede hacerse. Los alemanes cambiaban la clave cada diez o quince días, un periodo de tiempo demasiado grande para el tráfico de mensajes que había. Y como, además, la mayoría de tales mensajes tenían una longitud que rondaba las cien letras, no era difícil encontrar dos de ellos con exactamente la misma longitud. Entonces el criptoanálisis podía iniciarse. Los franceses recuperaron por primera vez una clave ÜBCHI el 1 de octubre de 1914. Y todas las que siguieron hasta el 18 de noviembre de es mismo año, día en que los alemanes introdujeron un nuevo modo de cifrado. La razón del cambio en las cifras alemanas fue que el periódico francés “Le Matin” cometió la imprudencia de publicar que los mensajes germanos estaban siendo descifrados. Sin embargo, el nuevo criptosistema era más débil. Consistía en un cifrado Vigenère con clave ABC seguido de una transposición de columnas. Los franceses le dieron el nombre de cifrado ABC. Tan sólo un mes después de la entrada en vigor de la nueva cifra, en le Bureau du Chiffre ya se había redactado un documento explicando un método para su criptoanálisis a partir de texto cifrado únicamente. El cifrado ABC estuvo 101
  • 110. 6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL en vigor hasta mayo del año siguiente. Para entonces la guerra entró en una fase estática de trincheras, sin apenas movimientos de tropas. Ello trajo una reducción considerable en el volumen de mensajes radiados. Muchos de ellos eran intrascendentes y en ocasiones incluso se transmitían en claro. A la cifra ABC le siguió la ABCD, que era un poco más complicada. Primero había que cifrar el texto en claro usando el sistema de Vigenère con clave ABCD pero de forma intermitente, y a continuación se efectuaba una transposición de columnas. La clave de la transposición regía también las intermitencias en el cifrado Vigenére previo. Tan sólo llevó dos semanas a le Bureau du Chiffre romper este nuevo cifrado. Los alemanes dejaron de usarlo en abril de 1916. Fue reemplazado por una serie de cifrados polialfabéticos tan poco eficientes que con frecuencia confundían a las personas encargadas del cifrado y descifrado de los mensajes. No les quedó más remedio que abandonarlos y regresar a los cifrados por transposición. Esta vez emplearon rejillas giratorias, una diferente cada semana. Tampoco lograron burlar al criptoanálisis francés, que conocía perfectamente como atacar este tipo de transposiciones. Los alemanes emplearon las rejillas durante varios meses, hasta marzo de 1917. Después de esta fecha, reconociendo su incapacidad para diseñar una cifra de campo que derrotase a le Bureau du Chiffre, el ejército de tierra alemán recurrió a los códigos. Durante todo este tiempo, sus enemigos en el frente, Francia e Inglaterra, sólo utilizaron una cifra de campo cada uno. Los británicos hicieron uso de su cifra Playfair estudiada en el Capítulo 4. La emplearon en todos los frentes. Consta que fue utilizada incluso por Lawrence de Arabia. Sus aliados franceses hicieron uso de una cifra basada en las transposiciones de columnas, pero con una curiosa variante que describiremos mejor con un ejemplo. Cifremos con la clave ‘LE BUREAU DU CHIFFRE’ el siguiente texto: “Dos compañías enemigas atacan nuestra posición Stop Envíen refuerzos Stop Cuarto batallón” Siguiendo el esquema de cifrado de una transposición de columnas, el texto en claro se escribe formando un rectángulo con tantas columnas como letras tiene la clave. Tales columnas se enumeran conforme al orden alfabético de las letras de la clave. Pero en esta variante francesa, antes de escribir secuencialmente las verticales según el citado orden de las columnas, se escriben primero algunas diagonales que parten de ciertas letras de la primera fila y cuya especificación exacta forma parte también de la clave. En nuestro ejemplo, tales diagonales comenzarán en las columnas 2, 6, 10, 11, 14, 15 y 17. Las tres primeras irán hacia la derecha y las otras cuatro hacia la izquierda, según se indica a continuación: 102
  • 111. 6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL L E B U R E A U D U C H I F F R E 12 5 2 15 13 6 1 16 4 17 3 10 11 8 9 14 7 D O S C O M P A Ñ I A S E N E M I G A S A T A C A N N U E S T R A P O S I C I O N S T O P E N V I E N R E F U E R Z O S S T O P C U A R T O B A T A L L O N El texto cifrado comienza con las diagonales especificadas: primero las que parten hacia la derecha, después las que van a la izquierda, respetando su orden numérico. Si alguna de las diagonales zurdas cruza por una letra perteneciente a una diagonal diestra, dicha letra no se vuelve a escribir. Tras las diagonales van las columnas, según el orden determinado por la clave. De nuevo, al transcribir las columnas, hay que omitir las letras ya escritas. El que sigue a continuación sería el texto cifrado (hemos incluido un espacio en blanco entre diagonales y columnas para que se observe su formación): SAIRL MCSSN SSVU EEPSO MRP CSSR INZA PN IFB AUT ÑT OAEO AO IPNR NTC EI EO N DGOT OTET AEA CUA AAOL NO El motivo de las diagonales en esta cifra francesa es romper la uniformidad en las longitudes de columnas, hecho en que se basa el criptoanálisis de las transposiciones de columnas. No obstante, este cifrado no es más seguro que la doble transposición de columnas que empleaban los alemanes al comienzo de la guerra (su cifra ÜBCHI). Tampoco lo es el famoso Playfair inglés. Y sin embargo, ambos métodos de cifrado no fueron rotos por los alemanes hasta tres años después de iniciada la contienda. La razón de ello ya la hemos señalado: hasta 1916 el ejército alemán no creó su oficina de criptoanálisis, la Abhorchdienst. Desde ese momento, la anterior cifra francesa y el Playfair inglés tenían los días contados. Mientras tanto, el frente occidental había entrado en una fase estática. Los dos ejércitos contendientes se encontraban encerrados en dos enormes líneas de trincheras que iban desde el mar del Norte hasta la frontera suiza. Con los ejércitos inmovilizados en sus refugios subterráneos, el teléfono se convirtió en el medio ideal para establecer comunicación. Pero en el frente, los cables telefónicos estaban intervenidos por el enemigo. Los ingleses lo constataron en la feroz batalla de Ovillers-la-Boiselle (julio, 1916), en la que sufrieron miles de bajas para poder tomar una colina defendida por una guarnición alemana poco numerosa. Cuando por fin lo consiguieron, encontraron en las trincheras alemanas una trascripción completa de su plan de ataque. El mando inglés lo había transmitido en claro por una línea telefónica que los alemanes tenían interceptada. Como consecuencia de tales interceptaciones telefónicas, los aliados se vieron en la 103
  • 112. 6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL necesidad de cifrar sus conversaciones. Para este menester recurrieron a unos códigos especiales que se llamaron códigos de trinchera. Eran pequeños cuadernos que contenían unos pocos cientos de palabras codificadas con dos o tres letras. Tales palabras eran aquellos vocablos de uso frecuente en comunicaciones militares y cuyo significado era esencial para el entendimiento del mensaje. Estaban agrupados por categorías como infantería, artillería, números, lugares, verbos, etc. Cuando una orden militar se cursaba por teléfono, las palabras clave debían ser sustituidas por su correspondiente código para hacer incomprensible el mensaje al enemigo. Naturalmente, el problema que presentaba el uso de estos códigos era que podían caer fácilmente en manos del enemigo, ya que estaban cerca de sus líneas. Por tal motivo, los códigos de trinchera se cambiaban muy frecuentemente. Los primeros fueron diseñados por los franceses a comienzos de 1916. Después de su terrible experiencia en la citada batalla de Ovillers-la-Boiselle, los británicos emplearon también los códigos de trinchera. Incluso los americanos hicieron uso de ellos cuando sus primeras unidades llegaron a Europa a finales de 1917. No obstante, los códigos de trinchera sólo servían para lo que habían sido diseñados. No eran útiles en las comunicaciones radiotelegrafiadas que el alto mando en la retaguardia empleaba con sus divisiones en el frente. En esta tarea, los aliados, después de constatar que la Abhorchdienst había roto sus cifras, emplearon a partir de 1916 códigos con un repertorio de varios miles de palabras. Y para mayor seguridad, los aliados sometían el código resultante a un cifrado posterior. Aún así, el servicio de interceptación germano penetró en numerosas ocasiones en tales comunicaciones. Los libros de códigos estaban demasiado cerca del enemigo y era difícil que no cayesen en su poder. De nuevo era obligado cambiar estos códigos lo más frecuentemente posible. En esta tarea, los americanos eran los más diligentes. Cambiaban sus códigos cada mes. Y ya al final de la guerra utilizaron un código que no necesitaba ser escrito en ningún libro: el lenguaje nativo de los indios Choctaw que formaban parte del ejército americano en Europa. Aunque ello no obedeció a una estrategia criptográfica premeditada, sino que fue algo improvisado. En cierta ocasión, un oficial americano en el frente necesitó comunicar urgente y secretamente con su alto mando. Sabiendo que sus códigos estaban en poder de los alemanes, se le ocurrió poner al teléfono a un Choctaw de su unidad y a otro de estos indios que servía en el puesto de mando americano. La idea funcionó y fue repetida en varias ocasiones. Hay que reconocer que emplear una lengua que nadie conoce en el bando enemigo es un modo muy efectivo de mantener comunicación segura, pero únicamente hasta el momento en el que uno de los hablantes de ese extraño idioma sea hecho prisionero. Los americanos volverían a utilizar a sus soldados aborígenes para este fin en la Segunda Guerra Mundial, en su lucha con los japoneses. En esta ocasión emplearían a los indios Navajos. A comienzos de 1918, Alemania comprendió que si quería ganar la guerra debería hacerlo de forma inmediata. Aunque sus submarinos habían fracasado en el intento de aislar a Inglaterra y Estados Unidos le había declarado la guerra, el desmoronamiento ruso había liberado decenas de divisiones del frente Este y por vez primera Alemania disponía en el Oeste de más soldados que los aliados. Pero esta superioridad iba a durar poco, el tiempo que tardasen los americanos en reunir un gran contingente de tropas en 104
  • 113. 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
  • 114. 6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL S E N E C E S I T A N M U N I C I O N E S ↓ GX DD DA DD FA DD GX AF AG DX DA GA XA DA AF FA AF GD DA DD GX Pero la secuencia obtenida no es el texto cifrado. Antes hay que someterla a una transposición de columnas con otra clave. Hagámoslo con la clave ‘LUDENDORFF’, por ejemplo. Primero formamos el correspondiente rectángulo: L U D E N D O R F F 6 10 1 3 7 2 8 9 4 5 G X D D D A D D F A D D G X A F A G D X D A G A X A D A A F F A A F G D D A D D G X A continuación colocamos secuencialmente las columnas en el orden que determina la clave: DGGA AFAD DXAF FDAD AXFD GDDFG DAXG DADD DGAA XDAAX Y este es ya el texto cifrado. Naturalmente, sin los espacios en blanco colocados de ese modo; ya que ello facilita su criptoanálisis. Nosotros los hemos colocado así para que se observen las columnas. Los alemanes empezaron a radiotelegrafiar usando el cifrado ADFGX el 5 de marzo de 1918. Muy sorprendido se debió quedar el coronel François Cartier, jefe de le Bureau du Chiffre, cuando le llegaron los primeros criptogramas interceptados. Estaba ante un nuevo método de cifrado, uno que no se parecía en nada a los anteriores. Decidió que lo mejor era enviar los criptogramas a la mesa de su mejor criptoanalista. Este era Georges Painvin, entonces capitán de artillería. Painvin no era militar de profesión, ni había tenido contacto con la Criptografía antes de la guerra. Era profesor de Paleontología, primero en la Escuela de Minas de Saint Etienne y después en la de París. Fue la amistad con el oficial encargado de las cifras en el regimiento de artillería en el que prestaba servicio lo que despertó su interés por la Criptografía. En poco tiempo encontró una simplificación en el método francés para romper el sistema ABC alemán. Esto le llevó a le Bureau du Chiffre. La presencia de exactamente cinco letras distintas en los criptogramas llevó a Painvin a la conclusión de que se trataba de un cifrado tomográfico en el que cada letra del alfabeto en claro se debía reemplazar por una de las 25 parejas que pueden formarse 106
  • 115. 6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL con las cinco letras distintas. Lo primero era averiguar si el cifrado consistía en una simple sustitución. Un análisis de frecuencias de los pares de letras permitió a Painvin descartar esta suposición. Después de la sustitución tomográfica el texto resultante se cifraba de algún otro modo. Seguramente, mediante una transposición o un sencillo cifrado polialfabético como, por ejemplo, el de Vigenère. Contempló varias posibilidades, pero no halló evidencia de cual era la correcta. Tras varios días de agotador trabajo, la única nueva conclusión que obtuvo fue que los alemanes cambiaban diariamente la clave. Así lo indicaban las frecuencias de las letras. El 21 de marzo comenzó la gran ofensiva alemana. Tras horas de terrible fuego de artillería, 62 divisiones alemanas desbordaron las líneas aliadas. Franceses y británicos tuvieron que replegarse a poco más de 100 kilómetros de París donde lograron contener a la infantería germana. Como era lógico, la ofensiva alemana vino acompañada de un aumento considerable en el tráfico de mensajes. Ahora Painvin disponía de grandes cantidades de texto cifrado, pero de poca ayuda le sirvió. Hasta que Painvin fijó su atención en los siguientes dos mensajes recibidos el 4 de abril, con trece minutos de diferencia entre ellos. Los hemos recogido del libro ya citado de Kahn “The Codebreakers”: Mensaje 1: ADXDA XGFXG DAXXGX GDADFF GXDAG AGFFFD XGDDGA DFADG AAFFGX DDDXD DGXAXA DXFFD DXFAG XGGAGA GFGFF AGXXDD AGGFD AADXFX ADFGXD AAXAG Mensaje 2: ADXDD XGFFD DAXAGD GDGXD GXDFG AGAAXD XGGAD DFADG AAFFF DDDFF DGDGF DXXXA DXFDA XGGAGF GFGXX AGXXA AGGAX AADAFF ADFFG AAFFA Painvin observó que cada cinco o seis letras había siempre dos o más coincidentes (hemos subrayado todos esos pares repetidos de letras en uno y otro mensaje). Es lo que sucede cuando ciframos mediante una transposición de columnas dos textos con una misma cabecera. Al formar con los textos el rectángulo correspondiente y después escribir secuencialmente las columnas, la coincidencia de los mensajes se traslada a las primeras letras de las columnas. En consecuencia, Painvin acababa de descubrir el método de cifrado que seguía a la sustitución tomográfica: una transposición de columnas. Más aún, gracias a las repeticiones pueden determinarse las columnas en cada texto (las hemos separado insertando espacio en blanco entre ellas). En particular, como en ambos hay 20 columnas, esa debía ser la longitud de la clave que gobernaba la transposición ese día 4 de abril. Painvin ya tenía identificadas las columnas en los dos mensajes. Esta es la parte más difícil del criptoanálisis de una transposición de columnas. Lo que sigue después, colocar las columnas en su orden correcto, es fácil si se hace uso de los bigramas y trigramas más frecuentes del idioma empleado. Sin embargo, aquí la sustitución tomográfica previa imposibilita esta técnica. Pero Painvin no se dio por vencido. Se fijó en el número de letras de los mensajes. El primero contiene 110 letras que hay que 107
  • 116. 6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL repartir entre 20 columnas. Ello obliga a que diez de estas columnas contengan seis letras y otras diez tengan cinco letras. Del mismo modo, al tener el segundo mensaje 104 letras, en él tiene que haber cuatro columnas de 6 seis letras y dieciséis de cinco. Las columnas con más letras son las situadas a la izquierda en el rectángulo que ha de formarse para efectuar la transposición. Sus números son entonces los primeros en el orden que determina la clave. En consecuencia, las cuatro columnas que en ambos mensajes tienen seis letras deben ocupar las cuatro primeras posiciones del rectángulo. Estas son las columnas que en los mensajes ocupan las posiciones 3, 6, 14 y 18. Por tanto, éstos son los cuatro primeros números de la clave, aunque no en ese orden necesariamente. Las columnas con seis letras en el primer mensaje pero cinco en el segundo deben seguir a las cuatro anteriores. Son las siguientes: 4, 7, 9, 11, 16 y 19. Y, finalmente, las restantes diez columnas deben situarse a la derecha del rectángulo. Painvin ya tenía una primera aproximación al orden de las columnas determinado por la clave. Pero esa era toda la información que podía extraerse de los dos mensajes con igual cabecera, insuficiente para recuperar la clave. Por fortuna, entre los demás mensajes interceptados ese mismo día, también había dos de ellos con un final común. De nuevo esta coincidencia permitía identificar sus columnas. Un razonamiento similar al anterior llevó a Painvin a la conclusión que las columnas 5 y 8 eran adyacentes y ocupaban las posiciones 11 y 12 del rectángulo, aunque no podía deducirse si en el orden 5-8 ó en orden 8-5. También se deducía que las columnas 12 y 20 se situaban en los lugares 19 y 20 del rectángulo, pero tampoco podía precisarse el orden. No concluyó aquí el genio y la paciencia del criptoanalista francés. Consideró el resto de los mensajes del mismo día y en cada uno de ellos localizó las columnas 5 y 8. Puso una a continuación de la otra y formó pares de letras. Obtuvo así un número importante de ellos y efectuó un análisis de frecuencias. Estas frecuencias eran similares a las de las letras en alemán, siendo el par más frecuente el ‘GD’. Sin duda, la coincidencia de frecuencias confirmaba que Painvin iba por el camino correcto. A continuación repitió el proceso anterior con las columnas 19 y 20. Obtuvo resultados similares pero con los pares invertidos. Así, ahora el par más frecuente era el ‘DG’. Painvin comprendió entonces que como la longitud de la clave era par, dos claves distintas daban lugar al mismo cifrado. Fijada una de ellas, la otra se obtiene cambiando filas por columnas en el cuadrado 5×5 que determina la sustitución tomográfica de la primera fase del cifrado, y después reemplazando las letras en lugar impar por sus consecutivas par en la clave que rige la transposición de columnas. Bastaba con recuperar una de ellas. Por ejemplo, la que situaba las columnas 5 y 8 en ese mismo orden 5-8. En esta clave, el orden correcto de las columnas 12 y 20 era 20-12. Painvin no sólo tenía ya el orden exacto de cuatro de las veinte columnas que se transponían, sino las casillas del cuadrado 5×5 que correspondían a las letras más frecuentes en alemán. Por ejemplo, como la letra más común en alemán es, con diferencia, la ‘e’, esta letra debe ocupar la casilla correspondiente al par ‘GD’, el más frecuente. Así, la ‘e’ debe figurar en la fila de la ‘G’ y en la columna de la ‘D’: 108
  • 117. 6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL A D F G X A D F G e X El análisis de frecuencias que Painvin efectuó con las columnas 5, 8, 12 y 20 le hizo notar que las columnas situadas en lugares impares presentaban frecuencias similares de cada una de las letras A, D, F, G y X; pero diferentes de las columnas que se colocaban en un lugar par. Esta observación permitía descubrir la paridad del resto de las columnas. Hecho esto, el paso siguiente fue emparejar cada columna impar con su consecutiva par. Ello ya no es difícil. Por ejemplo, como las columnas 3, 6, 14 y 18 van a la izquierda del rectángulo, la pareja de la columna 3 debe ser una de las otras dos con paridad distinta. Las frecuencias de los pares de letras que resultan en cada una de las dos asociaciones candidatas determinarán cual es la correcta: aquella que más se parezca a la distribución de frecuencias del alemán. La parte difícil del criptoanálisis ya estaba hecha. El resto era sólo cuestión de paciencia y tiempo. Y por fin, el 26 de abril, Painvin concluyó este criptoanálisis que había iniciado tres semanas antes. Posiblemente el significado de los mensajes que ahora se revelaban era ya de poca utilidad a los aliados, pero el esfuerzo de Painvin daría sus frutos los próximos días. En le Bureau du Chiffre ya sabían como recuperar una clave ADFGX cuando hubiese dos mensajes cifrados con ella con una misma cabecera. Varias personas trabajando en ello al mismo tiempo reducirían las tres semanas que empleó Painvin a unas pocas horas. De repente, el 1 de junio los mensajes ADFGX incorporaron una sexta letra, la ‘V’. Los alemanes ampliaron el cuadrado 5×5 a otro 6×6 para incluir los dígitos del 0 al 9. Naturalmente, no se lo comunicaron a Painvin; pero fue lo primero que sospechó el criptoanalista francés. Al día siguiente ya estaba seguro de su conjetura y había descifrado los mensajes encriptados con el nuevo sistema. Entre los criptogramas que el cuartel general alemán radiotelegrafió ese mismo día 1 de junio figuraban los dos siguientes. Uno con 106 letras y el otro con 108: Mensaje 1: GAFFA FVAAG AVFGX XVFXD XXXAA VXVDXF ADFDF AXADD GGAXX XGXVG DFXVA XGFVA AXFGX FXVDA ADXXX DAXAA GAXVA FDGGX FGGGF DAAXD XAGXF Mensaje 2: GGAXX VXXAA AXADD XAGXF DAXAA XDAAXD VXVDXF XGFVA XGXVG FVAAG FGGGF GAFFA ADXXX GAXVA FXVDA VFDGGX VDFDF DFXVA XVFXD AVFGX AXFGX Painvin notó que había numerosos bloques de letras que eran comunes a ambos textos pero en posiciones distintas, la mayoría de cinco letras (hemos subrayado dos de dichos bloques, uno de cinco letras y otro de cuatro). Haciendo coincidir los trozos 109
  • 118. 6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL iguales, Painvin observó que los dos mensajes quedaban divididos en 21 partes (las hemos separado insertando espacio en blanco en los mensajes anteriores). Como puede observarse, todas las partes del primer criptograma tienen cinco letras excepto la que ocupa la sexta posición, que tiene seis. En el segundo texto hay tres trozos de seis letras, los situados en los lugares 6, 7 y 16. El resto es de cinco letras. Estos 21 bloques en que hemos dividido los mensajes son precisamente las columnas de la transposición a la que han sido sometidos. La coincidencia de las columnas es debida a que los textos en claro son casi idénticos, sólo se diferencian en unas pocas letras en su inicio. Descubierta la longitud de la clave utilizada en la transposición, el paso siguiente que dio Painvin fue obtenerla. La siguiente argumentación le condujo a ella. Puesto que el único trozo de seis letras en el primer criptograma es el sexto, debe ser la primera columna del rectángulo. Por tanto, el primer número de la clave es el 6. El segundo criptograma tiene dos letras más que el primero. Luego las letras que en el primer mensaje ocupan una determinada columna se trasladan dos columnas a la derecha en el segundo mensaje. El sexto bloque del primer texto coincide con el séptimo en el segundo texto. En consecuencia, el tercer número de la clave es el 7. El séptimo bloque del primer mensaje y el decimoséptimo del segundo coinciden en sus cuatro últimas letras, luego 17 es el quinto número de la clave. Y así se obtienen los números de la clave situados en una posición impar. Pero el mismo razonamiento permite descubrir también los números de los lugares pares: Las letras que en el primer mensaje ocupan la última columna van a parar a la segunda columna en el segundo mensaje. Puesto que la última columna tiene asociada el número 18 de la clave y el trozo decimoctavo de primer criptograma coincide con las cinco últimas letras del decimosexto del segundo, entonces 16 es el segundo número de la clave. Y continuando con el argumento se recuperan los demás números de los lugares pares. De este modo, Painvin completó la clave que regía la transposición de columnas: 6, 16, 7, 5, 17, 2, 14, 10, 15, 9, 13, 1, 21, 12, 4, 9, 19, 3, 11, 20, 18. El próximo objetivo era descubrir el cuadrado 6×6 que constituía la clave de la sustitución tomográfica. Era ya fácil. Sólo había que deshacer la transposición de columnas en los mensajes de ese día 1 de junio, dividirlos en pares de letras A, D, F, G, V, X y efectuar un análisis de frecuencias con ellos. Esta tarea la concluyó Painvin el día siguiente. El cuadrado 6×6 era el que se muestra a continuación: A D F G V X A c o 8 x f 4 D m k 3 a z 9 F n w l 0 j d G 5 s i y h u V p 1 v b 6 r X e q 7 t 2 g El texto en claro del primer criptograma era el siguiente: “14 ID XX Gen Kdo ersucht vordere linie sofort drahten XX Gen Kdo 7.” 110
  • 119. 6. LA CRIPTOGRAFIA EN LA PRIMERA GUERRA MUNDIAL En este mensaje, el cuartel general alemán requería a la división de infantería nº 14 un informe urgente sobre la situación en el frente. El segundo de los textos en claro coincidía casi exactamente con el primero. La única diferencia era que comenzaba por 216 ID, ya que iba dirigido a la división nº 216. Una redacción diferente en el segundo texto habría hecho imposible el criptoanálisis de Painvin. En verdad, no parece que el contenido del par de mensajes previos hubiera sido de interés para la estrategia militar francesa, pero sí que lo fue el de otros mensajes que pudieron descifrarse con la clave descubierta. En aquella fecha, el ejército alemán estaba a unos 60 kilómetros de París y su artillería de largo alcance bombardeaba sin cesar la capital francesa. Era inminente un próximo ataque germano que, de triunfar, pondría París a sus pies. Los mensajes descifrados revelaron que dicho ataque iba a tener lugar sobre la línea francesa entre Montdidier y Compiègne. En efecto, el 9 de junio quince divisiones alemanas se lanzaron sobre un ejército francés que estaba prevenido. Fueron aniquiladas. Muy pocas veces más contaron los aliados con la ventaja que da el conocer los planes del enemigo. De hecho, los franceses sólo recuperaron diez claves ADFGVX alemanas durante la guerra, cuando eran posibles las técnicas que aquí hemos presentado. Painvin no logró encontrar una solución general para esta cifra alemana. Después de la contienda, Painvin volvió a sus clases de Paleontología y terminó dedicándose al mundo de los negocios. Nunca más tuvo contacto alguno con la Criptografía. No obstante, el cifrado ADFGVX continuó siendo objeto de estudios posteriores. La primera guerra mundial marcó un punto de inflexión en la historia de la Criptografía Militar. Antes de ella, únicamente el ejército francés contaba con oficiales formados en códigos y cifras. Después de la guerra, todos los ejércitos crearon unidades especializadas en Criptografía. Por otra parte, en la lucha que mantuvieron diseñadores de cifras y códigos con sus adversarios criptoanalistas, es clara la victoria de estos últimos. A pesar de la variedad de códigos y cifras que se emplearon, el triunfo de los criptoanalistas fue contundente. Y eso que la mayoría de ellos eran ajenos a la Criptografía antes de la guerra. Claro, que contaron con un par de ayudas inestimables. La primera: la gran cantidad de texto cifrado que proveían las interceptaciones del telégrafo y, sobre todo, la radio. La segunda, más importante: la falta de una seria instrucción criptográfica en las personas que manejaban la información encriptada. Pero a pesar de tan humillante derrota, no se desanimaron los creadores de cifras. Pronto volverían a la lucha. Esta vez armados no sólo con lápiz y papel, sino con máquinas electromecánicas. Pero antes demos paso al álgebra, que quiere poner un poco de orden en esta pacífica batalla. 111
  • 121. 7 ÁLGEBRA Y CRIPTOGRAFÍA En 1929, la revista “American Mathematical Monthly” publicaba un artículo de siete páginas con el título “Cryptography in an Algebraic Alphabet”. Su autor, Lester S. Hill, ideaba un criptosistema en el que los procesos de cifrado y descifrado se describían mediante ecuaciones algebraicas. Era la primera vez que a alguien se le ocurría algo semejante. En realidad, el cifrado que se proponía era mucho menos seguro y práctico que los que ya se utilizaban en aquellos días, cuyo diseño no requería emplear herramienta matemática alguna; pero gracias al trabajo de Hill el Álgebra hizo su entrada en el mundo de la Criptografía. Y una vez dentro, ha ido ocupando poco a poco un espacio cada vez más amplio, hasta el punto que toda la Criptografía actual se formula en términos algebraicos. El presente capítulo trata de explicar aquellas ideas de Hill que abren la puerta de la Criptografía moderna. Comencemos considerando una ecuación algebraica como la siguiente: y = 5x + 11, donde x e y son indeterminadas. Si cambiamos la x por un número cualquiera, entonces la y toma el valor que proporciona el resultado obtenido tras las operaciones. Por ejemplo, si x = 2, entonces y = 5·2 + 11 = 21; si x = 18, y = 101. En consecuencia, podemos ver la ecuación anterior como una regla que transforma un número x en otro y. Imaginemos ahora que disponemos de una “suma” y un “producto” en un alfabeto; que dadas dos de sus letras, las podemos sumar o multiplicar y obtener una tercera letra. Entonces podemos considerar ecuaciones similares a la anterior, donde ahora los coeficientes son letras del alfabeto en lugar de números. Por ejemplo: y = T·x + B . Estas ecuaciones proporcionan reglas para transformar unas letras en otras y, en consecuencia, pueden ser la base de una forma de cifrado. Desarrollemos esta idea. Definamos en primer lugar una suma y un producto entre las letras de un alfabeto. Una manera de hacerlo puede ser a través de la suma y producto de números enteros, operaciones fáciles de realizar. Para concretar, consideremos nuestro alfabeto español de 27 letras. Identificamos sus letras con los números comprendidos entre 0 y 26, asociando a cada letra un entero diferente. Por ejemplo, el que indica el orden que ocupa la letra en el alfabeto, empezando a contar desde el 0. La siguiente Tabla 7.1 muestra esta identificación: 113
  • 122. 7. ÁGEBRA Y CRIPTOGRAFÍA A B C D E F G H I J K L MN Ñ O P Q R S T U VWX Y Z 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Tabla 7.1. Identificación de letras y números. Hecha esta asociación entre letras y números, la suma de letras se obtiene sumando los números correspondientes y sustituyendo después el resultado por la letra asociada. Naturalmente, puede ocurrir que la suma exceda a 26. En tal caso, 27 sería otra vez la A, 28 la B, 29 la C y así sucesivamente. Por tanto, bastará restar 27 a dicho resultado para obtener la letra suma. Los siguientes ejemplos aclaran esta definición: F+J=Ñ (5 + 9 = 14) D+T=W (3 + 20 = 23) M+X=J (12 + 24 = 36 → 36 – 27 = 9) De un modo similar se define la multiplicación de letras: multiplicando los números asociados, restando sucesivas veces 27 al producto hasta conseguir un número entre 0 y 26, y reemplazando este entero por la letra correspondiente. En este caso, como el resultado puede sobrepasar en mucho a 27, para evitar restar una y otra vez dicho número, se puede dividir entre 27 y tomar el resto. De nuevo los ejemplos resuelven cualquier duda sobre esta otra operación: D·G = R (3·6 = 18) E·K = N (4·10 = 40 → 40 – 27 = 13) L·P = Ñ (11·16 = 176 = 6·27 + 14 → 14) El lector con conocimientos en matemáticas habrá reconocido que hemos definido las operaciones anteriores recurriendo a la que en Álgebra se denomina aritmética modular. Habrá notado que en realidad las letras del alfabeto se han identificado con las clases de congruencia módulo 27 y que la suma y el producto de letras corresponden fielmente a la suma y producto de clases. Por otra parte, el lector que desconozca esta terminología puede perfectamente ignorarla. Tranquilamente puede operar con las letras como si fueran números, ya que las operaciones con letras que hemos definido antes presentan las mismas propiedades que sus homónimas con números enteros. Si lo desea, puede convencerse de ello comprobando igualdades como las siguientes: M·Z = O = Z·M (Propiedad conmutativa) F·(J + L) = S = F·J + F·L (Propiedad distributiva) Definidas ya una suma y un producto en nuestro alfabeto, podemos considerar ecuaciones similares a aquella de partida: y = 5x + 11; pero con letras en lugar de números. Por ejemplo, al sustituir los números por sus letras asociadas, esa misma ecuación adquiere el aspecto y = F·x + L; ya que el 5 se identifica con la F y el 11 con la L. Haciendo en esta ecuación x = C, entonces y = F·C + L = U (5·2 + 11 = 21); si x = R, 114
  • 123. 7. ÁLGEBRA Y CRIPTOGRAFÍA y = T. Como decíamos antes, tenemos una regla que cambia una letra x por otra y. Puede ser un método de cifrado que transforme un texto en claro en un criptograma: Claro: A T A C A M O S A L A M A N E C E R 0 20 0 2 0 12 15 19 0 11 0 12 0 13 4 2 4 18 ↓ y=F·x+L (y=5x+11) 11 3 11 21 11 17 5 25 11 12 11 17 11 22 4 21 4 20 Cifrado: L D L U L Q F Y L M L Q L V E U E T Ahora bien, para que esta transformación sea en efecto un modo de cifrar, ha de resolverse antes el siguiente problema: ¿cómo descifra el mensaje el receptor del mismo? Éste conoce la ecuación que ha producido el criptograma y cada una de sus letras, que son los valores que va tomando la indeterminada y; pero, ¿cómo recupera los de x, las letras del texto en claro? Tal vez despejando x en la ecuación que ha originado el criptograma: y−L F·x + L = y → F·x = y − L → x = F No, no es tan sencillo. Hemos procedido como si de una ecuación con coeficientes numéricos se tratara y, dejándonos llevar por el hábito con estas ecuaciones, hemos recurrido a la resta primero y a la división después. No hemos analizado si están disponibles estas operaciones en nuestra aritmética de letras. Hay que despejar x con más cuidado. En primer lugar, eliminar la L de la suma F·x + L requiere añadir a esta misma suma la opuesta de L. Este concepto se entenderá mejor si recordamos antes su homónimo para números enteros. El opuesto de un número es aquel que al sumar ambos resulta 0, el neutro para la suma. Como es bien sabido, el opuesto de un entero se obtiene cambiándole el signo. Sin embargo, las letras de nuestro alfabeto carecen de signo y no es tan inmediato obtener sus opuestas. Aunque tampoco es difícil. La letra que resulta neutra para la suma es la A, precisamente la que hemos identificado con el 0. Por tanto, la opuesta de una letra es aquella otra que al sumar ambas se obtiene A. Así, la opuesta de A es ella misma porque A+A = A; la de B es Z, ya que B+Z = A; la de C es Y porque C+Y = A; etcétera. La opuesta de L es P y con ella cancelamos L en la suma F·x + L: F·x + L = y → F·x + L + P = y + P → F·x + A = y + P → F·x = y + P Eliminar F en el producto F·x se consigue de un modo similar, pero operando ahora con su inversa. La inversa de una letra es aquella que al multiplicar ambas resulta la neutra para el producto; que es la letra B, la asociada al 1. Calcular inversas en esta aritmética de letras es más complicado que hallar opuestas. Sucede que no todas las letras tienen inversa. Por ello, siguiendo la terminología algebraica, denominaremos unidades a las letras que poseen inversa. Estas letras unidades se caracterizan por ser primo con 27 su número asociado (así se dice cuando el máximo común divisor de dos enteros es 1). Razonar esta caracterización de las unidades escapa al nivel de este texto y remitimos al 115
  • 124. 7. ÁGEBRA Y CRIPTOGRAFÍA lector interesado a los textos de Álgebra que tratan con la citada aritmética modular. La hemos incluido aquí porque permite determinar fácilmente qué letras son unidades: aquellas cuyo entero asociado no es múltiplo de 3, que es el único divisor primo de 27. Esta es entonces la lista de letras unidades: Unidades: B, C, E, F, H, I, K, L, N, Ñ, P, Q, S, T, V, W, Y, Z. Afortunadamente, entre estas letras está la F y, en consecuencia, posee inversa. El mejor modo de calcular la inversa de una letra es emplear un algoritmo que a tal efecto dispone la aritmética modular; pero de nuevo su compresión supera el nivel que aquí pretendemos. No importa, tampoco es imprescindible. Podemos obtener la inversa de una letra multiplicándola por cada una de las letras de la lista anterior hasta dar con ella. Como la lista no es muy amplia, no tardaremos más de unos minutos en calcular la inversa de cada letra. He aquí el resultado de los cálculos: Unidad: B C E F H I K L N Ñ P Q S T V W Y Z Inversa: B Ñ H L E Q S F Y C V I K W P T N Z Tabla 7.2. Unidades y sus inversas. La inversa de la F es la L. Con ella despejamos completamente x: F·x = y + P → L·F·x = L·(y + P) → B·x = L·y + L·P → x = L·y + Ñ Con esta ecuación, el receptor puede ya descifrar el mensaje: Cifrado: L D L U L Q F Y L M L Q L V E U E T 11 3 11 21 11 17 5 25 11 12 11 17 11 22 4 21 4 20 ↓ x=L·y+Ñ (x=11y+14) 0 20 0 2 0 12 15 19 0 11 0 12 0 13 4 2 4 18 Claro: A T A C A M O S A L A M A N E C E R Notemos que este modo de cifrar a partir de ecuaciones de la forma y=a·x+b responde a la noción de criptosistema. Las claves son los pares de letras (o sus equivalentes numéricos) formados por el coeficiente a y el término independiente b, con la condición que a sea una unidad para que el descifrado responda a una ecuación similar. En el ejemplo desarrollado antes, la clave es a=F y b=L. Algunas publicaciones utilizan el término criptosistema afín para referirse a este modo de cifrar. En este criptosistema afín el número de claves es muy reducido. El coeficiente a puede tomar el valor de una de las 18 unidades del alfabeto, mientras que b puede ser cualquiera de las 27 letras. En total: 18·27 = 486 claves diferentes. Un número que permite el criptoanálisis comprobando una a una todas las claves posibles. Por otro lado, cada ecuación de la forma y=a·x+b, con a unidad, determina de hecho una sustitución de las letras del alfabeto y, en consecuencia, el criptosistema afín puede ser visto como un 116
  • 125. 7. ÁLGEBRA Y CRIPTOGRAFÍA “subcriptosistema” del cifrado por sustitución. Esto implica que el criptoanálisis basado en el análisis de frecuencias es también aplicable al criptosistema afín. Más aún, una combinación del análisis de frecuencias y la resolución de sistemas de ecuaciones puede permitir criptoanalizar textos muy reducidos. Veamos un ejemplo. Consideremos el siguiente criptograma, obtenido al cifrar un breve texto en español mediante cierta ecuación del tipo y=a·x+b: HBCOB TTJIG IRTSH KTWGJ JCVIT TSFJT VCBCA HTCJH FYHAR GAHTI KTNYH CRYHI ATCKT CAGHT CJHAY GFRVN YHDGH SVKTY CH Criptograma En él, la letra más frecuente es la T, que aparece 14 veces; la siguiente en frecuencia es la H, con 13 apariciones; después la C, en 10 ocasiones; y a continuación vienen cuatro letras que se repiten 6 veces cada una. Aunque el texto es muy corto para que su distribución de frecuencias siga el patrón de frecuencias de nuestro idioma, es probable que dos de las tres letras anteriores sean las sustitutas de las vocales E y A, las letras más frecuentes en español. Hagamos la suposición que la E se transforma en la T y la A en la H. Entonces, si en la ecuación de descifrado x=c·y+d cambiamos y por T, x adquiere el valor E; y si sustituimos y por H, el nuevo valor de x es A. Ello permite plantear el siguiente sistema de dos ecuaciones y dos incógnitas c y d:  c·T + d = E  c·H + d = A Para resolverlo procedemos como si de ecuaciones numéricas se tratara, empleando opuestas e inversas de letras. Imitando la notación numérica, a la opuesta de una letra la denotaremos con el signo “−” delante; y a la inversa situando el signo “ –1 ” detrás de ella. También escribiremos T−H en lugar de T+(−H). Así, al emplear esta notación surge la resta de letras, que en realidad es la suma de una de ellas con la opuesta de otra. Despejemos ya c restando a la primera ecuación la segunda: c·(T−H) = E−A → c·N = E → c = E·N–1 = E·Y = S Nótese que para poder despejar c hemos necesitado utilizar N–1 (=Y), la inversa de N. Obtenida c, la otra incógnita d se obtiene despejándola en una de las dos ecuaciones de partida: c·T + d = E → d = E−c·T = E−S·T = E − C = C De este modo, la hipótesis que la E se transforma en la T y la A en la H ha conducido a un sistema de ecuaciones cuya resolución ha proporcionado la ecuación de descifrado x=S·y+C. Si la suposición anterior es correcta, esta ecuación permitirá el descifrado del criptograma. En otro caso, habrá que efectuar otras conjeturas con la procedencia de las letras T y H y resolver los correspondientes sistemas de ecuaciones, 117
  • 126. 7. ÁGEBRA Y CRIPTOGRAFÍA hasta dar con la ecuación de descifrado correcta. No será necesario resolver muchos de ellos. La seguridad del criptosistema afín se aumenta ampliamente si en lugar de partir de una ecuación del tipo y=a·x+b, lo hacemos de un sistema con varias ecuaciones y varias indeterminadas x e y; tal y como hizo Hill en su publicación. Por ejemplo, consideremos el siguiente sistema de cuatro ecuaciones, cuatro indeterminadas x y otras tantas y: y1 = C·x1 + D·x2 + B·x3 + B·x4 y2 = B·x1 + F·x2 + B·x3 + E·x4 y3 = G·x1 + D·x2 + H·x3 + F·x4 y4 = L·x1 + B·x2 + F·x3 + D·x4 Si en este sistema cambiamos las x por letras, entonces las y toman el valor que proporciona el resultado de efectuar las operaciones indicadas en cada ecuación. Por ejemplo, cambiemos x1 por A, x2 por T, x3 por A, x4 por C y hagamos operaciones según nuestra aritmética de letras: y1 = C·A + D·T + B·A + B·C = I (2·0+3·20+1·0+1·2=62 → 8) y2 = B·A + F·T + B·A + E·C = A (1·0+5·20+1·0+4·2=108 → 0) y3 = G·A + D·T + H·A + F·C = P (6·0+3·20+7·0+5·2=70 → 16) y4 = L·A + B·T + F·A + D·C = Z (11·0+1·20+5·0+3·2=26) Obtenemos entonces las cuatro letras I, A, P y Z. Estamos ahora ante una regla que transforma una cuaterna de letras en otra y que puede dar lugar a un método de cifrado. Del tipo poligráfico, ya que antes de cifrar hay que dividir el texto en claro en bloques de cuatro letras: Claro: A T A C A M O S A L A M A N E C E R X X ↓ ↓ ↓ ↓ ↓ Cifrado: I A P Z P P T J R V M T R W W M C Y O L (Nótese que hemos añadido dos letras nulas al final del texto en claro para aumentar el número de sus letras a un múltiplo de cuatro y poder así dividirlo en trozos de cuatro letras cada uno.) De nuevo se presenta el mismo problema que antes: ¿cómo descifra el mensaje el receptor del mismo? La solución también es idéntica: despejando las indeterminadas x en el sistema de ecuaciones que ha producido el criptograma. Ello puede hacerse despejando sucesivamente una incógnita en una ecuación y sustituirla en las restantes; pero este proceso es largo y tedioso con la aritmética de letras. Más cómodo resulta recurrir al cálculo matricial, que esperemos no sea del todo desconocido por el lector. Para ello, escribamos el anterior sistema de ecuaciones en forma matricial: 118
  • 127. 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   y   L B F D  x  3     4    4 Llamando Y a la matriz de las indeterminadas y, X a la de las x y M a la matriz de letras, la igualdad anterior se abrevia Y = M·X. Despejar X en esta igualdad requiere multiplicar ambos miembros por M –1, la inversa de la matriz M; y hacerlo por la izquierda, ya que el producto de matrices no es conmutativo: M·X = Y → M –1·M·X = M – 1·Y → I·X = M –1·Y → X = M –1·Y (Como es habitual en el cálculo matricial, la letra I denota a la matriz identidad, la neutra para el producto.) Pero claro, para que la manipulación algebraica anterior sea válida debe existir M – 1. Es lo que verificamos a continuación. El lector que haya manejado matrices antes sabe que no todas poseen inversa, y tiene ya en mente la regla que dice que las matrices con inversa son aquellas que su determinante es distinto de cero. En nuestra aritmética de letras, esta regla adquiere la forma siguiente: una matriz (cuadrada) posee inversa si y sólo si su determinante es una unidad. El cálculo del determinante de M puede efectuarse directamente con la aritmética de letras, haciendo uso de las propiedades de los determinantes. Otra posibilidad es considerar la matriz numérica que se obtiene al sustituir cada una de las letras de M por su equivalente numérico, hallar su determinante empleando la aritmética habitual y reemplazarlo por la letra correspondiente. Quien no esté familiarizado con la aritmética modular preferirá esta segunda opción: C D B B 2 3 1 1 B F B E 1 5 1 4 → = 346 G D H F 6 3 7 5 L B F D 11 1 5 3 El determinante numérico es entonces 346. Al dividirlo entre 27 resulta un resto de 22, que corresponde con la letra V. Por consiguiente: |M| = V y como esta letra es una unidad (su inversa es P), entonces existe M – 1. Hallémosla. La manera más rápida es hacerlo directamente con la aritmética de letras y empleando el conocido método de Gauss, que puede adaptarse a esta singular aritmética. También es posible el cómputo de M –1 sin usar esta adaptación, obteniendo antes la inversa de la matriz numérica asociada y escribiendo sus elementos como fracciones cuyo denominador común es |M| = 346: 119
  • 128. 7. ÁGEBRA Y CRIPTOGRAFÍA −1 2 3 1 1  3468 8 − 346 38 50     155 346 346  1 5 1 4  − 18 − 346 1 − 26  6 =  346 346 346  3 7 5 81 − 92 91 − 56    346 346 346 346  11 1 5 3  − 216 130 − 12 34     346 346 346 346  A continuación se calcula la letra que corresponde a cada una de estas fracciones: se cambian los números por los restos de la división entre 27, se sustituyen éstos por las letras asociadas y se realizan operaciones, teniendo en cuenta que dividir no es sino multiplicar por la inversa. Por ejemplo: 8 8 I → → = I·V -1 = I·P = (8·16 = 128 → 20) = T 346 22 V 38 11 L − →− → − = − L·V -1 = P·P = (16·16 = 256 → 13) = N 346 22 V Las letras obtenidas componen la matriz inversa: T T N Q   W J L P M −1 = A N Y V  A B   X E  Y calculada esta matriz, el receptor del mensaje puede descifrar el mismo a partir de la ecuación matricial X = M – 1·Y: Cifrado: I A P Z P P T J R V M T R W W M C Y O L ↓ X = M –1·Y Claro: A T A C A M O S A L A M A N E C E R X X Este modo de cifrar a partir de ecuaciones matriciales de la forma Y = M ·X es el criptosistema de Hill que mencionamos al comienzo del capítulo. La clave es la matriz M, que debe ser cuadrada y regular (así se llaman las matrices que tienen inversa). En nuestro ejemplo, la matriz M empleada es de tamaño 4×4, con 4 filas y 4 columnas; pero perfectamente pueden considerarse matrices con cualquier otra dimensión. No obstante, manejando sólo matrices regulares 4×4, el número de claves es ya enorme. Puede demostrarse que, con nuestro alfabeto español, el número de tales matrices se eleva a 44956345164157176721920. Y como este número representa un poco más de la mitad del total de matrices 4×4 (exactamente: el 56,36%), la búsqueda de matrices regulares puede hacerse de modo aleatorio: eligiendo unas pocas al azar, muy probablemente alguna de ellas es regular y puede emplearse como clave. No obstante, no es necesario recurrir al azar para encontrar tales matrices: el álgebra matricial dispone de sencillos métodos que 120
  • 129. 7. ÁLGEBRA Y CRIPTOGRAFÍA permiten obtener amplias colecciones matrices regulares y sus inversas, del tamaño que se desee. Con ellos, la generación de claves en este criptosistema no constituye ningún problema. Resulta curioso notar que al emplear como clave matrices cuyas filas y columnas son nulas a excepción de un único elemento que es un 1, el cifrado resultante es una transposición regular (véase el Capítulo 5). Por ejemplo, de este tipo es la matriz 5×5 que figura en la siguiente ecuación matricial:  y1   0 1 0 0 0   x1        y2   0 0 0 1 0   x2   y  = 0 0 1 0 0  ·  x3   3     y4   0 0 0 0 1   x4  y      5  1 0 0 0 0   x5   Esta ecuación transforma la palabra de 5 letras ‘CLAVE’ en ‘LVAEC’ y, en general, reordena las letras de un pentagrama en el orden 2ª, 4ª, 3ª, 5ª y 1ª. Por tanto, el cifrado resultante es una transposición regular de periodo 5. Recíprocamente, cualquier transposición regular de periodo n puede describirse mediante una ecuación matricial en la que interviene una matriz n×n con unos y ceros. Naturalmente, no es aconsejable recurrir al cálculo matricial para manejar transposiciones. Como ya hemos señalado antes, el criptosistema de Hill responde al modelo de los cifrados poligráficos: si la matriz empleada como clave es dimensión n×n, se divide el texto en claro en trozos de longitud n y cada uno de ellos se cifra de manera diferente. En consecuencia, el criptoanálisis a partir de texto cifrado únicamente es muy complicado si n es al menos 4. Sólo sería posible si en los criptogramas aparecen trozos repetidos de longitud n y corresponden con los de alguna palabra probable que ha sido identificada. Algo muy difícil de observar para valores altos de n. No obstante, la clave en el criptosistema de Hill está comprometida si se dispone de un pequeño fragmento de texto en claro y su correspondiente cifrado. Para mostrarlo, consideremos el siguiente criptograma HAHPT ÑMDDZ JGQGE TDOBF YAGÑL DKNTG EZPVR HUMPX IJFPI QRJOV BZIIG FÑVVN BZÑHU KFP Criptograma. Sabemos que ha sido originado con el criptosistema de Hill cifrando cierto texto que comienza así: “EN NOMBRE DE LA REINA...”. Esta información va a ser suficiente para obtener la matriz M que constituye la clave. O mejor aún, su inversa M –1 que permite el descifrado. En primer lugar, examinemos cuál puede ser el tamaño n×n de estas matrices. Puesto que el criptograma es la concatenación de bloques de n letras, su longitud total ha 121
  • 130. 7. ÁGEBRA Y CRIPTOGRAFÍA de ser un múltiplo de este entero n. Dado que tal longitud es 68 y sus divisores son 2, 4 y 17, éstos son los valores posibles de n. Y como emplear matrices 2×2 no es muy seguro y las de tamaño 17×17 son poco manejables, contemplaremos como primera opción de n el valor 4. Entonces, dividiendo el fragmento de texto en claro y su correspondiente cifrado en tetragramas, tenemos el siguiente esquema de descifrado: Cifrado: H A H P T Ñ M D D Z J G Q G E T D . . . ↓ ↓ ↓ ↓ Claro: E N NO M B R E D E LA R E I N A... Consideremos la ecuación que suponemos produce tal descifrado: X = M –1·Y. Si en esta ecuación cambiamos Y por uno de los tetragramas en que se ha dividido el texto cifrado, la matriz X debe tomar el valor del correspondiente tetragrama de texto en claro. Gracias al conocimiento del fragmento de texto en claro, podemos plantear las siguientes cuatro ecuaciones matriciales: E H M T  D  D R Q                 N −1  A   B −1  Ñ  E −1  Z  E −1  G   N  = M · H  ,  R  = M · M  ,  L  = M · J  ,  I  = M · E    O   P   E   D   A   G       T             N   Equivalen a una única ecuación matricial, la siguiente: E M D R H T D Q     N B E E −1  A Ñ Z G N = M · R L I H M J E  O    P D G T  E A N     Llamemos C a la matriz de la izquierda en la igualdad anterior y D a la de la derecha. Tal ecuación se abrevia entonces C = M –1·D. La matriz D es cuadrada y quizás sea regular. En tal caso, podremos despejar M –1: M –1·D = C → M –1·D ·D –1 = C ·D – 1 → M –1 = C ·D –1 Afortunadamente, existe tal matriz D – 1. Su cómputo puede realizarse de la manera indicada antes. Resulta la siguiente matriz: J M Ñ Q   F U U S D −1 = H F A C   U G Ñ K   122
  • 131. 7. ÁLGEBRA Y CRIPTOGRAFÍA Entonces: E M D R  J M Ñ Q  J R T W       N B E E  F U U S R F P R M −1 = C·D −1 = · = N R L I  H F A C  T P X Q O E A N U G      Ñ K W R  Q C       Y calculada M –1, el texto en claro que esconde el criptograma está ya a nuestro alcance. Podría haber ocurrido que la matriz D fuese singular; esto es, que no tuviese inversa. En tal caso, no hubiera sido posible despejar M – 1 en la ecuación C = M –1·D. Pero el criptoanálisis no se detiene. Sucede entonces que dicha ecuación admite más de una solución M –1, incluida la única que descifra correctamente el criptograma. Ahora bien, resolver esa ecuación indeterminada precisa manejar con cuidado la aritmética modular. Hemos de señalar que el criptosistema que aquí hemos presentado es una versión simplificada del que en realidad ideó Hill. Propuso usar matrices cuyos elementos fuesen también matrices. Esto es, ecuaciones matriciales como la siguiente:   y1 y2     B C   N M     x1 x2         L K    x     y3  y4     A H          3 x4     = ·    y y6     F M   Ñ J     x5 x6    5        y  y8     H L    N Z    x   x8    7        7  Notemos que con una ecuación matricial como ésta se cifran 8 letras de una vez, el doble de las que se cifrarían empleando una matriz estándar 4×4. Ello hace el criptosistema resultante más resistente a un ataque con texto cifrado únicamente, ya que es mucho menos probable que haya octogramas repetidos en los criptogramas que tetragramas. No obstante, es igualmente inseguro ante un ataque con texto pleno y su correspondiente cifrado. La matriz que permite el descifrado se obtiene resolviendo una ecuación matricial similar a la anterior C = M –1·D. Es interesante observar que criptosistemas de otra naturaleza pueden describirse también en términos de ecuaciones algebraicas. Ya lo hemos comprobado para las transposiciones regulares. Mostremos a continuación que también el criptosistema de Vigenère, estudiado en el Capítulo 3, tiene su representación algebraica. Por ejemplo, describamos con ecuaciones los procesos de cifrado y descifrado que se consiguen a partir de la Tabla 3.2 y la palabra clave ‘ROSA’. A tal efecto, denotemos con la letra griega π a la sustitución que genera la mencionada Tabla 3.2: 123
  • 132. 7. ÁGEBRA Y CRIPTOGRAFÍA A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z π↓ ↑ π –1 c r y p t o g a f i b d e h j k l m n ñ q s u v w x z Entonces, las ecuaciones de cifrado son las siguientes:  y1 = π ( x1 + R)  y = π ( x + O)  2 2   y3 = π ( x3 + S)  y4 = π ( x4 + A)  El lector puede comprobar que estas ecuaciones transforman el texto en claro ‘CLAVEL’ en el cifrado ‘qzñuuz’, el mismo que si hubiésemos utilizado la Tabla 3.2. (Quizás necesite recordar que la igualdad y= π(x) significa que x se transforma en y mediante π. Por ejemplo, como la sustitución π aquí considerada cambia A por c, se escribe c = π(A)). Despejando las indeterminadas x en las ecuaciones previas se obtienen las de descifrado. Naturalmente, en esta operación necesitamos π–1, la sustitución inversa de π:  x = π −1( y ) − R  1 −1 1  x2 = π ( y2 ) − O  −1  x3 = π ( y3 ) − S  x = π −1( y ) − A  4 4 En fin, concluyamos el capítulo señalando que tanto el cifrado de Hill como esta descripción del de Vigenère muestran como puede emplearse el Álgebra en el diseño de criptosistemas. Lo podemos resumir así: primero se identifican letras de un alfabeto (o, más generalmente, bloques de letras) con números u otros objetos matemáticos entre los que haya definida una aritmética; y a continuación se transforman según una ecuación de la forma y = f(x, k), donde f(x, k) es una expresión algebraica que involucra tanto al texto en claro x como a la clave k. En el anterior cifrado de Vigenère esta expresión algebraica consiste en aplicar la sustitución π a una suma, en el de Hill es un producto de matrices. En ambos casos resultan ecuaciones sencillas que no proporcionan un cifrado seguro; pero pueden emplearse otras más complejas que quizás aumenten esta seguridad. El problema está en considerar ecuaciones en las que resulte “fácil” despejar x, para que el receptor pueda descifrar el mensaje; pero “imposible” despejar k, para que el criptoanalista no acceda a la clave. 124
  • 133. 8 MÁQUINAS DE ROTORES A comienzos del siglo XX, la máquina de escribir estaba ya presente en numerosas oficinas de todo el mundo; también en los departamentos encargados de cifrar la correspondencia confidencial. Seguro que muchos empleados de estas dependencias pensaron en las ventajas que supondría disponer de un instrumento similar que, pulsando las teclas de las letras de los textos en claro, proporcionase el texto cifrado ya mecanografiado. Se ahorraría gran cantidad de trabajo. Y, lo que es más importante, se eliminarían numerosos errores ocasionados por el inevitable factor humano. No tardó en llegar esta demanda a oídos de inventores y fabricantes que vieron en ella la posibilidad de un gran negocio. Gobiernos, ejércitos y empresas de todo el mundo estarían interesados en adquirir máquinas de escribir cifradoras. Y así, con la vista puesta en el dinero que generarían tales inventos, se pusieron manos a la obra. La historia de la Criptografía muestra que antes del siglo XX ya se habían concebido mecanismos para aliviar los procesos de cifrado y descifrado. Quizás el primero de ellos sea el disco de Alberti de 1466, descrito al comienzo del tercer capítulo. Mediante dos discos concéntricos giratorios con letras en sus bordes, Alberti implementaba un sencillo criptosistema polialfabético. Esta idea de Alberti se repite después en varias ocasiones. Muy conocido fue el criptógrafo diseñado por Charles Wheatstone (el mismo que inventó la cifra Playfair) y presentado en la exposición universal de París de 1867. Puede contemplarse en la Figura 8.1. En ella se observan dos alfabetos formando sendas circunferencias, una dentro de otra, y dos manecillas como las de un reloj, apuntando cada una a un alfabeto. Las letras del alfabeto exterior están fijas y ordenadas del modo habitual, las del interior pueden extraerse y ordenarse según la clave (en el ejemplar mostrado en la Figura 8.1 faltan dos de estas letras que han debido extraviarse). Para cifrar, se desplaza la manecilla grande hasta la posición que en el alfabeto exterior ocupa la letra correspondiente. Al mismo tiempo, un engranaje mueve la manecilla pequeña hasta otra letra del alfabeto interior. Esta segunda letra es la transformada de la primera. El cifrado que resulta es polialfabético debido al espacio en blanco que contiene el alfabeto exterior: cuando la manecilla grande completa una circunferencia, la pequeña ya no señala la misma letra sino la que está al lado. Pero aunque fácil de manejar y ocultar, el criptosistema que Wheatstone proponía con su 125
  • 134. 8. MÁQUINAS DE ROTORES criptógrafo era inseguro. Para entonces, Kasiski ya había publicado su método de criptoanálisis para los cifrados polialfabéticos. Por eso, llama la atención que el ejército del general Franco emplease versiones modificadas de este criptógrafo durante la Guerra Civil y después de ella. Figura 8.1. Criptógrafo de Wheatstone El que fuera coautor de la declaración de independencia de Estados Unidos y su tercer presidente, Thomas Jefferson, inventó un interesante y sencillo mecanismo criptográfico que mostramos en la Figura 8.2. La conocida como rueda de Jefferson es un cilindro formado con 36 discos de madera de igual tamaño que se identifican con números del 1 al 36. En el borde de los discos van grabadas las 26 letras del alfabeto en un orden que es diferente en cada disco. El centro de los discos está agujereado para que estos puedan montarse sobre un eje de hierro y de modo que sea posible su giro respecto al eje. El orden en que se montan los discos sobre el eje es precisamente la clave convenida entre el emisor y el receptor. (El número total de claves es el factorial de 36, un número con 42 dígitos.) Para cifrar, el emisor divide primero el texto en claro en fragmentos de 36 letras. A continuación, gira convenientemente los discos de la rueda para que pueda leerse el primer fragmento en una de las 26 generatrices del cilindro. Entonces, considera aleatoriamente una de las 25 generatrices restantes; las letras de que consta es el cifrado del primer fragmento. De igual modo se cifra el resto. El cifrado resultante es poligráfico; también homófono, ya que hay 25 posibilidades para un mismo bloque. Esto último no dificulta el proceso de cifrado. De nuevo se giran adecuadamente los discos para que en una de las generatrices del cilindro vayan apareciendo los fragmentos de texto cifrado. La única generatriz con sentido gramatical es el correspondiente bloque de texto en claro. 126
  • 135. 8. MÁQUINAS DE ROTORES Figura 8.2. La rueda de Jefferson. Jefferson ideó su rueda durante la década que va de 1790 a 1800. Durante los cuatro primeros años de este periodo, Jefferson fue secretario de estado encargado de la política exterior. La necesidad de cifrar la correspondencia trajo su interés por la Criptografía. No obstante, el departamento del que Jefferson era secretario nunca hizo uso de la rueda y continuó empleando el nomenclátor como criptosistema. Por esta razón, el invento de Jefferson cayó rápidamente en el olvido; y ahí continuaría si algún historiador interesado por la Criptografía no lo hubiese rescatado de la biblioteca del Congreso americano. La rueda de Jefferson fue reinventada en 1891 por el experto en cifras del ejército francés Etiénne Bazeries, quien con seguridad desconocía su existencia. La única diferencia entre el cilindro ideado por Bazeries y el de Jefferson está en que el primero emplea 20 discos con 25 letras en lugar de los 36 discos y 26 letras del segundo. Bazeries estaba convencido que su cilindro era indescifrable y, presumiendo de ello, lo sometió al criptoanálisis de sus compañeros en el ejército francés. Uno de ellos, el marqués Gaétan Henri Léon de Viaris, no descansó hasta que dos años después logró derrotar al cilindro. De Viaris había inventado en 1888 una ingeniosa máquina de cifrar que incluso imprimía el texto cifrado, pero fue ridiculizada por el criptoanálisis de Bazeries. Esta fue la razón de su empeño. Curiosamente, el ataque de De Viaris fue posible por el modo en que Bazeries dispuso el orden de las letras en los discos de su cilindro. En catorce de los veinte discos, Bazeries colocó las letras ordenándolas a partir de frases mnemotécnicas como “Dieu protège la France”, “Honneur et patrie”, “Instruisez la jeunesse”, etc. Al hacerlo así, cualquiera que sea la posición de los discos en el cilindro, en él hay siempre generatrices con letras repetidas. Ello permite iniciar el criptoanálisis mediante el método de De Viaris, el cual no describiremos aquí. Si Bazeries hubiese ordenado las letras de los 20 discos de modo que girándolos convenientemente resultasen generatrices sin letras repetidas, el ataque de De Viaris no habría sido posible. (Tal ordenación de letras en los discos puede conseguirse mediante cuadrados latinos, nombre que reciben las 127
  • 136. 8. MÁQUINAS DE ROTORES disposiciones rectangulares en las que no se repiten elementos ni en las filas ni en las columnas). Esto fue observado por los criptoanálistas del ejército americano dirigidos por William Friedman, quienes estudiaron con detenimiento el cilindro de Bazeries y el método de De Viaris. Con la deficiencia de Bazeries corregida, el ejército americano introdujo en 1922 un cilindro similar para ser empleado como criptosistema de seguridad intermedia. Estuvo en vigor hasta 1943. Consta de 25 discos de aluminio de pequeño tamaño que giran sobre un eje de once centímetros de longitud. Le dieron la identificación militar de M−94 y puede contemplarse en la Figura 8.3. Figura 8.3. El M−94 del ejército americano. Aún con los alfabetos elegidos correctamente, el cilindro criptográfico puede ser criptoanalizado a partir de texto cifrado exclusivamente. Ello fue probado en 1944 por un equipo de criptoanalistas alemanes integrado por matemáticos y lingüistas. En esta ocasión rompieron el M−138, un criptosistema equivalente a un cilindro criptográfico pero con tiras de cartón deslizantes en lugar de discos. El M−138 disponía de cien tiras de las que únicamente se empleaban treinta a la vez. Fue utilizado por el ejército y la diplomacia americana hasta casi el final de la Segunda Guerra Mundial. Pero recuperemos el proyecto de una máquina de escribir cifradora que tenía ocupados a varios inventores al iniciarse el siglo XX. No era sencillo llevarlo a cabo con las garantías de éxito comercial pretendidas. Aunque por entonces la tecnología había avanzado considerablemente, ésta todavía no permitía automatizar el cifrado de varias letras a la vez. Ya que ello requiere su almacenamiento previo, lo que hoy llamamos memoria; y tal tecnología no se desarrolló hasta los años cuarenta. En consecuencia, el dispositivo cifrador que se incorporase a una máquina de escribir únicamente transformaría la letra correspondiente a la tecla pulsada en cada instante. Ello descarta la posibilidad de implementar criptosistemas poligráficos o transposiciones, y obliga considerar únicamente los polialfabéticos. Pero claro, contra estos estaba el método de Kasiski, que permite recuperar el periodo e iniciar el criptoanálisis. Ahora bien, si el periodo es enorme, muy superior a la longitud de los textos que se manejan, el método de Kasiski es inoperante y entonces se consigue la necesaria seguridad. Había que diseñar un mecanismo que proporcionase un criptosistema polialfabético cuyo periodo fuera un número muy grande. Y curiosamente, casi al mismo tiempo y de forma independiente, en 128
  • 137. 8. MÁQUINAS DE ROTORES varias partes del mundo se llegó a la misma solución: el rotor. Tratar de explicar su funcionamiento es el objeto de los siguientes párrafos. Un rotor es un disco delgado fabricado con material aislante y con contactos eléctricos en sus dos caras, en número igual a las letras del alfabeto que se emplee. (En la Figura 8.11 se muestra un rotor de la máquina Enigma.) Cada contacto de una cara se conecta aleatoriamente con otro de la cara opuesta mediante un cable eléctrico. Por otra parte, los contactos de una cara rozan con otros que enlazan con las letras del alfabeto en claro y, análogamente, los contactos de la cara opuesta lo hacen con otros que conectan con las letras del alfabeto cifrado. Cuando se pulsa una tecla, una corriente eléctrica atraviesa el rotor transformando la letra de la tecla pulsada en otra. Ayudémonos de un ejemplo para entender mejor esta idea. Para simplificar, consideremos un rotor con cinco contactos únicamente, correspondiente a un alfabeto con ese número de letras. Es el que hemos esquematizado en la Figura 8.4.a). Cifrado Claro Cifrado Claro a) Posición inicial b) Tras un giro Figura 8.4. Esquema de un rotor. En esta figura puede observarse que si la corriente fluye de derecha a izquierda, las letras del alfabeto en claro sufrirán la siguiente transformación: A B C D E ↓ C E D B A Tras pulsar una tecla, el rotor gira una o varias posiciones. Esto trae consigo una conexión diferente entre los contactos de las letras del alfabeto en claro y las del alfabeto cifrado. Se obtiene así una nueva sustitución con la que se cifra la siguiente letra. En la Figura 8.4.b) mostramos el mismo rotor anterior después de haber girado una posición. Da lugar a esta nueva transformación del alfabeto en claro: 129
  • 138. 8. MÁQUINAS DE ROTORES A B C D E ↓ D C A E B Notemos que esta segunda sustitución puede obtenerse a partir de la primera: la transformada de una letra mediante la segunda sustitución es la letra anterior en el orden alfabético de la transformada mediante la primera sustitución de la que sigue a la letra en claro. Por ejemplo, si la letra en claro es la ‘A’, la que sigue a ésta es la ‘B’. Mediante la primera transformación la ‘B’ se cambia por la ‘E’. La anterior a la ‘E’ es la ‘D’. Esta última letra es, por tanto, la transformada de la ‘A’ mediante la segunda sustitución. Los sucesivos giros del rotor producen nuevas sustituciones con las que se cifran las siguientes letras del texto en claro. Generalmente, habrá tantas sustituciones diferentes como posiciones alcance el rotor en su revolución y serán tantas como letras haya en el alfabeto. En el rotor que nos sirve de ejemplo son las que figuran en la Tabla 8.1. Obsérvese que en las diagonales que la cruzan en sentido ascendente de izquierda a derecha, las letras van correlativas. Posición A B C D E 1 C E D B A 2 D C A E B 3 B E D A C 4 D C E B A 5 B D A E C Tabla 8.1. Las 5 sustituciones del rotor. Para identificar la posición del rotor en cada momento, este lleva inscrito en su borde números o letras en el orden habitual. Antes de empezar a cifrar el texto, el emisor debe situar el rotor en una posición inicial convenida con el receptor autorizado. Precisamente, esta posición inicial es la clave. A continuación, cifra el texto tecleando una a una sus letras. Por ejemplo, imaginemos que disponemos de una máquina que implementa el rotor de cinco contactos que nos viene ayudando en esta explicación y que en su borde figuran números de 1 al 5, correspondiendo con sus diferentes posiciones conforme a la Tabla 8.1. Si situamos el rotor en la posición inicial que indica el ‘3’, la palabra ‘DECADA’ se cifraría como ‘AAACEB’. La citada Tabla 8.1 permite efectuar tal cifrado. Para descifrar un mensaje, se deben generar las inversas de las sustituciones empleadas en el proceso de cifrado. Un modo muy sencillo de obtenerlas es haciendo pasar la corriente eléctrica por el rotor en sentido contrario. Así se hizo habitualmente, incorporando en las máquinas de rotores un mecanismo al efecto. Tras activarlo, el receptor del mensaje colocaba el rotor en la posición inicial indicada por la clave y, al teclear las letras del texto cifrado, la máquina revelaba el texto en claro. 130
  • 139. 8. MÁQUINAS DE ROTORES En las líneas anteriores hemos tratado de describir el cifrado que produce una máquina con un rotor. Si lo hemos hecho con mediana claridad, el lector habrá reconocido que es polialfabético y con periodo y claves limitados por el número de letras del alfabeto. Un número demasiado pequeño para alcanzar una mínima seguridad. Cualquier criptoanalista, con muy poco texto cifrado solamente, construiría sin mucho esfuerzo una tabla similar a la 8.1. Y con ella descifraría rápidamente todos los mensajes. Pero la situación cambia radicalmente si en lugar de un único rotor se utilizan varios, concatenando uno a continuación de otro. En la Figura 8.5 mostramos como hacerlo, de nuevo con un alfabeto de 5 letras para simplificar el dibujo. En él, los rotores están en una de las 125 posiciones posibles. Con nuestro alfabeto completo de 27 letras, al concatenar tres rotores el número de claves se eleva ya a 273 = 19683. Y este número es también el de sustituciones distintas que pueden generarse. Un periodo tan grande que cada letra del texto en claro se puede cifrar con una transformación diferente. Incluso se tendrían que cifrar muchos mensajes para volver a utilizar la misma sustitución. Tal cifrado debe ser seguro; o, al menos, así lo creyeron los inventores del rotor. Cifrado Claro Figura 8.5. Tres rotores concatenados. Según David Khan, el que hizo los primeros dibujos de un sistema de rotores fue el americano Edward H. Hebern en 1917, y un año después construyó la primera máquina con dicho dispositivo. En 1921 mostró uno de sus inventos a expertos en cifras de la armada americana, quienes quedaron impresionados. Meses después, Hebern, animado por el interés de la armada y creyendo que las máquinas de rotores gobernarían el mundo de las cifras, fundó la “Hebern Electric Code”, la primera industria destinada a fabricar máquinas cifradoras. La idea de un gran negocio animó a numerosos inversores, y en poco tiempo la factoría llegó a contar con un capital de un millón de dólares y unos 1500 empleados. Sin embargo, en los siguientes cinco años posteriores a su creación, la Hebern Electric Code apenas vendió una docena de sus máquinas y fue a la bancarrota. En verdad, la armada americana estuvo muy interesada en la máquina de Hebern y en 1924 lo tenía todo preparado para incorporarla como su sistema de cifras. Pero la armada, queriendo constatar la seguridad del criptosistema que proporcionaba, remitió 10 131
  • 140. 8. MÁQUINAS DE ROTORES mensajes cifrados a la oficina de cifras del ejército de tierra, el “Army Signal Corps”. Y allí, para desgracia de la Hebern Electric Code, los criptogramas toparon con el genio del mejor criptoanalista del momento, el antes mencionado William Friedman, quien descifró los 10 criptogramas en seis semanas. Esta fue la causa de la quiebra de la empresa de Hebern. La referida máquina de Hebern se muestra en la Figura 8.6. Consta de cinco rotores concatenados que se pueden extraer y volver a colocar en otro orden, incluso invertidos. En total, de 3840 maneras distintas. Los cinco rotores van situados entre dos ruedas de trinquete de aluminio, cuya función es gobernar su movimiento. Como los rotores, las ruedas también giran y llevan grabadas en su borde las 26 letras del alfabeto inglés, en correspondencia con sus posibles posiciones. Figura 8.6. Máquina de rotores de Hebern. En el esquema de cifrado propuesto por Hebern, la clave determina la disposición de los rotores y debe cambiarse diariamente. Una vez colocados los rotores, el emisor del mensaje elige aleatoriamente siete letras y gira las dos ruedas y los cinco rotores para que se contemplen alineadas en cierto punto marcado en la máquina al efecto. Las siete letras deben ser diferentes para cada mensaje y se transmiten en claro al receptor. A continuación, el emisor sitúa una palanca en posición “DIRECT” y la máquina está lista para cifrar. Cada vez que se presiona una tecla, una corriente eléctrica atraviesa el banco de rotores de izquierda a derecha e ilumina en el panel encima del teclado la lámpara correspondiente a la letra cifrada. Seguidamente, un mecanismo hace girar alguno de los rotores. El emisor debe anotar en papel aparte la letra iluminada antes de cifrar la siguiente. Para descifrar el mensaje, el receptor del mismo ha de disponer de una máquina idéntica y seguir el mismo procedimiento que el emisor; pero situando la palanca en posición “REVERSE”, para que la corriente eléctrica atraviese los rotores en sentido contrario. 132
  • 141. 8. MÁQUINAS DE ROTORES El movimiento de los rotores es el punto débil de la máquina de Hebern. Se consigue mediante un complicado sistema de engranajes que involucra a las citadas ruedas de trinquete. Durante el cifrado, los rotores segundo y cuarto permanecen fijos. Cada vez que se pulsa una tecla, el quinto rotor avanza una posición. También lo hace la rueda de trinquete situada a la derecha. Y cuando la letra ‘N’ de su borde llegue al punto marcado en la máquina, tanto el primer rotor como la rueda de la izquierda adelantarán una posición en la siguiente pulsación. La rueda de la izquierda rige el movimiento de tercer rotor de modo similar, avanzándolo una posición después que la letra ‘N’ de su borde llegue al punto señalado. Un ejemplo de la sucesión de siete letras que pueden leerse en el citado punto puede ser el que mostramos a continuación. La primera letra corresponde a la rueda de la izquierda, la segunda al primer rotor, la tercera al segundo rotor, etc. I 1 2 3 4 5 D M H B P X V M M H B P X W N N I B P X X O N I B X X Y P La secuencia de letras se repite al cabo de 263 = 17576 teclas pulsadas. Un periodo bastante elevado para asegurar que cada letra del mensaje se cifra con una sustitución diferente. Pero el movimiento de los rotores es bastante regular y se limita casi exclusivamente al quinto. En un mensaje, el primer rotor sólo se moverá unas pocas veces y el tercero lo hará una única vez como mucho. Seguro que el criptoanálisis de Friedman aprovechó esta particularidad. Pero en absoluto fue sencillo este trabajo. Los 10 criptogramas que la armada le envió iban todos cifrados conforme al esquema propuesto por Hebern, con los rotores en un mismo y secreto orden pero en diferentes y públicas posiciones iniciales. Friedman también conocía el modo en que operaba la máquina porque disponía de un modelo comercial; pero ignoraba las conexiones internas de los rotores, ya que fueron alteradas en el aparato empleado por la armada. Tras el criptoanálisis, Friedman redactó un informe que se ha mantenido secreto hasta 1996. A pesar del revés sufrido, Hebern no abandonó la idea de hacerse rico con las máquinas cifradoras y en 1931 ofreció otra máquina de rotores a la armada americana. Este nuevo modelo mantiene los cinco rotores y las dos ruedas de trinquete como el anterior, aunque ahora los rotores se eligen entre seis disponibles. Otra diferencia menor es que la corriente eléctrica fluye en sentido opuesto en el nuevo modelo. La gran novedad está en el movimiento de los rotores, como era de esperar. Los cinco rotores son móviles y lo pueden hacer de 50 maneras distintas, cada una de ellas determinada por la posición de tres palancas. Al pulsar cada tecla, siempre dos o tres rotores avanzan un paso. Otro rotor lo hace después de 26 letras cifradas. Y tras 650 letras, otros dos rotores adelantan también un paso. Con este movimiento tan irregular, Hebern consiguió aumentar considerablemente la seguridad en su nueva máquina. Pero en comparación, más había crecido la potencia de criptoanálisis del Army Signal Corps. Friedman disponía ahora de un equipo de criptoanalistas en el que figuraban nombres como Frank Rowlet, Solomon Kullback o Abraham Sinkov; y contaba 133
  • 142. 8. MÁQUINAS DE ROTORES también con las posibilidades de cómputo que ofrecían algunas máquinas automáticas, predecesoras de los ordenadores. La máquina de Hebern fue vencida de nuevo. Esta nueva derrota apagó por completo la ilusión de Hebern de hacerse millonario vendiendo máquinas criptográficas. Pero no disminuyó el deseo del ejército americano de poseer una máquina cifradora impenetrable. Trabajando sobre el modelo de Hebern, en 1934 consiguieron una máquina de rotores que superó todos los tests de criptoanálisis a los que fue sometida. Recibió el nombre de “Electric Cipher Machine (ECM) Mark I”. Más aún, poco antes de comenzar la Segunda Guerra Mundial, el ejército americano logró la que sin duda ha sido la máquina de rotores más segura: la ECM Mark II, más conocida como “Sigaba”. Es la que se muestra en la Figura 8.7. En esta máquina, el movimiento de los cinco rotores que intervienen en el cifrado es complicadísimo: tras pulsar una tecla, de uno a cuatro de estos rotores avanzan guiados por una señal electrónica que se esconde al atravesar otros diez rotores que a su vez se mueven mediante un dispositivo mecánico. Hasta 1959, Sigaba ha cifrado la correspondencia más confidencial del ejército americano. No porque entonces su seguridad estuviera ya comprometida, sino porque era demasiado lenta para el de tráfico de mensajes que debía soportar. Todavía hoy es objeto de estudios de criptoanálisis en departamentos de universidades americanas. Figura 8.7. La máquina americana Sigaba. Y no podemos concluir esta breve reseña histórica sobre la máquina de rotores americana sin mencionar que en 1947 Hebern demandó a las fuerzas armadas. Reclamaba una indemnización de 50 millones de dólares, por considerar que el ejército se había apropiado de sus ideas en la fabricación de los miles de Sigabas que empleó durante la Segunda Guerra Mundial. Tras un largo proceso judicial, Hebern recibió en 1958 la compensación de treinta mil dólares. Pero para entonces hacía ya ocho años que había muerto. 134
  • 143. 8. MÁQUINAS DE ROTORES En 1923, la compañía alemana “Chiffrienmaschinen Aktien Gesellschaft” exhibía en el congreso de la “International Postal Union”, celebrado en la ciudad suiza de Berna, el primer modelo de una larga serie de la que sería la máquina de rotores más famosa de la Segunda Guerra Mundial: “Enigma”. Su popularidad la ha llevado a aparecer en varias películas cinematográficas, a ser objeto de estudio en muchos libros y a hablar de ella en miles de páginas web por todo el mundo. La primera versión, conocida como Enigma A, seguía fielmente el diseño patentado en 1918 por el ingeniero alemán Arthur Scherbius, patente que contiene ideas del inventor holandés Hugo Alexander Koch. Un voluminoso y pesado aparato muy similar a una máquina de escribir que, de hecho, puede emplearse como tal. La Figura 8.8 muestra una fotografía suya. Figura 8.8 Enigma A. Consta de cuatro rotores cuyo giro es causado por la acción de los dientes de otras tantas ruedas. Estas cuatro ruedas avanzan una posición cada vez que se pulsa una tecla, completando una revolución cada 11, 15, 17 y 19 pulsaciones, respectivamente. El número de dientes de las ruedas es inferior a estos números, por lo que hay ciertas posiciones de cada rueda en las que el rotor que guía no avanza. Este diseño determina un movimiento de los rotores bastante irregular, dependiente incluso de las posiciones iniciales de las ruedas. Los rotores disponen de 28 contactos, ya que éste es el número de letras del alfabeto de la máquina. Las claves son cada una de las posiciones posibles de los rotores y las ruedas; en total: 11·15·17·19·284, cifra que supera los treinta mil millones. Todas estas características hacen de Enigma A una máquina de rotores muy interesante, de difícil criptoanálisis. No obstante, apenas se vendieron unas pocas unidades. Y eso que la máquina gozó de enorme publicidad. Ello no desanimó a la firma alemana y en breve lanzó al mercado una nueva versión de la máquina, Enigma B. Muy parecida al modelo A, con la única diferencia significativa de contener el alfabeto estándar de 26 letras. De nuevo fue un fracaso comercial. La compañía alemana entendió que la ansiada venta masiva de máquinas de cifrar se lograría con un aparato de reducido tamaño, que fuera fácilmente transportable. Con esta idea comercializó Enigma C en 1926. Naturalmente, la disminución de peso y volumen en la máquina trajo consigo importantes cambios respecto a los modelos 135
  • 144. 8. MÁQUINAS DE ROTORES anteriores. El más interesante que uno de los cuatro rotores es un reflector. Este es un rotor con contactos en una sola cara, conectados por parejas para que la corriente eléctrica que llega a un contacto se “refleje” por el otro al que se conecta. Es lo que ocurre en la máquina durante el cifrado. El fluido eléctrico llega al reflector después de atravesar los tres rotores y al reflejarse los vuelve a cruzar en orden inverso. La Figura 8.9 muestra un esquema de cómo circula la corriente eléctrica por el banco de rotores en el modelo C. Las flechas indican la dirección del flujo eléctrico. Reflector Rotor Rotor Rotor Teclado Figura 8.9. Esquema de los rotores en Enigma. Con el empleo del reflector, las sustituciones que se obtienen son involutivas. Esto significa que si una letra se transforma en otra, ésta también se transmuta por aquella. De este modo, no es necesario alterar el sentido del flujo eléctrico para descifrar. El receptor del mensaje sólo tiene que situar los rotores en el mismo orden y en las mismas posiciones que lo haya hecho el emisor. En consecuencia, el reflector trae consigo una simplificación en la mecánica y en el uso de la máquina. Incluso sus creadores pensaron que al atravesar dos veces la corriente eléctrica el banco de rotores, el cifrado resultante era más seguro, equivalente al de una máquina con el doble número de rotores. Pero todo lo contrario, el reflector impide que una letra se transforme en sí misma y esto constituye una de las debilidades de Enigma, lo que no pasaría inadvertido a los criptoanalistas. En Enigma C, el reflector se coloca en una de dos posibles posiciones y permanece estático durante el cifrado. A su derecha van los tres rotores, en el orden que se desee. Cada rotor puede situarse en 26 posiciones diferentes, ya que éste es el número de sus contactos. Para identificar esta posición, los rotores llevan en su borde un anillo bien con el alfabeto estándar de la ‘A’ a la ‘Z’, bien con los números del 1 al 26. La letra (o número) correspondiente a la posición del rotor es la única visible al usuario a través de una pequeña ventana en la máquina. Curiosamente, el anillo puede girar con respecto al cuerpo del rotor y, en consecuencia, su rotación respecto al corazón del rotor forma parte de la configuración de la máquina antes de empezar a cifrar. Teniendo todo esto en cuenta, el número de claves es el resultado de multiplicar las dos posiciones del reflector por las seis ordenaciones posibles de los rotores, por 263, que son sus distintas posiciones 136
  • 145. 8. MÁQUINAS DE ROTORES iniciales, y otra vez por 263, debido al desplazamiento de cada anillo. En total, 3706989312. El modo en que se mueven los rotores es otra de las simplificaciones de la versión C de Enigma. Sus rotores incorporan en una de sus caras una rueda dentada y en la otra una muesca destinada a encajar los dientes de la rueda de otro rotor. Al pulsar una tecla, y antes de que circule la corriente eléctrica por el banco de rotores, el rotor de la derecha gira una posición. Cuando llega a cierto punto en su revolución, la muesca atrapa un diente del rotor central y le hace avanzar un paso. Y de igual modo mueve el rotor de en medio a su vecino de la izquierda, adelantando ambos una posición cuando el rotor central alcanza determinado punto en su rotación. Por ejemplo, suponiendo que la muesca de un rotor atrapa un diente cuando la ‘Z’ de su anillo es visible por la ventanilla, de modo que en la siguiente pulsación hará avanzar al rotor contiguo, una sucesión de letras en dicha ventanilla podría ser esta: H Y Y H Y Z H Z A I A B I A C El periodo de los rotores es entonces 26·25·26 = 16900. Cifra suficientemente elevada pero conseguida con un movimiento muy regular, lo que de nuevo constituye una debilidad. Por otro lado, dado que las muescas que giran el rotor adyacente están situadas en el cuerpo del rotor y no en su anillo, las sustituciones que producen los sucesivos avances de los rotores son independientes del desplazamiento inicial del anillo respecto al cuerpo del rotor. Por tanto, tal desplazamiento no aumenta la seguridad de la máquina. Incluso puede suprimirse de la disposición inicial antes de cifrar. Se reduce así el número efectivo de claves a sólo 2·6·263 = 210912. A diferencia de los dos modelos previos, Enigma C no imprime el texto cifrado. En su lugar, al igual que en la máquina de Hebern, cada vez que se pulsa una tecla se ilumina en un panel situado encima del teclado la lámpara correspondiente a la letra transformada. Por supuesto, ello era un inconveniente para el usuario; pero de nuevo supuso una reducción importante en el peso y volumen de la máquina, que era la razón principal de su diseño. Se logró que el aparato cupiese en un pequeño maletín. Tan sólo un año después, en 1927, apareció la siguiente versión de Enigma, el modelo D. Con únicamente dos diferencias respecto a Enigma C. La primera, que el teclado va configurado según el estándar alemán, en el orden “QWERTZ...” en lugar del alfabético “ABCD...” presente en el modelo C. Ello trae consigo una permutación entre las teclas y los contactos que dan entrada al banco de rotores, en el llamado “Stator”. Permutación que también debe realizarse entre estos contactos y las lámparas, para mantener involutivo el cifrado. La segunda diferencia citada está en el reflector, que ahora puede situarse en 26 posiciones posibles en lugar de las dos permitidas en Enigma C; aunque tampoco gira durante el cifrado. Esta pequeña diferencia multiplica por 13 el número de claves. Enigma D se muestra en la Figura 8.10.a). 137
  • 146. 8. MÁQUINAS DE ROTORES Las conexiones internas de los rotores con que se equipó a Enigma D se presentan en la Tabla 8.2. La hemos elaborado con datos del libro de C. A. Deavours y L. Kruh que incluimos en la bibliografía. Expliquémosla. Según el mencionado texto, los contactos de los rotores están numerados del 1 al 26 pero en orden inverso a como lo hacen las letras del anillo exterior, de modo que si se hace coincidir la ‘A’ con el contacto 1, entonces la ‘Z’ lo hace con el 2, la ‘Y’ con el 3, etcétera. Situando así los anillos en los tres rotores, sus contactos se pueden identificar ya por letras. Hecha esta identificación, las letras en negrita de la primera fila de la tabla representan a los contactos de la cara del rotor por la que entra la corriente por vez primera, y las letras de las filas de los rotores corresponden a los contactos homónimos en la otra cara. Van colocadas en el orden que indica la conexión. Por ejemplo, en el rotor 1 el contacto ‘A’ se conecta con el ‘L’. La aclaración anterior no es necesaria para el reflector, ya que su anillo no se desplaza. En su fila hemos agrupado entre paréntesis los pares de contactos conectados. Por ejemplo, los contactos ‘B’ y ‘M’ están conectados en el reflector. Imaginemos ahora que, sin girar los anillos, colocamos los rotores en la máquina en la posición en que es visible la letra ‘A’ por la ventanilla. Entonces los contactos del rotor derecho tocaran a los del Stator y ello nos permite identificar también con letras a sus contactos. En tal situación, la segunda fila de la tabla contiene la permutación que tiene lugar entre las teclas y los contactos de Stator. Y para completar la descripción de Enigma D, señalemos que en los tres rotores la muesca que hace avanzar al rotor contiguo va junto al contacto 21 (‘G’ en la configuración anterior) y producirá tal avance después de verse el contacto 2 (‘Z’) en la ventanilla. A B C D E F G H I J K LMN O P Q R S T U VWX Y Z Stator: J WU L CMN O H P Q Z Y X I R A D K E G V B T S F Rotor 1: L P G S Z MH A E O Q K V X R F Y B U T N I C J DW Rotor 2: S L V G B T F X J Q O H EW I R Z Y AMK P C N DU Rotor 3: C J G D P S H K T U R AWZ X F MY N Q O B V L I E Reflector: (AI) (BM) (CE) (DT) (FG) (HR) (JY) (KS) (LQ) (NZ) (OX) (PW) (UV) Tabla 8.2. Especificaciones de los rotores de Enigma D Enigma D fue un gran éxito comercial. Se vendió por todo el mundo. Lógicamente, la popularidad de la máquina llegó a oídos de muchos ejércitos, quienes consideraron emplearla como sistema de cifras. Entre ellos el propio ejército alemán, naturalmente. Pero enseguida se dieron cuenta de las debilidades de Enigma D; de hecho, llegaron a saber como criptoanalizarla. Conocimiento que mantuvieron en secreto. Por una razón evidente: para poder acceder a las comunicaciones de ejércitos de otros países que estuvieran cifrando con Enigma. El criptoanálisis de Enigma D derivó también en una versión militar alemana de Enigma, con dos modificaciones importantes respecto a la comercial que elevaron considerablemente la seguridad. Este modelo militar se llamó Enigma I y apareció en junio de 1930. 138
  • 147. 8. MÁQUINAS DE ROTORES La primera modificación, la más significativa desde el punto de vista criptográfico, es la sustitución de la permutación fija entre el teclado y el Stator por la transformación variable que proporciona el “Steckerverbindung”. Así denominaron a un panel con 26 enchufes colocado en la parte frontal de la máquina. Puede observarse el “Stecker” en la Figura 8.10.b), que muestra una imagen de Enigma I. a) Enigma D b) Enigma I Figura 8.10. Versiones comercial y militar de Enigma. Cada enchufe del Stecker va asociado a una letra del alfabeto. Mediante cables se conectan pares de enchufes dando lugar a una permutación involutiva que actúa doblemente, entre el teclado y el banco de rotores y entre éste y el panel de lámparas. Así, cada vez que se pulsa una tecla y tras producirse el avance de los rotores, se origina una corriente eléctrica que circula primero por el Stecker antes de adentrarse en el banco de rotores. Si un cable conecta el enchufe correspondiente a la letra pulsada con otro, esta letra se transforma en la asociada al otro enchufe. Tras abandonar el banco de rotores, la corriente eléctrica pasa de nuevo por el Stecker antes de concluir su viaje en el panel de lámparas, produciendo el mismo efecto que antes. Esta doble entrada del flujo eléctrico en el Stecker mantiene el carácter involutivo del cifrado. Por otro lado, el Stecker aumenta considerablemente el número de claves. Por ejemplo, según consta en el manual de operaciones de la Wehrmacht de noviembre de 1939, se empleaban diez cables que conectaban veinte enchufes. Ello puede hacerse de más de 150 billones de modos diferentes. 139
  • 148. 8. MÁQUINAS DE ROTORES La otra diferencia de Enigma I respecto al modelo comercial afecta al movimiento de los rotores. En la Figura 8.11 mostramos una fotografía de un rotor de Enigma I. En ella puede verse que la muesca que ocasiona el avance del rotor adyacente está situada en el anillo exterior, denominado ahora “Ringstellung”. De este modo, el hecho que el Ringstellung pueda girar con respecto al cuerpo del rotor adquiere sentido criptográfico en Enigma I. Ahora, la sucesión de sustituciones que genera el movimiento de los rotores depende de su posición inicial y de la situación del Ringstellung en los rotores central y diestro. Por lo demás, tal movimiento es idéntico al de la versión comercial. En contrapartida a esta mejora, el reflector de Enigma I sólo puede colocarse en una única posición, la cual es invariante durante el cifrado. Figura 8.11. Un rotor de Enigma I. Teniendo en cuenta tales modificaciones, una clave en la Enigma militar de 1930 consta de los siguientes cuatro datos: el orden de los tres rotores, que se pueden disponer de 6 modos distintos; la configuración inicial del Ringstellung, elegida entre 263 =17576 posibles; las posiciones iniciales de los rotores, que de nuevo hay 17576 distintas; y, finalmente, las conexiones en el Stecker. En total, empleando diez cables en el Stecker, el número de claves consta de 24 dígitos. Obviamente, las conexiones internas de los rotores y el reflector de Enigma I son también diferentes de la versión comercial. Las hemos incluido en la Tabla 8.3. Las explicaciones que dimos para la Tabla 8.2 son válidas también para esta otra. Sólo hemos de añadir que la última columna contiene la letra del anillo de cada rotor que se ve en la ventanilla cuando éste va a mover el rotor contiguo en la siguiente pulsación. Los tres rotores con que se dotó la máquina de 1930 se identifican en la Tabla 8.3 con los números ‘I’, ‘II’ y ‘III’, y el reflector con la letra ‘A’. Figuran también otros rotores y reflectores que fueron apareciendo posteriormente. En 1938 se pusieron en servicio los rotores ‘IV’ y ‘V’, aumentando a cinco el número de rotores disponibles. (Con ello, el número de selecciones ordenadas de tres de ellos se eleva a 5·4·3 = 60). Un año antes, el reflector ‘B’ había reemplazado al inicial ‘A’; y en 1941 apareció otro reflector, el ‘C’, que se utilizó conjuntamente con aquel. Por entonces, en plena Segunda Guerra Mundial, varios miles de Enigmas estaban siendo empleadas. 140
  • 149. 8. MÁQUINAS DE ROTORES A B C D E F G H I J K LMN O P Q R S T U VWX Y Z Rotor I: E K M F L G D Q V Z N T OWY H X U S P A I B R C J Q Rotor II: A J D K S I R U X B L HWTMC Q G Z N P Y F V O E E Rotor III: B D F H J L C P R T X V Z N Y E I WG A KMU S Q O V Rotor IV: E S O V P Z J A Y Q U I R H X L N F T G K D C MW B J Rotor V: V Z B R G I T Y U P S D N H L X A WM J Q O F E C K Z Rotor VI: J P G V O U M F Y Q B E N H Z R D K A S X L I C T W M, Z Rotor VII: N Z J H G R C X M Y S W B O U F A I V L P E K Q D T M, Z Rotor VIII: F K Q H T L X O C B J S P D Z R A M E W N I U Y G V M, Z Rotor β: L E Y J V C N I XWP B QMD R T A K Z G F U H O S Rotor γ: F S O K A N U E R HMB T I Y CWL Q P Z X V G J D Reflector A: (AE) (BJ) (CM) (DZ) (FL) (GY) (HX) (IV) (KW) (NR) (OQ) (PU) (ST) Reflector B: (AY) (BR) (CU) (DH) (EQ) (FS) (GL) (IP) (JX) (KN) (MO) (TZ) (VW) Reflector C: (AF) (BV) (CP) (DJ) (EI) (GO) (HY) (KR) (LZ) (MX) (NW) (TQ) (SU) Reflector B dünn: (AE) (BN) (CK) (DQ) (FU) (GY) (HW) (IJ) (LO) (MP) (RX) (SZ) (TV) Reflector C dünn: (AR) (BD) (CO) (EJ) (FN) (GT) (HK) (IV) (LM) (PW) (QZ) (SX) (UY) Tabla 8.3. Especificaciones de los rotores en la versión militar de Enigma. La armada alemana siempre dudó de la seguridad que ofrecía Enigma y no cesó en añadir modificaciones que dificultaran el trabajo de posibles criptoanalistas. A partir de 1939 añadió tres nuevos rotores a los cinco que empleaba el resto del ejército: los rotores ‘VI’, ‘VII’ y ‘VIII’. Estos tres rotores exclusivos de la armada tienen la característica de presentar dos muescas en el Ringstellung en lugar de una, lo que produce un movimiento más frecuente del rotor adyacente. A partir de 1942, los submarinos alemanes emplearon una Enigma con cuatro rotores. Su cuarto rotor, identificado con la letra griega ‘β’, no gira durante el cifrado; aunque puede situarse en las 26 posiciones posibles, entre el reflector y los otros tres rotores. Un año después, un similar rotor ‘γ’ fue puesto en uso. Para asegurar la compatibilidad de la nueva máquina de cuatro rotores con la antigua de tres, dos nuevos reflectores ‘B dünn’ y ‘C dünn’ deben emplearse conjuntamente con los rotores ‘β’ y ‘γ’, respectivamente. Así, el cifrado con reflector ‘B’ de la máquina de tres rotores es el mismo que el producido con el reflector ‘B dünn’ y el rotor ‘β’ en la Enigma de los submarinos. Y en 1944, la armada introdujo dos modificaciones más en su Enigma. La primera el reflector ‘D’, con la posibilidad de variar sus conexiones internas. La segunda un dispositivo especial, el ‘Uhr box’. Esta caja se acoplaba al Stecker mediante 20 cables, haciendo no involutiva su permutación. Además, cada hora se movía un dial en el Uhr box que alteraba dicha permutación. Y todavía hubo otras versiones diferentes de Enigma. Una muy conocida es el modelo ‘Abwehr’, empleado por el servicio secreto alemán. Este aparato no incorpora el Stecker. En realidad es el modelo comercial ‘D’ con una variación en el movimiento de los rotores y en sus conexiones internas. Estos, incluido el reflector, se mueven en el modelo Abwehr mediante un sistema de engranajes en lugar del mecanismo de muescas y dientes explicado antes. 141
  • 150. 8. MÁQUINAS DE ROTORES En fin, creemos haber dedicado ya suficientes párrafos a la descripción de las múltiples variantes de la famosa Enigma alemana. Nos la volveremos a encontrar en el siguiente capitulo, que dedicamos íntegro a su criptoanálisis; quizás el episodio más interesante y relevante de la historia de la Criptografía. Naturalmente, además de la americana y la alemana, hay otras máquinas de rotores. Casi todos los ejércitos que intervinieron en la Segunda Guerra Mundial tenían su propia máquina de rotores, diferente del resto. Muy conocidas son también la inglesa “Typex” y la japonesa “Purple”. No vamos a entrar en su descripción. Aunque no concluimos aquí esté capítulo. Queda hablar de la máquina de rotores sueca, la que sin duda fue la más vendida y permitió a su inventor hacer una gran fortuna. Es la identificada por su creador, el ingeniero sueco Boris Hagelin, con las siglas C−38. Apareció en 1938. Un ingenio mecánico de tamaño de bolsillo que funciona sin corriente eléctrica y que, incluso, imprime el texto cifrado. Con estas características, no es extraño el éxito comercial que tuvo. Como no emplea la energía eléctrica, no responde al modelo de máquina de rotores que aquí hemos expuesto. La C−38 es una máquina de tipo “pin and lug”, mecanismo ideado por el propio Hagelin tres años antes. Trataremos de explicar su principio describiendo al mismo tiempo el funcionamiento de la C−38. Aclarará la exposición la Figura 8.12, en la que se muestra la versión de esta máquina empleada por el ejército americano: el famoso convertidor M−209. Figura 8.12. El M−209 americano. 142
  • 151. 8. MÁQUINAS DE ROTORES Puede observarse en la mencionada figura que la máquina contiene un banco de seis rotores. Estos llevan en su anillo exterior unos pines en número distinto en cada rotor: 26, 25, 23, 21, 19 y 17, respectivamente. Los pines se identifican con sendas letras del alfabeto. Cada pin puede estar en dos posiciones, una activa y otra inactiva. Junto al banco de rotores hay un eje horizontal que lleva seis pequeñas barras verticales, una por cada rotor. Si al girar el rotor un pin activo llega a cierta posición, la diminuta barra correspondiente se levanta; si el pin esta inactivo, dicha barra se retrae. Puesto que cada vez que se cifra una letra todos los rotores avanzan una posición, se obtiene una sucesión de estados (levantados o retraídos) de las seis barritas. El periodo de esta sucesión puede llegar a ser el maximal: 26·25·23·21·19·17 = 101405848, ya que estos factores no tienen ningún divisor primo en común. Detrás del eje de pequeñas barras se encuentra un cilindro con 27 varillas dispuestas horizontalmente, asemejándose a una pequeña jaula. Cada varilla lleva dos diminutas asas (“lugs”). Las asas pueden deslizarse a lo largo de la varilla y colocarse en una de las ocho posiciones destinadas a ello. Dos de estas posiciones son neutras. Cada una de las otras seis permite que el asa haga contacto con la pequeña barra asociada al correspondiente rotor, si es que está elevada. Al cifrar una letra la jaula da una revolución completa. Si durante esta rotación un asa de una varilla contacta con una barra levantada, la varilla se desliza hacia la izquierda. Como hay 27 varillas, un número entre 0 y 27 de ellas sufrirán un desplazamiento en la codificación de una letra; y este número es diferente cada vez, puesto que así lo es el estado de las seis barras asociadas a los rotores. Con este ingenioso mecanismo Hagelin consigue generar una sucesión de enteros entre 0 y 27, prácticamente aleatorios y cuyo periodo es un número muy grande, coincidente con el de la serie de estados de las barras. Cada número se utiliza para cifrar una letra en la manera que explicamos a continuación. En la parte izquierda de la máquina figura una rueda con las 26 letras del alfabeto en el orden habitual. Para cifrar una letra se gira esta rueda hasta que dicha letra llega a una posición señalada al efecto. Al mismo tiempo, el eje de la rueda gira otra que contiene en su borde el alfabeto de cifrado pero con las letras en orden inverso. Seguidamente, se acciona una manivela situada en la parte derecha de la máquina. La manivela ocasiona primero un giro completo de la jaula, imprime el carácter cifrado después y, por último, hace adelantar un paso los seis rotores. Al revolucionar la jaula, cada desplazamiento de sus varillas ocasiona un avance de la rueda que contiene el alfabeto de cifrado, trayendo una nueva letra de este alfabeto a la posición marcada. Seguidamente, el dispositivo de impresión es activado por la acción de la manivela y graba la letra resultante en una cinta de papel. Las varillas deslizadas retornan a su posición inicial y, por último, los seis rotores avanzan un paso trayendo una nueva configuración de las pequeñas barras y concluyendo así el ciclo de cifrado. La codificación de una letra puede describirse mediante una ecuación si hacemos uso de la aritmética de letras introducida en el tema anterior. Como allí hicimos, identifiquemos la ‘A’ con el 0, la ‘B’ con el 1, la ‘C’ con el 2, etcétera. Tanto el alfabeto en claro como el de cifrado están grabados en el borde de sendos discos unidos por un mismo eje. Este segundo alfabeto sigue el orden inverso y ello ocasiona que la ‘A’ del alfabeto en claro se corresponda con la ‘Z’ del alfabeto de cifrado, la ‘B’ con la ‘Y’, la 143
  • 152. 8. MÁQUINAS DE ROTORES ‘C’ con la ‘X’ y así sucesivamente. La ecuación que relaciona una letra α del alfabeto en claro con otra β del de cifrado es entonces β=25−α. El mecanismo de cifrado no hace sino girar un número de pasos π el eje de los alfabetos. Añadiendo π al lado derecho de la ecuación anterior, tenemos ya la expresión que nos relaciona una letra α con su cifrada β: β=25−α+π. Despejando α en esta igualdad, α=25−β+π . La misma ecuación. Ello significa que la máquina produce un cifrado involutivo. La misma clave sirve a la vez para cifrar y descifrar. Hablar de ellas es lo único que falta para describir completamente el criptosistema que implementa el ingenio de Hagelin. Cada clave está constituida por los siguientes tres datos: el estado activo o inactivo de los pines, la posición inicial de los rotores y la disposición de las pequeñas asas o lugs. Hay en total 131 pines que se pueden configurar de 2131 modos diferentes. El número de posiciones iniciales de los seis rotores es el ya mencionado producto 26·25·23·21·19·17 = 101405848. Las dos asas de una varilla pueden colocarse de (8·7)/2=28 modos diferentes. Como hay 27 varillas obtenemos 27·28=756 maneras distintas de colocar las asas. El producto 2131·101405848·756 da el número de claves disponibles, una cifra que supera a 1050. En la práctica, la máquina se utilizaba manteniendo la misma configuración de pines y lugs durante un periodo de tiempo determinado, un día o una semana por ejemplo; pero la posición inicial de los rotores variaba con cada mensaje. Usando así la máquina, la posición inicial de los rotores debe transmitirse en claro junto con el mensaje cifrado. Además de escribir el texto cifrado, la máquina incorpora un contador que muestra el número de letras cifradas en cada momento. En caso de error, un botón permite regresar al estado anterior para corregirlo. Si la máquina se queda sin papel puede verse la letra cifrada en la rueda correspondiente. En fin, toda una maravilla mecánica. Su único punto débil es la seguridad del criptosistema que proporciona. En un ataque con texto pleno, un criptoanalista puede recuperar la configuración de pines y lugs y a partir de ahí el resto de mensajes cifrados con esa misma configuración. También es posible un ataque con texto cifrado únicamente, pero se requiere una alta capacidad de cálculo. Al igual que otras máquinas anteriores de Hagelin, la C−38 tuvo una buena acogida en algunos países europeos. En 1940, cuando Hitler ya había conquistado media Europa, Hagelin viajó secretamente de Estocolmo a Washington con 50 ejemplares de la C−38. La máquina encantó al ejército americano y decidió incorporarla como sistema criptográfico de nivel medio, sustituyendo al cilindro criptográfico M−94. En 1942, la compañía de máquinas de escribir “Smith & Corona” inició la producción en serie del criptógrafo de Hagelin con la denominación militar de convertidor M−209. Más de ciento cuarenta mil unidades fueron fabricadas. Al terminar la guerra, el ahora multimillonario Boris Hagelin regresó a Suecia. Enseguida se dio cuenta que el negocio de la Criptografía no había concluido con la guerra. Los nuevos países que surgieron de ella constituían un mercado potencial mayor incluso que el que había antes del conflicto. En 1948, Hagelin fundó en la pequeña ciudad 144
  • 153. 8. MÁQUINAS DE ROTORES suiza de Zug la compañía “Crypto AG”, dedicada exclusivamente a la Criptografía. La razón del traslado a Suiza fue el obstáculo que el gobierno sueco puso al desarrollo de esta disciplina, freno inexistente en Suiza. Desde su fundación y aún en la actualidad, Crypto AG ha sido una empresa boyante, cuya producción no ha conocido crisis alguna. 145
  • 155. 9 CRIPTOANÁLISIS DE ENIGMA En 1974, el que fuera oficial del servicio de inteligencia británico, Frederik W. Winterbotham, se atrevió a revelar en su libro “The Ultra Secret” lo que todavía era un secreto oficial: que durante la Segunda Guerra Mundial los aliados habían descifrado regularmente la correspondencia militar alemana y que ello les había proporcionado una gran ventaja en sus confrontaciones bélicas con el ejército alemán. El libro despertó un gran interés en Gran Bretaña y Estados Unidos, y acabó vendiéndose por todo el mundo. No era la primera publicación acerca de tal hecho, pero sí la que despertó la curiosidad por el tema de numerosos historiadores y criptógrafos. Tras el de Winterbotham, una sucesión de textos fueron descubriendo poco a poco como se logró penetrar en Enigma. Es, con diferencia, el episodio más contado de toda la historia de la Criptografía. También el más fascinante. Explicar detallada y razonadamente los diferentes métodos que se emplearon en el criptoanálisis de Enigma es complicado, requiere un libro entero. Y emplear unas matemáticas que superan el nivel elemental que aquí hemos decidido no sobrepasar. Limitados entonces por los objetivos marcados en este texto, nos conformaremos con un amplio resumen. Su lectura requerirá estar familiarizado con la máquina. De ella se hizo una descripción detallada en el capítulo anterior y a él nos remitimos. Hay que comenzar con el criptoanálisis de las versiones comerciales de Enigma. Esta labor se inició a finales de los años veinte, en la Government Code & Cypher School (GCCD), la oficina de inteligencia británica que sucedió a la Habitación 40 tras la Primera Guerra Mundial. Uno de sus miembros, Hugh Foss, encontró un complicado método para penetrar en el cifrado de Enigma. Pocos años después, el también perteneciente a la GCCD, Alfred ‘Dilly’ Knox, desarrolló y perfeccionó dicho método. El mismo Knox lo puso en práctica durante la Guerra Civil española, criptoanalizando la máquina Enigma empleada por la armada italiana. (La Enigma comercial identificada con la letra K, pero con las conexiones internas de los rotores alteradas. Este modelo K era muy similar al que llamamos D en el tema anterior.) Según los británicos, el trabajo de Knox fue de enorme ayuda a la Royal Navy en la trágica batalla del cabo Matapán, en 1941. En ella, la flota italiana sufrió enormes pérdidas. 147
  • 156. 9. CRIPTOANÁLISIS DE ENIGMA Tratar de explicar el método de Knox, al que los ingleses denominaron ‘rodding’, es el objetivo de los siguientes párrafos. Exactamente: mostraremos como criptoanalizar un texto cifrado con Enigma D en el supuesto que se disponga de un ejemplar de la máquina y que se haya identificado un pequeño fragmento de texto en claro. En tal caso, el método de Knox proporciona la clave. Con ella se puede descifrar completamente el mensaje. Acceder a un ejemplar de Enigma sólo está al alcance de unos pocos y nosotros no estamos entre ellos. Por fortuna, el ordenador puede suplir esta carencia. No es difícil elaborar un programa que simule el cifrado de una máquina de rotores. Naturalmente, se necesita conocer su mecanismo y las conexiones internas de los rotores. Aprovechando la detallada descripción que de Enigma D hicimos en el capítulo anterior, y con los datos de la Tabla 8.2, hemos construido en el ordenador un simulador de esta máquina. Con él hemos cifrado cierto texto en claro. El criptograma resultante, agrupando las letras en bloques de cinco, es el siguiente: WUZKV OKXKW ARHZO THRQC AKVBA NBKOV KTESD LUAVO DOKIP RMLRJ EYBXU MLQSS CJHNY KKCVJ SAR Del texto en claro sabemos que comienza por ‘CGXINFORMAX...’ (CG es abreviatura de Cuartel General. La X se utiliza como separador de palabras, hecho común en cifrados con Enigma). Este pequeño trozo va a ser suficiente para determinar la clave que, recordemos, consta de los siguientes datos: la posición inicial de los anillos respecto al cuerpo de los rotores, el orden de éstos al colocarlos en la máquina y la posición inicial de rotores y reflector. En primer lugar, como ya señalamos en la descripción de Enigma D efectuada en el capítulo anterior, girar inicialmente los anillos de sus rotores es una operación redundante ya que ello no afecta al movimiento de los mismos. Así, por ejemplo, girar un anillo de un rotor situando la A sobre el contacto 4 y luego colocar el rotor en la máquina viendo la N por la ventanilla equivale a colocar la A del anillo encima del contacto 1 y disponer el rotor viendo la K por la mencionada ventanilla. En consecuencia, en nuestro criptoanálisis, podemos muy bien suponer que los anillos de los rotores están situados con la A junto al contacto 1. Hecha esta aclaración, fijémonos en la Figura 9.1, que esquematiza el cifrado de Enigma al pasar la corriente eléctrica por el banco de rotores. Primero atraviesa el Stator, luego los rotores derecho, central e izquierdo, se refleja en el reflector y deshace el camino anterior hasta concluir su viaje en el panel de lámparas. Antes de ello, se ha producido el avance de los rotores. Pero este movimiento se limita casi exclusivamente al rotor derecho, que adelanta un paso con cada letra. El central lo hace cada 26 letras, y el izquierdo cada 650. Así, hay fragmentos de 26 letras en los que únicamente el rotor derecho se mueve. El bloque formado por el reflector y los rotores izquierdo y central permanece inmóvil, se comporta como un reflector fijo. Este es el punto débil de Enigma que aprovecha el método que concibió Knox. Veámoslo. 148
  • 157. 9. CRIPTOANÁLISIS DE ENIGMA Texto en claro CGXINFORMAX WUZKVOKXKWA Reflector Rotor Rotor Stator Texto cifrado Figura 9.1. Esquema de cifrado en Enigma D. El punto de partida es que la máquina ha transformado el fragmento de texto en claro ‘CGXINFORMAX’ en las once primeras letras del criptograma: ‘WUZKVOKXKWA’. Como disponemos de la máquina, conocemos la sustitución que proporciona el Stator. En consecuencia, podemos determinar el transformado del trozo en claro tras su paso por el Stator. Y también el correspondiente fragmento de texto cifrado antes de atravesar dicho Stator. La ya citada Tabla 8.2 incluye la sustitución del Stator; con ella deshacemos su acción: UNTHXMIDYJT CGXINFORMAX Stator BGFQVIQTQBJ WUZKVOKXKWA Supongamos ahora que con los nuevos fragmentos de texto repetimos la acción anterior, empleando un rotor en lugar del Stator. Obtenemos otros dos trozos. Llamemos C1 al transformado del fragmento ‘UNTHXMIDYJT’ y D1 al de ‘BGFQVIQTQBJ’. Sucede que si el rotor empleado es el rotor derecho de la clave y en la posición inicial correcta, entonces C1 y D1 son “isomorfos”, según explicamos a continuación. En el proceso de cifrado, C1 se transforma en D1 mediante la acción del bloque constituido por el reflector y los rotores izquierdo y central. Si durante esta transformación tal bloque ha permanecido inmóvil, ha actuado como un reflector fijo; esto es, ha tenido lugar una sustitución involutiva. Ello implica que, por ejemplo, si una A en C1 se cambia una vez por una P en D1, entonces toda A de C1 se transforma en P en D1 y viceversa: toda P de C1 se sustituye por A en D1. En esto consiste el isomorfismo. Puede suceder que, durante la transformación de C1 en D1, el rotor central haya avanzado (recordemos que ello ocurre tras verse la Z del rotor derecho en la ventanilla correspondiente.) En tal caso, puesto que los fragmentos de texto tienen sólo once letras, lo habrá hecho una o dos veces seguidas (en este segundo caso, el rotor central habrá movido también al izquierdo.) Ello rompe el isomorfismo entre C1 y D1. Aunque entonces estos fragmentos se parten en dos trozos en los que el rotor central está inmóvil y, en consecuencia, son isomorfos. Por lo general, si C1 y D1 se obtienen con un rotor diferente al rotor derecho de la clave o con el mismo rotor pero en una posición inicial distinta, entonces C1 y D1 no son isomorfos. 149
  • 158. 9. CRIPTOANÁLISIS DE ENIGMA El isomorfismo permite averiguar el rotor derecho de la clave y su posición de partida. Para ello, hemos de contemplar todas las posibilidades para C1 y D1 y determinar cuando o bien son isomorfos o bien se parten en dos trozos que lo son. Puesto que hay tres rotores disponibles y 26 posiciones iniciales, el número de textos C1 y D1 diferentes es 3·26 = 78. Su cómputo es posible porque conocemos las conexiones internas de los rotores (figuran en la Tabla 8.2). Si se hace “a mano”, empleando lápiz y papel únicamente, es un proceso muy lento y tedioso que requiere disponer de sendas tablas en las que figuren las 26 sustituciones de un rotor en función de su posición en cada momento. Por ejemplo, la Tabla 9.1 contiene estas transformaciones para el rotor número 1 de Enigma D. La letra de la primera columna representa la letra que se observa en la ventanilla en cada posición y la fila de letras que sigue indica la sustitución que tendrá lugar en esa posición. Así, por ejemplo, si el rotor está en la posición K, al pulsar la tecla L esta letra se transforma en R. A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Z: L P G S Z M H A E O Q K V X R F Y B U T N I C J D W A: O F R Y L G Z D N P J U W Q E X A T S M H B I C V K B: E Q X K F Y C M O I T V P D W Z S R L G A H B U J N C: P W J E X B L N H S U O C V Y R Q K F Z G A T I M D D: V I D W A K M G R T N B U X Q P J E Y F Z S H L C O E: H C V Z J L F Q S M A T W P O I D X E Y R G K B N U F: B U Y I K E P R L Z S V O N H C W D X Q F J A M T G G: T X H J D O Q K Y R U N M G B V C W P E I Z L S F A H: W G I C N P J X Q T M L F A U B V O D H Y K R E Z S I: F H B M O I W P S L K E Z T A U N C G X J Q D Y R V J: G A L N H V O R K J D Y S Z T M B F W I P C X Q U E K: Z K M G U N Q J I C X R Y S L A E V H O B W P T D F L: J L F T M P I H B W Q X R K Z D U G N A V O S C E Y M: K E S L O H G A V P W Q J Y C T F M Z U N R B D X I N: D R K N G F Z U O V P I X B S E L Y T M Q A C W H J O: Q J M F E Y T N U O H W A R D K X S L P Z B V G I C P: I L E D X S M T N G V Z Q C J W R K O Y A U F H B P Q: K D C W R L S M F U Y P B I V Q J N X Z T E G A O H R: C B V Q K R L E T X O A H U P I M W Y S D F Z N G J S: A U P J Q K D S W N Z G T O H L V X R C E Y M F I B T: T O I P J C R V M Y F S N G K U W Q B D X L E H A Z U: N H O I B Q U L X E R M F J T V P A C W K D G Z Y S V: G N H A P T K W D Q L E I S U O Z B V J C F Y X R M W: M G Z O S J V C P K D H R T N Y A U I B E X W Q L F X: F Y N R I U B O J C G Q S M X Z T H A D W V P K E L Y: X M Q H T A N I B F P R L W Y S G Z C V U O J D K E Tabla 9.1. Las sustituciones del rotor nº 1. El cálculo a mano de todos los fragmentos C1 y D1 se acelera notablemente empleando tiras de papel deslizantes confeccionadas con las columnas de estas tablas. De ahí el nombre de ‘rodding’ al método de Knox. Imaginamos que en tiempos de Enigma los criptoanalistas ingleses utilizarían máquinas electromecánicas con las que obtendrían rápidamente todos los fragmentos C1 y D1 posibles. Hoy en día, el ordenador lo hace al instante. Con su ayuda hemos elaborado la Tabla 9.2, en la que figuran los textos C1 y D1 para cada posición inicial del rotor 1 de Enigma D. En ella, hemos situado C1 sobre D1 para que se observe mejor si son isomorfos. A su lado, en la izquierda, figura la posición 150
  • 159. 9. CRIPTOANÁLISIS DE ENIGMA inicial del rotor. A partir de la posición P los textos están partidos en dos. Ello es porque el rotor ha llegado a la posición Z durante su movimiento, ocasionando a continuación el avance del rotor central. Este momento lo representa el espacio en blanco que parte en dos los fragmentos. NQGNLWLJZLI JZOHDXUDOXC DODLXRJH DPG Z: PZYQSSWEVHJ I: HONUROXYJBN R: BDCPFPTV YFI HDZGBOYCRJO PSAAWANWGND EGWWQSB SVIZ A: FCBJGLCHNAC J: AQPFAURZMUY S: URQZXJG TAQS AVFQMMQMUCA BKUUGQFQIYW XJJCKL EYJSF B: QLKDJYVXBKW K: KIHLBNJSVOE T: OUTAVB YMSWT GXYRSFSNDWU VYMNHBTJAEJ KSBOD VNKMTY C: WMLWZQNIELP L: LGFXUFMCWHQ U: HKJTO EAGQIM ZPQKEZKGEPM NBPTAHWPYQB CTDI JWOECMQ D: IFECKSBOUEV M: EZYRETVDPNK V: NVUG INSZJCZ RNEXYSITXVP QRYMNTMIRKD EMV ACPHWNZE E: CPOVQKEAFRO N: RTSJFWWWZGC W: GBA YBOQFDUR FGHPQYBLHOY ZCZEFNXALCV WW TDUCRZTRH F: UQPNCIUULJG O: JMLMYMPJAYF X: YN MAHHJYWXT IAXRTRVNIGZ AISSHFDOEF T U XMMIUSIFTX G: XJIBWBFMXLU P: LSRVLXZBTM O Y: M HGSARDQCGL YTIJCJOFBUS TUCVZIPRK OM H: GWVEOVLPRDX Q: DLKWDDADG PP Tabla 9.2. Los fragmentos C1 y D1. Fijémonos, por ejemplo, en los trozos C1 y D1 obtenidos con el rotor 1 en su posición inicial Z. No son isomorfos porque en D1 figuran dos S consecutivas y encima de ellas dos letras diferentes en C1. Observemos ahora los primeros trozos de C1 y D1 correspondientes a la posición inicial U. Vemos una K sobre una H y a continuación una S sobre una K. Si fueran isomorfos, la S debería ser H. En cambio, los textos que figuran al lado de la posición G sí son isomorfos: la I y la X se emparejan tres veces, la R y la B dos. Muy probablemente, el rotor derecho de la clave es el número 1 y en la posición G. Aunque también es posible la posición W, la única que no permite confirmar o descartar el isomorfismo por no repetirse las letras en ninguno de los dos trozos en que se han partido C1 y D1. Continuemos el criptoanálisis suponiendo que el rotor derecho de la clave es el número 1 en la posición inicial G. Si llegamos a una contradicción, habrá que considerar la posición W. Si de nuevo se alcanza una contradicción, habrá que probar con otro rotor. El siguiente paso es averiguar el rotor central y su posición inicial. Para ello, es necesario observar el cambio de isomorfismo que se produce en los textos C1 y D1 cuando avanza el rotor central. Como ya hemos dicho en varias ocasiones, tal avance se produce tras llegar el rotor derecho a la posición Z. Si éste parte de la G, llegará a la Z tras 19 letras codificadas. En consecuencia, el cambio de isomorfismo no se observará en fragmentos con menos de 20 letras. Es lo que sucede con nuestros C1 y D1: sólo tienen once letras. Si no los ampliamos más allá de 20 letras, nuestro criptoanálisis se detendrá. 151
  • 160. 9. CRIPTOANÁLISIS DE ENIGMA Podemos ampliar el fragmento D1 más allá de 20 letras porque disponemos de la totalidad del texto cifrado. Sólo tenemos que repetir el proceso anterior con una porción mayor de texto cifrado. Pero, en principio, esto no es posible con C1 ya que desconocemos como continúa el trozo de texto en claro del que hemos partido. Aunque quizás nos ayude el isomorfismo descubierto. Veámoslo. En primer lugar, alarguemos D1 repitiendo lo anterior con las 26 primeras letras del texto en claro: D1: XJIBWBFMXLUQHCXPNRX NPSAHMM El espacio en blanco que hemos añadido corresponde al momento que el rotor llega a la posición Z. Hasta ese espacio, podemos añadir letras a C1 en virtud del isomorfismo ya conocido: encima de la X una I, sobre la N una M... Descubrimos cuatro nuevas letras en C1: C1: IAXRTRVNIGZ***I*MBI D1: XJIBWBFMXLUQHCXPNRX Obtengamos las letras del texto en claro que corresponden a las cuatro letras recuperadas. Para ello, las sometemos primero a la acción inversa del rotor número 1 y después a la del Stator. Por ejemplo, efectuemos esta operación con la I que ocupa el decimoquinto lugar. Después de quince pasos, el rotor ha llegado a la posición U. En la Tabla 9.1, la I de la fila correspondiente a la posición U está en la columna D; por tanto, la sustitución inversa del rotor cambia la I por la D. Y como según la Tabla 8.2 la D es la transformada de la R mediante el Stator, resulta que la R es la letra decimoquinta del texto en claro. De igual modo procederíamos con las otras tres letras y descubriríamos sus asociadas en el texto en claro. Tras hacerlo, éste queda así: Texto en claro: CGXINFORMAX***R*QUI C1: IAXRTRVNIGZ***I*MBI Hemos de completar los trozos reemplazando los asteriscos por las letras correctas. El modo de hacerlo es conjeturar con letras que den sentido al texto en claro y que, al transformarlas, mantengan el isomorfismo entre C1 y D1. O, recíprocamente, suponer letras en C1 que no contradigan el isomorfismo y que al trasladarlas al texto en claro conserven el significado. Esta es la parte más delicada del criptoanálisis, donde la intuición es más eficaz que la argumentación. Por ello, mejor presentamos ya los trozos completos: Texto en claro: CGXINFORMAXSEXREQUI C1: IAXRTRVNIGZOPDIHMBI D1: XJIBWBFMXLUQHCXPNRX Ya hemos llegado hasta el espacio en blanco en C1. Pero debemos superar la barrera que representa. Sólo es posible recurriendo de nuevo al texto en claro. En él parece asomar una forma impersonal de los verbos requerir o requisar. Probemos con ‘requiere’. Si acertamos, habremos prolongado correctamente C1 con tres letras más. 152
  • 161. 9. CRIPTOANÁLISIS DE ENIGMA Pasando ‘ERE’ primero por el Stator y después por el rotor 1 (que ha llegado a la posición Z), obtenemos: C1: IAXRTRVNIGZOPDIHMBI GYX D1: XJIBWBFMXLUQHCXPNRX NPS Notemos como ha cambiado el isomorfismo tras el espacio en blanco: Antes de él, la G se emparejaba con la L, después va asociada a la N. Como decíamos, tal cambio permite descubrir el rotor central y su posición inicial en la clave. Y del mismo modo que antes: Sometemos los textos C1 y D1 a la acción de otro rotor en cada una de sus 26 posiciones iniciales. Aquella en la que los textos resultantes presenten el mismo isomorfismo antes y después del espacio en blanco será, muy probablemente, la posición correcta en la clave. Si tal circunstancia no se observa en ninguna posición, habrá que probar con el otro rotor. En la Tabla 9.3 se presentan los 26 transformados de los textos C1 y D1 con el rotor 2 en cada una de sus posiciones iniciales posibles. Esta tabla puede obtenerse rápidamente incluso a mano, ya que el rotor central sólo avanza una vez, tras el espacio en blanco. Naturalmente, necesitamos una tabla similar a la 9.1, en la que figuren las sustituciones que produce el rotor número 2 en cada una de sus 26 posiciones. Si examinamos la Tabla 9.3, únicamente en la posición Q se observa idéntico isomorfismo antes y después del espacio en blanco. Ello es porque, en efecto, el rotor central es el número 2 y su posición inicial es la Q. Ya no es necesario prolongar los nuevos fragmentos para revelar completamente la clave. Sometemos los dos textos proporcionados por el rotor 2 en su posición inicial Q a la acción del tercer y último rotor, en sus 26 posiciones iniciales posibles. (Durante esta operación, este rotor no gira porque el central no llega a la posición Z.) Obtendremos una tabla similar a la 9.3. Seguidamente, nos ayudamos de otra tabla en la que figuren las 26 sustituciones involutivas del reflector en función de su posición inicial. Debe haber una casilla en cada una de estas dos últimas tablas en las que se observen los mismos emparejamientos de letras. Tales casillas corresponderán, respectivamente, a la posición inicial del rotor izquierdo y del reflector. Pero no detallamos esta última parte del criptoanálisis y dejamos que el lector interesado complete la clave y descifre el mensaje. 153
  • 162. 9. CRIPTOANÁLISIS DE ENIGMA JSNYMYPWJFUIRGJXELJ WTC YSEUHULIYOVGZFYARKY ZUB Z: NQJLCLTENHKZXVNRWYN HYL M: EDYKXKMREBTJAWEZIUE FIG JSNYMYPWJFUIRGJXELJ WTC CJBOSOWFCZRYIMCXHVC WQT A: NQJLCLTENHKZXVNRWYN HYL N: BPCVDVNHBQKTXEBIFOB XSR PKCZJZBHPWRQYAPIVUP HQS OUTFJFCXOWIHSKOBEDO AHP B: CNPUMUEVCDOXIFCYHZC PWI O: TZODADYETGVNBLTSXFT GMI MTSKNKLPMHJXWRMOGEM NIP YCPQUQZGYATRMLYNWKY MSG C: SFMEBEVGSUAYOZSWPKS WXM P: POYKSKVWPDBENJPMGQP QDT EDPHZHAWENSVXCELOYE KRH NJGHAHRQNMBLDWNXFIN WAR D: PBEYRYGOPFKJLQPXWHP UIY Q: GENIOIZFGVYPXKGDQHG KOZ AXHLJLQUAKCWITADVPA CBQ DHRSXSNKDWICOTDMPJD LHZ E: HSAPOPMVHNZGDBHIULH VFI R: RBDJFJLPREQGMVROKSR BFW ROQXYXNVRCWHFERZTAR YVA AIZYPYEBALGNFXACJUA BFG F: QDRAGAJTQUPKZSQFVXQ GJX S: ZTAUQUVJZOMRCSZFBYZ MQO CZAHOHFGCYNEJKCQURC PMU STGVLVPMSBHEQJSZARS YGE G: ALCRPRBUASMWQDAJGHA DVN T: GCSRYRKAGIDXZWGQMVG DWK KQUWLWODKPYIVHKBFCK AXL BQENCNXDBYSPWTBRLVB QRF H: USKCZCXFUTEGBJUVDWU HFK U: EMBVFVALEZOURIEWDNE OTB RBLMDMYHRAPUFZRJCIR IOW LUFJNJEOLQPVTILACHL ZOQ I: LQRITIOCLENVJGLFHML TUC V: FGLHDHXCFKWMASFTOJF ULM PHWJMJSTPIAEUVPQGFP PZN FGQAVACUFZTSLYFKNRF JSN J: WRPFKFZGWBXLQYWUTJW DKL W: QXFRERPNQBDIKHQLUAQ RHU QENBWBJDQPGTKMQOSXQ NFY WQNLCLDRWJFKHVWETGW DER K: NCQXVXHSNFRIOUNKDBN SHV X: NIWGPGYTNMBZEXNHRLN JYB BWYKQKUSBNDJHXBPCTB OCE HFRTATOJHDPGYNHVQWH UDN L: YZBTMTOCYRIAPLYHSKY IZP Y: RZHWMWIQRSCKVURYJTR FRA Tabla 9.3. Transformados de los textos C1 y D1. Recordemos que el laborioso criptoanálisis anterior ha partido del supuesto que se disponga de un ejemplar de Enigma D y que se haya identificado un pequeño fragmento de texto en claro. En tiempos de Enigma, tal situación no era irreal en la práctica. El volumen de las comunicaciones que ya tenía lugar entre las unidades de un ejército requería emplear muchas máquinas cifradoras. Tarde o temprano, alguna caía en manos enemigas. Por otro lado, muchos mensajes militares se estructuraban siempre de la misma manera, incluyendo en su cabecera o su final fragmentos que indicaban quien emitía el mensaje y a quien iba dirigido. Con frecuencia, la identificación del emisor y del receptor de estos mensajes proporcionaba trozos de texto en claro. En la GCCS llamaron cribs (chuletas) a estos fragmentos de texto en claro. Los alemanes también conocían el método anterior. Está comprobado que lo emplearon para acceder a las comunicaciones suizas durante la Segunda Guerra Mundial. Suiza, al igual que Italia y otras naciones europeas, empleaba una versión comercial de Enigma. Fruto del criptoanálisis alemán es la inclusión del panel de enchufes en la parte frontal de la versión militar, el Stecker. Con él, la seguridad de Enigma aumenta de forma considerable. Incluso hubiera sido indescifrable de no ser por... Pero mejor lo contamos más despacio. Tras la Primera Guerra Mundial, el tratado de Versalles trajo la reducción del ejército alemán a poco más de 100.000 hombres y el desmantelamiento de gran parte de 154
  • 163. 9. CRIPTOANÁLISIS DE ENIGMA sus estructuras militares. Una de ellas, su oficina de cifras. Como consecuencia, las pocas comunicaciones cifradas se hacían de un modo muy simple, frecuentemente mediante transposiciones. Eran fácilmente criptoanalizadas por los servicios de inteligencia de los países vencedores de la Primera Guerra Mundial. Pero esta situación duró muy poco. A finales de los años veinte, los aliados interceptaron algunas comunicaciones militares alemanas que ya no seguían los simples patrones empleados hasta ese momento. Eran las pruebas que el ejército alemán estaba realizando con el nuevo criptosistema que pensaba adoptar, basado en la versión militar de Enigma. Entró en vigor en junio de 1930. A partir de entonces, los aliados dejaron de acceder a las comunicaciones de un ejército alemán en expansión. El análisis de los mensajes cifrados mostraba que la nueva cifra alemana era un sistema polialfabético, con un periodo que superaba la longitud de los textos y con una clave que cambiaba diariamente. Todo indicaba que Alemania había adoptado un criptosistema basado en una máquina de rotores y contra el que no se conocía criptoanálisis alguno. Por otra parte, el mencionado análisis reveló una curiosa norma que afectaba a las seis primeras letras de los criptogramas y que enseguida fue observada por los criptoanalistas: Todos los textos cifrados de un mismo día que coincidían en su primera letra, lo hacían también en la cuarta. La misma regla seguían la segunda y quinta letras. Y también la tercera y sexta. Pero estas coincidencias no abrieron ninguna grieta en la cifra alemana. Parecía impenetrable. La razón de la regla anterior está en el modo de cifrar con Enigma que inicialmente se escogió y que permaneció vigente hasta el 15 de septiembre de 1938. Hasta esa fecha, antes de cifrar un mensaje, el operador encargado de hacerlo debía disponer la máquina según la configuración inicial que se indicaba en la correspondiente “Tageschlüssel”, o clave del día. Cada una de ellas constaba de los siguientes datos: 1. El orden de los tres rotores disponibles (“Walzenlage”) y la posición de sus anillos (“Ringstellung”). 2. Las conexiones del Stecker, que hasta noviembre de 1936 fueron seis exactamente. Después de esta fecha y hasta fin de 1938, su número varió entre cinco y ocho. 3. La posición inicial de los rotores en la máquina (“Grundstellung”), determinada por las letras visibles en la ventanilla. El Grundstellung y las conexiones del Stecker eran diferentes en cada Tageschlüssel. Pero el orden de los rotores y el Ringstellung se mantenían durante un trimestre. No obstante, este periodo se redujo a un mes a partir de enero de 1936. Y desde octubre de ese mismo año, todos los datos variaron ya diariamente. Un ejemplo de Tageschlüssel es el siguiente: 155
  • 164. 9. CRIPTOANÁLISIS DE ENIGMA Walzenlage Ringstellung Stecker Grundstellung I III II X P R AT DS IJ MO WZ XY D E O Tabla 9.4. Ejemplo de Tageschlüssel. Una vez situada Enigma en la posición indicada en la clave del día, el emisor del mensaje elegía tres letras al azar y las cifraba dos veces. Las seis letras resultantes encabezaban el texto cifrado. Por ejemplo, si el trío de letras escogidas por el operador es ‘amx’, éste cifraba el fragmento ‘amxamx’. Si, por ejemplo, obtenía ‘PHBCJZ’, estas seis letras eran la cabecera del mensaje cifrado. Seguidamente, giraba los rotores hasta leer las tres letras escogidas en la ventanilla (‘amx’, en este caso). En esta nueva posición cifraba el mensaje propiamente dicho. El texto resultante se añadía a la cabecera anterior, obteniéndose el criptograma que se transmitía. El receptor del mismo, con Enigma en la posición señalada en la Tageschlüssel, descifraba primero las seis letras de la cabecera, recuperando así las tres letras elegidas por el emisor. A continuación, situaba los rotores en la posición marcada por esas tres letras y tecleaba el resto del criptograma, obteniendo el mensaje en claro. Los alemanes denominaban “Spruchschlüssel” (clave del mensaje) al trío de letras elegido por el operador. De este modo, cada mensaje se cifraba con una posición diferente de los rotores, con la que elegía el operador que lo transmitía. A su vez, esta posición se radiaba cifrada con la clave indicada en la Tageschlüssel. Se cifraba por duplicado para que el receptor pudiera corregir posibles errores producidos durante la transmisión de la cabecera, los cuales impedirían descifrar el mensaje que seguía a continuación. El doble cifrado de la Spruchschlüssel explica que dos criptogramas que coincidan en su primera (segunda o tercera) letra lo hagan también en su cuarta (quinta o sexta, respectivamente) letra, ya que así lo hacen los dos fragmentos de texto en claro de los que proceden. Pero esto constituye un tremendo error criptográfico que, como veremos, comprometió la seguridad de Enigma. El mismo fin se hubiese conseguido cifrando la Spruchschlüssel una sola vez y transmitiendo el resultado por duplicado: ‘PHBPHB’, en nuestro ejemplo. Los aliados supieron como empleaba Enigma el ejército alemán el 8 de noviembre de 1931. En esa fecha, espías franceses se reunieron en Bélgica con Hans-Thilo Schmidt, empleado de la oficina de cifra del ministerio de defensa alemán. A cambio de una importante suma de dinero, Schmidt facilitó a los franceses varios documentos secretos. Uno de ellos describía detalladamente el manejo de Enigma, otro hacía lo mismo con el sistema de claves en vigor. Sin embargo, de nada sirvieron estos documentos a los criptoanalistas franceses. Tampoco a los ingleses, quienes dispusieron de una copia días después. Tras la descorazonadora respuesta inglesa, al jefe del servicio francés de “Decryptement et Interceptions”, el capitán Gustave Bertrand, se le ocurrió proporcionar dichos documentos al “Biuro Szyfrow”, la oficina de cifras polaca. Bertrand había oído hablar de la habilidad polaca en materia de criptoanálisis. Así, el 7 de diciembre de 1931, Bertrand viajó a Varsovia con una copia de los citados documentos y la entregó al mayor Gwido Langer, responsable del Biuro Szyfrow. Langer explicó a Bertrand que la información 156
  • 165. 9. CRIPTOANÁLISIS DE ENIGMA proporcionada era de enorme utilidad, pero que sin un ejemplar de Enigma su criptoanálisis era imposible. Los documentos incluían una detallada descripción de la máquina con la que quizás fuese posible construir una copia de Enigma; pero faltaban las conexiones internas de los rotores, dato imprescindible para reproducir Enigma. Días después, el servicio secreto francés se reunió de nuevo con Schmidt. Este no les proporcionó las ansiadas conexiones internas de los rotores, pero sí las Tageschlüssels de ese mes de diciembre de 1931. Y al año siguiente, las correspondientes a los meses de mayo, septiembre, octubre, noviembre y diciembre. Bertrand viajó de nuevo a Varsovia con este material. A finales de los años veinte, antes de aparecer Enigma, los polacos descifraban las comunicaciones alemanas sin ninguna dificultad. No obstante, el personal de la Biuro Szyfrow no estaba capacitado para derrotar a una máquina de rotores. Sus jefes se dieron cuenta de ello. Entendieron que tal tarea requería una sólida formación matemática. Por ello, a partir de 1928, contactaron con estudiantes de Matemáticas de la Universidad de Poznan. Varios de ellos recibieron cursos introductorios de Criptografía. La razón de elegir la Universidad de Poznan fue que sus alumnos hablaban alemán perfectamente, ya que Poznan había formado parte de Alemania desde 1793 hasta 1918. En septiembre de 1932, la Biuro Szyfrow empleó a tres jóvenes matemáticos de Poznan: Marian Rejewski, Jerzy Rozycki y Henry Zygalski. A ellos se les encargó el criptoanálisis de Enigma. Rejewski lo logró a finales de diciembre de 1932. Mostrar como lo hizo es el propósito de los siguientes párrafos. En ellos va a ser inevitable recurrir a las Matemáticas, concretamente a la teoría de permutaciones. No obstante, intentaremos que nuestra exposición sea accesible a aquel lector no familiarizado con esta teoría matemática. Examinando la documentación facilitada por el espía Schmidt, Rejewski comprendió que la máquina que estaba empleando el ejército alemán era una modificación de la versión comercial. La inclusión del Stecker era la variación principal y el mayor obstáculo en el criptoanálisis. Como en la comercial, la máquina militar disponía de tres rotores intercambiables y un reflector que ahora permanecía siempre fijo. La presencia del reflector implica que las sustituciones son involutivas. Esto y el doble cifrado del trío de letras que permite acceder al resto del mensaje, la Spruchschlüssel, fue el punto de partida del criptoanálisis de Rejewski. Veámoslo. La Biuro Szyfrow interceptaba diariamente varias decenas de criptogramas. Rejewski entresacó las cabeceras de todos los mensajes de un mismo día. Obtuvo listas como la que figura a continuación: 157
  • 166. 9. CRIPTOANÁLISIS DE ENIGMA NEZ IDL CLX XKK AXW FYN YXF WYT JCS PSX WPB RUZ PKG CTH RLD AKM QCH JSO AEW FDN SNK HAY LFT KHB DCI DSI BRK EVY XLT SKB SYR HGR ISL ZFA QYC JGW EGR YXR ISN ZFG MDG TRH WAU RCC RLK AKY PEO CDJ WPB RUZ JLY PKU VCK LSY LFT KHB SPV HUQ IJA ZIE WLP RKV YQH WOO VAW LCN IZU ZNC BAN ECG OHO QJJ GZH GNO QJN JIG HIQ UWF OAI QCI HKZ UTL TUQ BBF MOQ TMF JNI PAI YVO WQJ ABB FPZ SPV HUQ WTC REW RWX AZK TYM BGP UDN VRG QHJ JJS ZOE MMD EOT YMB FMD NLM DML DLA GLD GKM JNZ PAL GLZ GKL KQA OOE OQR QOR TEP BDV LND KAM VCK LSY FFF NHT QDM JRP Tabla 9.5. Lista de cabeceras. De hecho, tal lista la hemos obtenido a partir de un programa en el ordenador que simula fielmente la máquina Enigma que entonces se utilizaba. Cada fragmento de seis letras es el cifrado repetido de tres letras escogidas al azar por nosotros. Naturalmente, con el simulador de la máquina dispuesto siempre según cierta Tageschlüssel. Enigma cifra cada letra con una permutación diferente. No obstante, todas las primeras letras de las cabeceras de los mensajes han sido cifradas con la misma permutación, ya que la máquina parte siempre de la misma posición inicial indicada en la clave del día. De igual modo, todas las segundas letras han sido producidas también por la misma permutación, distinta a la anterior naturalmente. Lo mismo sucede con las otras cuatro letras de las cabeceras. Consideremos esas seis permutaciones y designémoslas por π1, π2... y π6, respectivamente. Fijémonos en la primera cabecera de la lista anterior: ‘NEZIDL’. Es el resultado de cifrar dos veces tres letras que nos son desconocidas. Usemos la incógnita x para representar a la primera de ellas. Entonces π1 transforma x en N mientras que π4 sustituye x por I. En Matemáticas esto se expresa π1(x) = N y π4(x) = I. Ahora, recordemos que el cifrado de Enigma es involutivo. En consecuencia, sus permutaciones también lo son. Por tanto, π1(N) = x. Sustituyendo x en la otra igualdad: π4(π1(N)) = I, lo que significa que el producto (o composición) π4·π1 transforma la letra N en I, que π4·π1(N) = I. De igual modo, considerando ahora las permutaciones π2 y π5, se obtiene π5·π2(E) = D. Y, similarmente, π6·π3(Z) = L. Vemos así que cada cabecera de la lista proporciona un dato de cada uno de los productos π4·π1, π5·π2 y π6·π3. Como hay suficientes cabeceras, podemos obtener completamente estas permutaciones: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z π4·π1: F E X D Y N G U Z P O K T I Q C J A H B V L R S W M π5·π2: C P S R D H X J W I T K L A M U O V F E B Q Z Y G N π6·π3: E Z W M D T H O I S Y A P G J V F R X B C Q N K U L Tabla 9.6. Los productos π4·π1, π5·π2 y π6·π3 . 158
  • 167. 9. CRIPTOANÁLISIS DE ENIGMA El objetivo es determinar las permutaciones πi. Ello pasa por factorizar π4·π1, π5·π2 y π6·π3 en producto de ciclos disjuntos. Fijémonos en π4·π1. Esta permutación transforma la A en F, la F en N, N en I... y al llegar a la R, esta letra se cambia por A. Hemos completado un ciclo de π4·π1: (A F N I Z M T B E Y W R), de 12 letras. Considerando una letra no incluida en este ciclo y repitiendo este proceso, encontramos otro. Por ejemplo, empezando con la C obtenemos este otro ciclo: (C X S H U V L K O Q J P), también de 12 letras. Quedan dos letras que no figuran en los dos ciclos calculados, la D y la G. Nos proporcionan ciclos de una sola letra: (D) y (G), ya que se transforman en ellas mismas. Ya tenemos todos los ciclos de π4·π1. Se dicen disjuntos porque ninguno de ellos comparte letra alguna con otro. Y se verifica que π4·π1 es producto de todos ellos: π4·π1 = (A F N I Z M T B E Y W R)·(C X S H U V L K O Q J P)·(D)·(G). El orden de los ciclos es indiferente puesto que, a diferencia de lo que ocurre en general con el resto de las permutaciones, los ciclos disjuntos conmutan. Similarmente se descomponen π5·π2 y π6·π3 en producto de ciclos disjuntos: π5·π2 = (A C S F H J I W Z N)·(D R V Q O M L K T E)·(B P U)·(G X Y) π6·π3 = (A E D M P V Q F T B Z L)·(C W N G H O J S X K Y U)·(I)·(R). En las tres factorizaciones obtenidas aparecen pares de ciclos de igual longitud. Ello no es casualidad. Tal y como demostró Rejewski, es lo que sucede cuando se multiplican dos permutaciones como las que produce Enigma, consistentes ambas en trece transposiciones disjuntas (una transposición es un ciclo de longitud dos). Más aún, su demostración indica como recuperar las trece transposiciones de que constan los factores: para cada pareja de ciclos de igual longitud, se elige una letra en cada ciclo y se escriben los ciclos uno debajo de otro, empezando por las letras elegidas y ordenando las letras de uno de ellos en modo inverso. Por ejemplo, fijándonos en los dos ciclos de longitud 12 que aparecen en la factorización de π4·π1 y eligiendo la F y la V, escribimos: (F N I Z M T B E Y W R A) (V U H S X C P J Q O K L) Entonces, las dos letras de cada columna determinan transposiciones del segundo factor π1: (F V), (N U), (I H)..., (A L); y las diagonales ascendentes proporcionan transposiciones del primer factor π4: (V N), (U I), (H Z)..., (L F). Naturalmente, si variamos las letras elegidas en cada ciclo, entonces obtenemos emparejamientos diferentes que dan lugar a distintas transposiciones. El número de emparejamientos diferentes es precisamente la longitud de los ciclos. En consecuencia, hay varias soluciones para cada uno de los factores buscados. Así, en nuestro ejemplo, hay 12 soluciones para π1 y π4. Las mismas que para π3 y π6. Y este número aumenta a 30 para π2 y π5 porque las parejas de ciclos tienen longitudes 10 y 3. ¿Cómo elegir las soluciones correctas? Aquí Rejewski contó con la “inestimable ayuda” de los operadores alemanes. Observó que, entre las decenas de mensajes que diariamente se transmitían, era frecuente 159
  • 168. 9. CRIPTOANÁLISIS DE ENIGMA encontrar cabeceras repetidas. Iguales deben ser también las correspondientes Spruchschlüssels. Algo extraño, si se tiene en cuenta que hay 263 = 17576 tríos de letras donde escoger. Rejewski pensó que ello era porque algunos operadores elegían ternas con las tres letras iguales; como sólo hay 26 distintas, es fácil que se produzcan repeticiones. Tenía razón. Los mismos alemanes se dieron cuenta de este mal hábito entre sus operadores y lo prohibieron en abril de 1933. Claro que entonces adquirieron este otro: elegir tres letras adyacentes en el teclado de Enigma como, por ejemplo, ‘qwe’ o ‘xdr’. Haciendo esto, es difícil que haya Spruchschlüssels repetidas; pero es muy probable que algunas compartan dos letras. Las correspondientes cabeceras tienen entonces cuatro letras en común. Esto también ayuda a identificar correctamente las permutaciones πi . Nosotros, siguiendo fielmente el modo de proceder de los operadores alemanes, también formamos ternas con las tres letras iguales cuando obtuvimos la lista de cabeceras que nos sirve de ejemplo. En ella, los fragmentos ‘VCKLSY’ y ‘WPBRUZ’ figuran dos veces. Supongamos que provienen de tríos de letras idénticas y tratemos de hallarlas. Consideremos primero ‘VCKLSY’. Una letra que mediante π1 se transforme en V debe estar en el ciclo de π4·π1 que se empareja con el que contiene dicha V. Es (A F N I Z M T B E Y W R). Del mismo modo, una letra que mediante π2 se cambie por C debe estar en el ciclo (D R V Q O M L K T E). Y en (A E D M P V Q F T B Z L) se encuentra la letra que π3 la sustituya por K. Estos tres ciclos tienen en común las letras M, T, y E. Si ‘VCKLSY’ procede de una letra repetida tres veces, tal letra es una de las anteriores. Consideremos ahora ‘WPBRUZ’. Los ciclos duales de los que contienen a W, P, y B en π4·π1, π5·π2 y π6·π3 son, respectivamente, (C X S H U V L K O Q J P), (G X Y) y (C W N G H O J S X K Y U). La única letra en común es X. En consecuencia, ‘WPBRUZ’ ha sido originada por la terna ‘xxx’. Luego π1(X) = W. Este dato permite ya determinar tanto π1 como π4. Para obtener sus trece transposiciones disjuntas, procedemos según explicamos antes: asociamos ahora la W con la X y escribimos de nuevo los dos ciclos de longitud doce de π4·π1, uno debajo de otro y con las letras del segundo en orden inverso: (W R A F N I Z M T B E Y) (X C P J Q O K L V U H S) Entonces: π1 = (W X)(R C)(A P)(F J)(N Q)(I O)(Z K)(M L)(T V)(B U)(E H)(Y S)(D G) π4 = (X R)(C A)(P F)(J N)(Q I)(O Z)(K M)(L T)(V B)(U E)(H Y)(S W)(D G) (Nótese que ambas permutaciones contienen la transposición (D G), obtenida al emparejar los dos ciclos de longitud 1 de π4·π1.) De igual manera se calculan π3 y π6, casando la letra B con la X en los dos ciclos de longitud 12 del producto π6·π3 : 160
  • 169. 9. CRIPTOANÁLISIS DE ENIGMA π3 = (B X)(Z S)(L J)(A O)(E H)(D G)(M N)(P W)(V C)(Q U)(F Y)(T K)(I R) π6 = (X Z)(S L)(J A)(O E)(H D)(G M)(N P)(W V)(C Q)(U F)(Y T)(K B)(I R) Si emparejamos la P con la X en los correspondientes ciclos de π5·π2, únicamente descubriríamos tres transposiciones de π2 y π5, ya que 3 es la longitud de dichos ciclos. Para calcular las otras diez, necesitamos emparejar letras de los otros dos ciclos. Consideremos otra vez la cabecera repetida ‘VCKLSY’. Bajo el supuesto que proceda de un trío de letras iguales, hemos deducido que tal letra repetida es una de estas tres: M, T, o E. Como π1(T) = V, dicha letra debe ser T. Además, el hecho que π3(T) = K confirma que vamos por buen camino. Entonces π2(T) = C y ya tenemos el emparejamiento que nos faltaba: T con C. Sólo resta escribir convenientemente los ciclos de π5·π2 : (C S F H J I W Z N A) (P U B) (T K L M O Q V R D E) (X G Y) Y obtener ya π2 y π5 : π2 = (C T)(S K)(F L)(H M)(J O)(I Q)(W V)(Z R)(N D)(A E)(P X)(U G)(B Y) π5 = (T S)(K F)(L H)(M J)(O I)(Q W)(V Z)(R N)(D A)(E C)(X U)(G B)(Y P) Calculadas las permutaciones πi de cierto día, se pueden recuperar todas las Spruchschlüssels de ese día. Por ejemplo, la terna que dio lugar a la primera cabecera de nuestra lista, ‘NEZIDL’, es ‘qas’; ya que π1(N) = Q, π2(E) = A y π3(Z) = S. El primer paso hacía el criptoanálisis de Enigma ya estaba dado. Gracias al doble cifrado de las Spruchschlüssels. No obstante, el conocimiento de las claves no sirve de nada si no se dispone de un ejemplar de la máquina con el que descifrar los mensajes. Y como los alemanes no iban a prestar una a los polacos, éstos, si la querían, debían construir una. Ello pasaba por conocer las conexiones internas de los rotores, algo que el espía alemán Schmidt o no podía o no quería proporcionar. No hizo falta, Rejewski las calculó. El movimiento de los rotores tampoco figuraba en los documentos aportados por el espía alemán. Rejewski pensó que debía ser similar al de la máquina comercial. Si esto era así, la Enigma militar seguía teniendo el mismo punto débil que aquella: al cifrar fragmentos pequeños, únicamente el rotor derecho se mueve. Es lo que debía ocurrir la mayoría de las veces al cifrar las Spruchschlüssels que acababan de ser calculadas. De esta observación parte el análisis que permitió a Rejewski deducir las conexiones de los rotores. Fijémonos de nuevo en la Figura 9.1, que esquematiza el cifrado de la comercial Enigma D. Sirve también para la máquina militar, cambiando el Stator por el Stecker. Supongamos que la máquina está dispuesta inicialmente según cierta Tageschlüssel. Designemos por la letra griega σ a la permutación que proporciona el Stecker; por α, β y δ a la de los rotores izquierdo, central y derecho, respectivamente; y por ρ a la del reflector. Observando la Figura 9.1 y teniendo en cuenta como fluye la corriente eléctrica en el 161
  • 170. 9. CRIPTOANÁLISIS DE ENIGMA banco de rotores, la permutación total de Enigma antes de empezar a cifrar se expresa matemáticamente así: σ-1·δ-1·β-1·α-1·ρ·α·β·δ·σ donde σ-1, δ-1... son las sustituciones recíprocas, las que tienen lugar cuando la corriente atraviesa los rotores y el Stecker en sentido contrario, tras abandonar el reflector. (Como ya habrá notado el lector familiarizado con permutaciones, la expresión anterior debe recorrerse de derecha a izquierda: primero actúa σ, luego δ, etcétera.) Recordemos que el avance de los rotores se produce inmediatamente después que el operador pulsa una tecla y antes de cifrar la letra correspondiente. Como hemos dicho antes, admitamos que sólo el rotor derecho es el que mueve durante el doble cifrado de las Spruchschlüssels. Entonces, durante este cifrado, la única permutación que cambia en la expresión anterior es δ. Veamos cómo. Para ello, introducimos el ciclo de longitud 26: γ = (A B C . . . Z ), el que transforma la A en B, ésta en C..., y la Z en A. La nueva permutación del rotor derecho tras avanzar una posición es γ-1·δ·γ. (El lector puede comprobar esta afirmación en la Tabla 9.1, que contiene las 26 sustituciones de un rotor. Si δ es una de sus filas, entonces γ-1·δ·γ es la siguiente). Y su inversa (γ-1·δ·γ)-1 = γ-1·δ-1·γ. Cambiando en la expresión de antes δ y δ-1 por γ-1·δ·γ y γ-1·δ-1·γ, respectivamente, se llega a la permutación π1 que cifra la primera letra: π1 = σ·γ-1·δ-1·γ·β-1·α-1·ρ·α·β·γ-1·δ·γ·σ Nótese que hemos puesto σ en lugar de σ-1 porque, al ser involutiva la permutación proporcionada por el Stecker, σ = σ-1. Del mismo modo se obtiene una descomposición análoga para las demás permutaciones π2, π3..., y π6; en las que el rotor derecho avanza dos, tres..., y seis posiciones desde el punto de partida. Sólo hay que cambiar γ por γ 2, γ 3..., y γ 6, respectivamente. Juntando las seis ecuaciones, Rejewski llegó al siguiente sistema: π1 = σ·γ-1·δ-1·γ·β-1·α-1·ρ·α·β·γ-1·δ·γ·σ π2 = σ·γ-2·δ-1·γ 2·β-1·α-1·ρ·α·β γ-2·δ·γ 2·σ ··· π6 = σ·γ ·δ ·γ ·β ·α ·ρ·α·β γ-6·δ·γ 6·σ -6 -1 6 -1 -1 En verdad, en las ecuaciones que inicialmente obtuvo Rejewski incluso aparecía una permutación más. Guiándose por la máquina comercial, en un principio supuso la presencia de un Stator que actuaba entre el Stecker y el banco de rotores. Le llevó algún tiempo darse cuenta que, en la Enigma militar, el Stecker no se añadía sino que reemplazaba al Stator. Las permutaciones πi y γ son datos conocidos en las ecuaciones anteriores. También lo es σ, la sustitución del Stecker, si las ecuaciones corresponden a un día incluido en las Tageschlüssels suministradas por Schmidt. Entonces δ y el producto ω = β-1·α-1·ρ·α·β pueden ser calculados en el sistema anterior. No lo haremos, porque explicarlo nos 162
  • 171. 9. CRIPTOANÁLISIS DE ENIGMA adentraría más en la teoría de permutaciones y no es nuestro propósito. Aunque sí diremos que la solución de ese sistema no es única, sino que hay 26 permutaciones δ y ω que la cumplen. Ello es debido a que cada rotor tiene otros 25 equivalentes que producen el mismo cifrado, sólo es cuestión de ajustar el Ringstellung convenientemente. Eligiendo entre las 26 posibles una solución δ, se tienen ya las conexiones internas de un equivalente al rotor situado en la derecha. Y como el orden de los rotores era cambiado periódicamente, Rejewski pudo calcular primero equivalentes de los otros dos rotores y del reflector después. Tras ello, queda determinar el lugar donde va situada la muesca del Ringstellung que produce el avance del rotor adyacente. Pero esto ya es sencillo, sólo hay que descifrar algunos mensajes correspondientes a Tageschlüssels y Spruchschlüssels conocidas y observar cuando debe girar el rotor central para que el texto en claro siga revelándose. En 1934, la fábrica de aparatos de radio AVA proporcionó a la Biuro Szyfrow las primeras réplicas polacas de Enigma. A partir de entonces, Rejewski y compañía pudieron descifrar cómodamente los mensajes alemanes. Naturalmente, después de averiguar la clave. Los polacos seguían obteniendo regularmente las Spruchschlüssels y recibían de los franceses las Tageschlüssels que algunos meses suministraba el espía alemán. Pero en la Biuro Szyfrow no querían depender de Schmidt. Por ello, Rejewski y sus dos colegas abordaron el problema recíproco, que consiste en completar la clave con la ayuda de la máquina y los criptogramas interceptados. Exactamente: el orden de los rotores, el Ringstellung y las conexiones del Stecker. Resumimos a continuación como lo resolvieron. A Rozycki se le ocurrió una idea para identificar el rotor derecho. Como ya hemos comentado antes, entre las Spruchschlüssels solía haber algunas con dos letras repetidas. Supongamos que dos de ellas, correspondientes al mismo día, coinciden en sus dos primeras letras. Por ejemplo, ‘qwe’ y ‘qws’. Si el rotor de la derecha fuese el número I, partiendo de la posición ‘qwe’ nunca se llega a ‘qws’; ya que de ‘qwq’ se pasa a ‘qxr’ porque el rotor I hace avanzar al de su derecha cuando la Q de su anillo es visible en la ventanilla al efecto. Lo mismo sucede colocando el rotor II en la derecha, ya que tras ‘qwe’ se ve ‘qxf’. En cambio, como el tercer rotor debe llegar hasta la V para que se produzca el avance del rotor vecino, situando el rotor III en la derecha, de ‘qwe’ se llega a ‘qws’ al cabo de catorce pasos. Por tanto, en el caso que el rotor de la derecha sea el III, la decimoquinta letra del mensaje que arranca con ‘qwe’ se cifra con la misma permutación que la primera letra del mensaje que parte con ‘qws’. La decimosexta con idéntica que la segunda. Etcétera. Entonces, colocando los criptogramas uno debajo de otro y desplazando el segundo catorce lugares para que su primera letra quede debajo de la decimoquinta del primero, el número de letras coincidentes es el mismo que el de los textos en claro. En el idioma alemán, el porcentaje de coincidencias es 7.6. Luego, si en efecto, el porcentaje de coincidencias en los criptogramas se aproxima a este número, muy probablemente será porque el rotor III es el de la derecha. En otro caso, el porcentaje caerá hasta casi 3.8, que es el correspondiente a textos con letras elegidas aleatoriamente. En este caso, el rotor diestro será el I o el II y quizás otro par de Spruchschlüssels con las dos primeras letras iguales permita decidirlo. 163
  • 172. 9. CRIPTOANÁLISIS DE ENIGMA Una vez identificado el rotor derecho, el paso siguiente es encontrar las conexiones del Stecker; esto es, la permutación que antes representamos por σ. Para ello, consideramos de nuevo el sistema de seis ecuaciones obtenido por Rejewski, con las permutaciones πi ya calculadas. Si en estas ecuaciones no figurase la permutación σ, entonces al efectuar los productos γ -i·δ·γ i·πi·γ -i·δ-1·γ i obtenemos siempre la permutación ω = β-1·α-1·ρ·α·β. Pero, claro, está σ y, por tanto, ninguno de esos seis productos es ω. Tanto ω como estos productos constan de 13 transposiciones disjuntas. Como en el Stecker hay seis conexiones, σ altera doce letras y deja fijas las catorce restantes. Ello implica que, aún no siendo ω, cada uno de los seis productos anteriores contiene entre una y siete transposiciones de ω. Lo más probable es que sean tres o cuatro. Sucede que ω y δ son desconocidas. Ahora bien, como δ es una de las 26 permutaciones que implementa el rotor derecho, el cual hemos identificado, podemos calcular para cada valor posible de δ los seis productos de antes y tratar de averiguar cual es la permutación δ correcta. Muy probablemente será aquella que proporcione seis productos con más transposiciones repetidas. Y también muy posiblemente estas transposiciones duplicadas pertenezcan a ω. Se trata de analizar cuidadosamente cada caso para determinar correctamente δ y ω. Para facilitar esta labor, los polacos confeccionaron un catálogo con todas las permutaciones ω posibles, una por cada ordenación de los rotores y por cada posición de los rotores izquierdo y central. En total: 6 × 26 × 26 = 4056. Identificada ω, es fácil calcular σ. Sólo hay que comparar ω con los seis productos obtenidos; las doce letras que cambian, proporcionan σ. De este modo se averiguan las conexiones del Stecker. Y también el orden de los tres rotores y sus posiciones iniciales, determinados por las permutaciones δ y ω. (Por supuesto, todo este proceso se complica considerablemente si durante el doble cifrado de las Spruchschlüssels no es el rotor derecho el único que se mueve.) Todavía falta por calcular el Ringstellung, ya que las anteriores posiciones iniciales de los rotores sólo proporcionan la diferencia entre el Grundstellung y el Ringstellung. Cuando las conexiones del Stecker son conocidas, la Enigma militar se puede criptoanalizar como la comercial, mediante el método de los isomorfismos que vimos antes. (Más fácil aún, porque el reflector no se mueve.) En la aplicación de dicho método, los polacos utilizaron el hecho que el texto en claro de muchos mensajes alemanes empezaba por ‘ANX’ (‘AN’ significa PARA en alemán y la ‘X’ se empleaba como separador de palabras). Lo supieron cuando gracias a las Tageschlüssels proporcionadas por Schmidt, descifraron mensajes de 1932. Un trigrama es, por supuesto, una cantidad muy pequeña de texto en claro, pero hay que multiplicarla por el número de mensajes en los que esté presente. Determinada la posición inicial del rotor diestro en un mensaje que comience por ‘ANX’, la de los otros dos rotores se puede obtener en el catálogo de permutaciones ω antes mencionado. Estas nuevas posiciones iniciales dan la diferencia entre la Spruchschlüssel y el Ringstellung. Y como la primera ya es conocida, puede calcularse el segundo. El método anterior para determinar el orden de los rotores y las conexiones del Stecker fue mejorado notablemente en 1937. Todo el análisis anterior arranca de los 164
  • 173. 9. CRIPTOANÁLISIS DE ENIGMA productos π4·π1, π5·π2 y π6·π3. Como bien notó Rejewski, diferentes conexiones del Stecker cambian estas permutaciones pero no su estructura cíclica. Exactamente: el número de ciclos y sus longitudes no dependen de las conexiones del Stecker, sólo del orden de los rotores y de sus posiciones iniciales. Rejewski llamó característica a dicho número de ciclos y longitudes. En el ejemplo que pusimos antes, la característica es la siguiente terna ordenada de listas de números: {12, 12, 1, 1}, {10, 10, 3, 3} y {12, 12, 1, 1}. Otro ejemplo podría ser este: {10, 10, 1, 1, 1, 1}, {10, 10, 2, 2, 1, 1} y {13, 13}. Para cada orden de los rotores y cada posición inicial de éstos, se halló su característica (suponiendo siempre que sólo el rotor derecho es el que se mueve). En total, hubo que calcular 6 × 26 3 = 105456 características. Algunas se repetían, pero casi todas eran diferentes. Los resultados se ordenaron en un catálogo en el que a continuación de cada característica iba el correspondiente orden de los rotores y sus posiciones iniciales. Calculada la característica de un día, el catálogo proporcionaba de forma inmediata el orden de los rotores y sus posiciones iniciales (la diferencia entre el Grundstellung y el Ringstellung). A continuación se procedía al cálculo de σ, la sustitución Stecker. Para ello, se comparaban los productos π4·π1, π5·π2 y π6·π3 con sus homónimos obtenidos sin conexión alguna en el Stecker. Las letras cambiantes proporcionan σ. Todo este proceso se efectuaba en unos pocos minutos. En la confección del catálogo de características, los polacos emplearon un aparato que llamaron ciclómetro. La Figura 9.2 muestra el dibujo que de este artefacto hizo el propio Rejewski. Consistía en dos bancos de rotores conectados convenientemente y de modo que el rotor de la derecha de un banco estaba desplazado tres posiciones con respecto a su homónimo del otro banco. Debajo de los dos bancos de rotores figuraba un panel de lámparas y palancas, una por cada letra del alfabeto. Al accionar una palanca, una corriente eléctrica atravesaba varias veces los bancos de rotores y encendía un número par de lámparas, las correspondientes a dos ciclos asociados de la permutación π4·π1 . Accionando otra palanca de una letra no iluminada se encontraba otro par de ciclos asociados. Así se determinaba la descomposición en ciclos disjuntos de π4·π1 . Y variando el orden de los rotores y sus posiciones iniciales, se calcularon todas las permutaciones π4·π1 existentes. Ello fue suficiente para elaborar el catálogo, ya que las permutaciones π5·π2 y π6·π3 asociadas a una determinada posición de los rotores coinciden con la π4·π1 que se obtiene adelantando los rotores diestros una o dos posiciones, respectivamente. Aún empleando ciclómetros, los polacos tardaron casi un año en completar el catálogo. Y poco tiempo después, el 1 de noviembre de 1937, los alemanes cambiaron el reflector y el proceso tuvo que empezar de nuevo. (Obviamente, tras hallar las conexiones del nuevo reflector.) 165
  • 174. 9. CRIPTOANÁLISIS DE ENIGMA Figura 9.2. Ciclómetro de Rejewski. El 15 de septiembre de 1938 entró vigor una modificación en el sistema de cifrado que hizo inservibles los métodos anteriores. A partir de entonces, el Grundstellung era diferente para cada mensaje y, al igual que la Spruchschlüssel, elegido libremente por el operador. Sus tres letras se transmitían en claro en la cabecera del mensaje, antes de las seis letras que resultaban del doble cifrado de la Spruchschlüssel. De este modo, el receptor del mensaje se encontraba ahora con cabeceras de nueve letras. Como por ejemplo: ‘RXT AWDAPS’, en la que el trío de letras ‘RXT’ es el Grundstellung y las otras seis letras corresponden al doble cifrado de la Spruchschlüssel. El resto del proceso de cifrado no sufrió ninguna variación. Por entonces, el orden de los rotores y el Ringstellung ya se cambiaban todos los días y el número de conexiones del Stecker oscilaba entre cinco y ocho. La modificación introducida anula los métodos de criptoanálisis anteriores. Al variar el Grundstellung en cada mensaje, lo hacen también los productos π4·π1, π5·π2 y π6·π3. De ellos, el criptoanalista sólo conoce ahora la transformada de una letra y ello impide que los métodos previos puedan iniciarse. No obstante, los alemanes siguen cometiendo el mismo error: cifrar dos veces la Spruchschlüssel de cada mensaje. De nuevo, los polacos aprovecharían este fallo. Veamos cómo. Para elaborar el catálogo de características, tuvieron que calcular los 105456 productos π4·π1 . Observaron que aproximadamente el 40% de estas permutaciones contienen ciclos de longitud 1. Lo mismo ocurre con los productos π5·π2 y π6·π3 ya que, como se explicó antes, las permutaciones π5·π2 y π6·π3 asociadas a una determinada posición de los rotores coinciden con las π4·π1 de otras posiciones. Los ciclos de longitud 1 se manifiestan en las cabeceras de los mensajes mediante repeticiones en las letras que siguen al Grundstellung. Por ejemplo: RXT AWDAPS ABC OXUCXW ETV ASTBUT 166
  • 175. 9. CRIPTOANÁLISIS DE ENIGMA Los británicos emplearían el término “female” para referirse a estas repeticiones. La primera cabecera anterior indica que la permutación π4·π1 correspondiente contiene el ciclo (A). Usando la terminología británica, tal cabecera es una 1,4-female. La segunda cabecera es una 2,5-female y (X) es un ciclo de π5·π2 , y la tercera una 3,6-female y (T) un ciclo de π6·π3. Recordemos que las longitudes de los ciclos de las permutaciones π4·π1, π5·π2 y π6·π3 no dependen de las conexiones del Stecker sino del orden de los rotores y de sus posiciones iniciales, y que estas posiciones vienen determinadas por las diferencias entre las letras del Grundstellung y las del Ringstellung. El Grundstellung es diferente en cada mensaje, pero conocido. Por el contrario, el Ringstellung es igual en todos los mensajes de un mismo día, aunque desconocido. El objetivo es identificar el correcto orden de rotores y Ringstellung entre los 105456 posibles. Ahora bien, este número se reduce en un factor de 0.4 cada vez que se observe un ciclo de longitud 1, ya que sólo el 40% de las permutaciones π4·π1 (o π5·π2 , o π6·π3) presentan tales ciclos. Por tanto, como 105456·(0.4)12 = 1.7, muy posiblemente doce o trece females determinen unívocamente el orden de rotores y Ringstellung. Afortunadamente, los polacos disponían de este número de females. No era casualidad. Si las permutaciones πi y el Grundstellung se eligen aleatoriamente, la teoría de probabilidades dice que el 11.5% de las cabeceras presentarán females. Por tanto, para que haya una docena de females se requiere poco más de un centenar de mensajes; cantidad que se alcanzaba en algunas de las redes de comunicaciones del ejército alemán. Luego, es posible determinar el orden de rotores y Ringstellung correctos a partir de las females. Sí, en teoría, pero ¿y en la práctica? A Zygalski se le ocurrió un ingeniosísimo método para hacerlo. Para cada uno de los 6 órdenes posibles de los rotores y para cada una de las 26 posiciones del rotor izquierdo, se confeccionaron en material opaco unas hojas como la de la Figura 9.3. En total, 6·26 = 156. Cada hoja se divide en 51×51 pequeños recuadros que se identifican por una letra en el eje horizontal y por otra en el vertical. Las letras horizontales representan las posiciones del rotor central y las verticales las del derecho. La razón de repetir posiciones aparecerá cuando expliquemos como se utilizan las hojas. Si en una determinada posición de los rotores se pueden presentar 1,4-females al cifrar dos veces la Spruchschlüssel, el recuadro correspondiente está perforado. Para saberlo, los polacos no tuvieron que efectuar ningún cálculo nuevo, sino consultar el catálogo de características. Aún así, tardaron varias semanas en tener listo un primer juego de hojas de Zygalski. 167
  • 176. 9. CRIPTOANÁLISIS DE ENIGMA Figura 9.3. Una hoja de Zygalski. Antes de emplear las hojas es preciso “normalizar” las 2,5 y 3,6-females adelantando su Grundstellung derecho una o dos posiciones, respectivamente. Por ejemplo: ABC OXUCXW → ABD OXUCXW ETV ASTBUT → ETX ASTBUT Hecho esto, el siguiente proceso ha de repetirse para cada orden de los rotores y cada posición del Ringstellung del rotor izquierdo. Fijado un orden de los rotores, se normalizan de nuevo aquellas females cuyo Grundstellung indique un avance del rotor central. Por ejemplo, si el orden de rotores es III-I-II, el Grundstellung ‘AHE’ debe normalizarse ‘AIE’, ya que la E del rotor II ocasiona un avance del rotor central. Seguidamente, se seleccionan las 26 hojas asociadas al orden de los rotores y se aparta el resto. Fijada también una letra del Ringstellung del rotor izquierdo, digamos C, se considera el Grundstellung de una primera female. Por ejemplo: ‘PDY’. Su letra izquierda es P. Puesto que P−C=N, se escoge la hoja correspondiente a la letra N y se coloca 168
  • 177. 9. CRIPTOANÁLISIS DE ENIGMA encima de una mesa transparente. Esta hoja hace de referencia básica. Se considera a continuación el Grundstellung de otra female. Por ejemplo: ‘HXT’. Su primera letra es H y H−C=F. Se elige entonces la hoja correspondiente a esta letra F. Se coloca encima de la anterior hoja básica desplazándola 6 recuadros hacia la derecha y 5 hacia abajo, seis a la derecha porque de la X a la D van 6 letras y cinco hacia abajo porque de la T a la Y van 5. Se hace lo mismo con el resto de las females. Colocadas todas las hojas, se hace actuar un foco de luz sobre las hojas y se observa si la luz traspasa algún agujero común a todas ellas. Si hay suficientes females, el haz de luz atravesará un único agujero. Este agujero proporciona de forma inmediata el orden de los rotores y el Ringstellung del rotor izquierdo. Para obtener el de los otros dos rotores, notemos que, fijada una de las females (normalizada si ha sido necesario), las letras del agujero de la hoja correspondiente determinan la posición de los rotores que la ha producido. Esta posición es precisamente la diferencia entre el Grundstellung de la female y el Ringstellung que se pretende calcular. Por tanto, el Ringstellung de los rotores central y diestro se obtiene restando al Grundstellung de una female las letras del agujero. Ya sólo queda obtener las conexiones del Stecker. Como éste cambia las letras de los ciclos de longitud 1 del catálogo de características por las letras repetidas de las females, entonces la letra repetida de una female está conectada con una de las letras de los ciclos de longitud 1 de la correspondiente permutación π4·π1 del catálogo. Contemplando todas las females a un tiempo, no será difícil averiguar cual. Puede ocurrir que el haz de luz atraviese más de un agujero. En tal caso se procede con cada uno de ellos como antes. Las contradicciones descartarán casi todos los casos. Y si todavía queda más de uno, la solución correcta será aquella que permita descifrar los mensajes. Además de las hojas de Zygalski, los polacos contaron con una máquina diseñada por Rejewski que, bajo las condiciones que describimos a continuación, también calculaba el orden de los rotores y el Ringstellung. Le dieron el nombre de bomba. Expliquemos en qué consiste. Entre las females de un mismo día, en ocasiones había tres que presentaban la misma letra repetida. Como por ejemplo: XTH RPYRAC AQL TRVSRJ MOZ RFGRVW La primera de estas females indica que el ciclo (R) está presente en la permutación π4·π1 . Supongamos que la R no se vea alterada por el Stecker, que no está conectada con ninguna otra letra. Entonces, también el ciclo (R) aparece en la sustitución π4·π1 que se obtendría sin ninguna conexión en el Stecker. Como ya sabemos, el número de tales productos π4·π1 es 105456, tantos como configuraciones posibles de los rotores (orden y posiciones iniciales). Desconocemos cuantos de estos productos contienen al ciclo (R); no obstante, la Teoría de Probabilidades muestra que, fijado un ciclo de longitud 1, si π1 y π4 se eligen aleatoriamente entre las de su clase, entonces el 4% de los productos π4·π1 contienen dicho ciclo. Admitamos esta regla para las sustituciones de Enigma. Entonces, 169
  • 178. 9. CRIPTOANÁLISIS DE ENIGMA el anterior número 105456 se reduce en un factor de 0.04 cada vez que se observe una female con la letra R repetida. Como 105456·(0.04)3 = 6.75, resulta que muy probablemente tan sólo seis o siete configuraciones de los rotores pueden ocasionar las tres females anteriores. La máquina ideada por Rejewski automatizaba la identificación de esas configuraciones. Esencialmente, la bomba de Rejewski consiste en tres ciclómetros conectados convenientemente. Un motor eléctrico hace girar de forma sincronizada los seis bancos de rotores recorriendo las 17576 posibles posiciones. Cuando se llega a una posición en la que los tres ciclómetros reconocen el ciclo programado, (R) en nuestro ejemplo, el mecanismo se detiene mostrando dicha posición. Los polacos construyeron seis bombas, una por cada orden de los rotores. Antes de utilizarlas, es preciso ajustar adecuadamente las posiciones de los rotores de los ciclómetros. Para ello, primero se normalizan las females del mismo modo que explicamos antes. Hecho esto, se asocia cada uno de los tres ciclómetros a una female y se colocan sus rotores en la posición indicada en el Grundstellung, con el rotor derecho del segundo banco desplazado tres posiciones respecto a su homónimo del primer banco. En nuestro ejemplo, los rotores del ciclómetro asociado a la primera female deben colocarse así: el primer banco en la posición ‘XTH’, el segundo ‘XTK’. Tras situar los rotores se activa la palanca de la letra R y se pone en marcha la bomba. Las seis bombas encontraban las seis o siete posiciones que ocasionan las tres females en unos 90 minutos. Entre esas posiciones se encuentra la que proporciona la clave. Para reconocerla, se sigue el mismo proceso que con los agujeros de las hojas de Zygalski. Las bombas de Rejewski supusieron una comodidad para el personal de la Biuro Szyfrow y eliminaban los errores debidos al factor humano. Por el contrario, requerían que entre las females hubiera tres con la misma letra repetida y que ésta fuese invariante por el Stecker. Algo que no ocurría todos los días. El 15 de diciembre de 1938 los alemanes pusieron en servicio dos nuevos rotores. Con ello, aumentaron de tres a cinco los rotores disponibles y, por consiguiente, de seis a sesenta el número de ordenaciones posibles. La consecuencia para los criptoanalistas polacos es obvia: a partir de esa fecha, sólo uno de cada diez días pudieron descifrar los mensajes alemanes. No obstante, los polacos encontraron enseguida las conexiones de los nuevos rotores. De nuevo contaron con la “ayuda” alemana. En esta ocasión no fue el espía Schmidt, quien meses atrás había dejado de tener acceso a las claves de Enigma, sino el servicio de inteligencia del partido nazi. Su red de comunicaciones incorporó los nuevos rotores, pero seguía cifrando con el sistema anterior al 15 de septiembre. Gracias a ello, las conexiones de los nuevos rotores pudieron obtenerse como las de los tres anteriores, manipulando el antiguo sistema de ecuaciones obtenido por Rejewski. Esta vez, los polacos tuvieron mucha suerte. Habría sido muy difícil recuperar los dos nuevos rotores sin la “colaboración” del servicio de inteligencia del partido nazi, A pesar de ello, el paso de tres a cinco rotores superó con creces las posibilidades de cómputo de la pequeña oficina de cifras polaca. Poder emplear el método de Zygalski con los nuevos rotores requería preparar 26·54 = 1404 nuevas hojas, una tarea que podía 170
  • 179. 9. CRIPTOANÁLISIS DE ENIGMA costar varios años de trabajo a la reducida plantilla de la Biuro Szyfrow. El otro método, el de las bombas de Rejewski, quedó inoperante el 1 de enero de 1939, cuando los alemanes incrementaron a diez las conexiones del Stecker. Los polacos no lograron aumentar la proporción de días que accedían a las comunicaciones alemanas. Durante todos estos años, ningún otro país tuvo noticia del éxito polaco con Enigma. Ni siquiera Francia, cuyo servicio secreto había facilitado a Polonia los documentos comprados al espía Schmidt. El gobierno polaco entendió que comunicar a otros países como descifrar Enigma violaba el pacto de no agresión firmado con Alemania en enero de 1934. La situación cambió el 27 de abril de 1939, cuando Hitler declaró “nulo y vacío” el tratado de no agresión. Días después, la Biuro Szyfrow recibió la orden de compartir secretos con Francia e Inglaterra. Atendiendo a este mandato, los polacos reunieron secretamente en Pyry, cerca de Varsovia, a una delegación francesa y otra británica el 24 de julio. En este encuentro, Rejewski y compañía mostraron a sus colegas franceses e ingleses todo y cuanto sabían de Enigma y les proporcionaron réplicas polacas de la máquina. El 1 de septiembre, cincuenta y tres divisiones alemanas invadieron Polonia. A los pocos días, la sección alemana de la Biuro Szyfrow borraba todo rastro de Enigma y huía del país por la frontera rumana. Tras la invasión de Polonia, el criptoanálisis de Enigma quedó en manos de Francia y Gran Bretaña, ya en tiempo de guerra. En Francia, el capitán Bertrand organizó una unidad de interceptación y decodificación en torno a los tres matemáticos polacos, los cuales llegaron a Francia procedentes de Rumania. El grupo, que operaba cerca de París, contaba con unas setenta personas (curiosamente, entre ellas había siete republicanos españoles), pero carecía de medios para enfrentarse por sí solo a Enigma. Con el apoyo inglés, penetraron en algunas redes de comunicaciones alemanas durante el primer trimestre de 1940. En mayo de 1940 tuvo lugar la invasión alemana y la unidad de Bertrand estableció dos puestos de interceptación y decodificación, uno en Uzès, en la Francia no ocupada, y otro en Argelia. Los matemáticos polacos alternaron estancias en uno y otro. En uno de estos viajes, en enero de 1942, Rozycki murió al naufragar el barco que le transportaba. A finales de 1942, los alemanes ocuparon toda Francia y el puesto de Uzès se disolvió. Tras una larga y penosa huída por nuestro país, Rejewski y Zygalski llegaron a Inglaterra en agosto de 1943, con la intención de continuar el criptoanálisis de Enigma al lado de los británicos. Sin embargo, éstos no lo estimaron conveniente y ahí acabó su lucha con la máquina alemana. Cuando en septiembre de 1938 Hitler invadió Checoslovaquia, el director del GCCS británico, Alistair Denniston, consideró probable la guerra con Alemania. Su centro tendría que pelear con la Enigma del ejército alemán. El equipo de Knox había tenido éxito con la versión comercial, pero ninguno con la militar. Quizás fuese tarea de matemáticos. Había llegado a la misma conclusión que los jefes de la Biuro Szyfrow diez años antes. Denniston pensó en la Universidad de Cambridge. Pocas semanas después, el GCCS estaba dando un curso introductorio de Criptografía a algunos de los mejores matemáticos ingleses. Denniston encabezó la delegación británica que se reunió con polacos y franceses en Pyry. A su regreso a Londres tenía muy claro lo que había que hacer. Trasladó la sede del GCCS en Londres a Bletchley Park, un lugar tranquilo, a 70 kilómetros de Londres y muy bien comunicado; a salvo de los bombardeos aéreos que en 171
  • 180. 9. CRIPTOANÁLISIS DE ENIGMA un futuro cercano asolarían Londres. En septiembre de 1939, reunió en Bletchley Park al equipo de Knox y a los matemáticos con los que había contactado meses antes. Entre éstos, Alan Turing sería el Rejewski inglés. Comenzaron estudiando el trabajo de los polacos. El método de las hojas de Zygalski era viable con los recursos humanos que ahora disponían los ingleses. En pocos meses tendrían listas las 1560 hojas que se necesitaban. Esta tarea se encargó a un grupo dirigido por el matemático John Jeffreys. Mientras se preparaban las hojas, otro equipo se ocupó de analizar el tráfico de mensajes. Se trataba de identificar las diferentes redes de comunicaciones del ejército alemán, las emisoras que operaban dentro de cada red, aquella que gestionaba el tráfico dentro de la red, qué emisora transmitía cada mensaje y a cuál otra iba dirigido. Este análisis era fundamental para descifrar los mensajes, ya que cada red funcionaba con unas claves diferentes. El trabajo requería mucho más personal que el inicialmente previsto. Se reclutaron más matemáticos de Cambridge y a sus alumnos de los últimos cursos. Y no sólo matemáticos, sino ingenieros, lingüistas, jugadores de ajedrez, secretarias, personal de apoyo... En total, se estima que unas 12000 personas trabajaron en Bletchley Park, la mayoría mujeres. El equipo de Jeffreys tuvo listas las hojas a finales de diciembre. Antes, ya había llegado a Bletchley Park una batería de máquinas Typex adaptadas para reproducir el cifrado de Enigma. Pocas semanas después, en enero de 1940, Turing en persona hizo llegar varios juegos de hojas a la unidad en Francia bajo el mando de Bertrand. De forma coordinada, franceses e ingleses penetraron en la mayoría de las redes de comunicaciones alemanas. Hasta el 10 de mayo de 1940. Ese día, coincidiendo con la invasión de Francia, el ejército alemán volvió a modificar el sistema de cifrado. Dejaron de cifrar dos veces la Spruchschlüssel de cada mensaje, quizás porque se dieron cuenta que el doble cifrado debilitaba Enigma. En adelante, la Spruchschlüssel sólo se cifraría una vez. Los alemanes eliminaban así las females de las cabeceras de los mensajes e inutilizaban las hojas de Jeffreys. En Bletchley Park presentían que tarde o temprano sucedería y desde un principio pusieron a algunos matemáticos a buscar otros métodos de criptoanálisis. Turing era uno de ellos. Había estudiado detenidamente la bomba polaca. Un mecanismo capaz de comprobar todas las posiciones de los rotores no podía ser derrotado por diez simples cables del Stecker. Y en efecto, así era. Rejewski no se dio cuenta que bastaba una pequeña modificación en su diseño para burlar cualquier conexión en el Stecker. Turing lo descubrió a finales de 1939 y seguramente habló de ello con Rejewski durante su estancia en París en enero del año siguiente. Sin embargo, aún con la modificación descubierta por Turing, la bomba polaca requería de la existencia de females, de observar el mismo ciclo de longitud 1 en tres productos π4·π1 distintos. Productos que desaparecieron cuando los alemanes cambiaron el sistema de cifrado el 10 de mayo. Pero otros vinieron a reemplazarlos. Los mensajes descifrados antes del 10 de mayo revelaban la presencia de cribs, bien al comienzo o al final. Identificando la unidad que emitía el mensaje, podía sospecharse si contenía una crib determinada. El análisis del 172
  • 181. 9. CRIPTOANÁLISIS DE ENIGMA tráfico de las comunicaciones del ejército alemán permitió tal identificación. Las cribs proporcionaron los ciclos necesarios en la bomba de Turing. Expliquémoslo con un ejemplo. Sospechamos que cierto mensaje interceptado comienza con “Fuhrerhauptquartier” (cuartel general del Furer). Coloquemos cada letra de este pequeño fragmento de texto en claro encima de su correspondiente letra del texto cifrado y ambas debajo de un número que indica su orden: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Texto claro: F U H R E R H A U P T Q U A R T I E R Texto cifrado: I D Z O Z L A H X Y B G I U A H L R H Vamos a llamar ahora πi a la permutación proporcionada por el conjunto formado por los tres rotores y el reflector en la posición i que señala el número encima de las letras. Como antes, designamos por σ a la sustitución del Stecker. El producto σ·πi·σ es entonces la permutación resultante con la que se cifra la letra en el i-ésimo lugar. Así, por ejemplo, σ·π7·σ(H) = A y σ·π8·σ(A) = H. Pasando σ al otro lado en estas igualdades: π7·σ(H) = σ(A), π8·σ(A) = σ(H). Sustituyendo σ(H) en la primera igualdad: π7·π8·σ(A) = σ(A). Esto significa que σ(A) queda fija por el producto π7·π8, que (σ(A)) es un ciclo de longitud 1 de esta permutación. De esto se trata, de observar el mismo ciclo de longitud 1 en al menos tres productos diferentes de las permutaciones πi. Y estos productos pueden tener más de dos factores. Para observar mejor los ciclos, Turing dispuso las letras como en la Figura 9.4. El lector con conocimientos en Matemáticas reconocerá que se trata de un grafo. En sus vértices figuran las letras que aparecen en la crib o en su cifrado. Dos letras están conectadas por una arista si una de ellas se transforma en la otra. El número junto a la arista referencia la permutación que produce tal transformación. 173
  • 182. 9. CRIPTOANÁLISIS DE ENIGMA F O 1 4 17 6 18 I L R E 13 15 19 5 9 14 7 3 X U A H Z 8 2 16 D T Q 11 12 10 P Y B G Figura 9.4. El grafo de la Figura 9.4 facilita la búsqueda de ciclos de longitud 1: partiendo de una letra sobre un vértice, se pasa de una a otra por las aristas hasta regresar a la de partida, completando así un ciclo. Por ejemplo, comenzando en la letra A, se observan los siguientes tres ciclos: 8 7 A H A 7 19 15 A H R A 14 13 17 6 15 A U I L R A El primero indica que (σ(A)) pertenece al producto π7·π8, como ya hemos visto antes. Análogamente, este mismo ciclo de longitud 1 está presente en las permutaciones π15·π19·π7 y π15·π6·π17·π13·π14. Ahora, recurramos de nuevo a la Teoría de Probabilidades. Si las sustituciones πi se eligen aleatoriamente entre las de su clase, sólo una vez de cada 17576 ( = 263) figurará el ciclo (σ(A)) en los tres productos de antes. La bomba de Turing utiliza esta circunstancia para determinar el correcto orden y posición de los rotores. Su funcionamiento se esquematiza en la Figura 9.5. 174
  • 183. 9. CRIPTOANÁLISIS DE ENIGMA 17 6 I I L R 17 13 15 19 L 6 14 7 U A H R 8 19 H 7 A 15 R A 14 ABCDEFGHIJKLMNOPQRSTUVWXY Z U 13 I H 8 A Figura 9.5. Esquema de la bomba de Turing. Como en la bomba de Rejewski, la de Turing consiste en una serie de bancos de rotores conectados entre sí convenientemente. Para ello, los bancos presentan una doble entrada, como puede apreciarse en la figura. Al lado de estas entradas hemos escrito la correspondiente letra del vértice del grafo. Elegidos tres de los cinco rotores y un orden, se disponen en la bomba tantos bancos como permutaciones πi intervienen en los tres ciclos considerados. En nuestro ejemplo: 8. Precisamente, el número i al lado de cada banco de rotores indica el subíndice de la permutación. Las conexiones entre los bancos de rotores se realizan conforme a los ciclos. Puede observarse en la figura que, en efecto, así se ha hecho. Para las conexiones se emplea un cable con 26 direcciones, una por cada letra. Este tipo de cable conecta también un panel con 26 lámparas con los bancos de rotores, de la manera que se indica en la figura: uniendo el panel a las entradas ‘A’. Antes de utilizar la bomba, es preciso ajustar las posiciones de los rotores en los bancos. Los del banco de índice menor en una posición inicial, digamos AAA, y los de los demás bancos avanzados tantas posiciones como la diferencia entre sus índices y el menor. Por ejemplo, en nuestro caso el índice menor es 6. Luego los rotores asociados al índice 7 deben situarse en la posición AAB, los del índice 8 en AAC, etcétera. Tras 175
  • 184. 9. CRIPTOANÁLISIS DE ENIGMA ajustar los rotores, se hace una conjetura sobre la letra del ciclo de longitud 1 común a los tres productos de permutaciones πi . En nuestro caso, σ(A). Hagamos la suposición σ(A) = B, por ejemplo. Entonces en el panel de lámparas se activa la palanca correspondiente a la letra B y, a continuación, se pone en marcha la bomba. Un motor eléctrico hace girar de forma sincronizada todos los bancos de rotores, recorriendo éstos las 17576 posiciones posibles. Cada una de ellas da lugar a un juego de permutaciones πi diferentes. Del panel de lámparas parte una corriente eléctrica por la dirección B del cable y llega a las entradas A de los bancos 7, 8, 14 y 15. De ellos sale por la entrada opuesta, por las direcciones πi(B) del cable. Y así va entrando y saliendo por los diferentes bancos de rotores, siguiendo el camino al que obligan las conexiones entre ellos. Cuando la corriente regrese a una entrada A, circula también por el panel, por la misma dirección que lo hace que en dicha entrada. Si en una determinada posición de los rotores el ciclo (B) es común a los tres productos de permutaciones πi , entonces en cada trozo de cable la corriente circula por una única dirección. En las entradas A y en el panel lo hace por la dirección B y sólo se enciende la bombilla de esta letra. En tal caso, un mecanismo detiene la bomba. Se anota el orden de rotores, la posición y la suposición σ(A) = B. Más adelante habrá que comprobar si estos datos coinciden con los de la clave buscada. Supongamos por el momento que, en efecto, así es. Entonces en otra entrada, la U por ejemplo, la corriente circula por la dirección de la letra emparejada con la U en el Stecker. Esta letra puede determinarse conectando otro panel de lámparas a la entrada U y observando cual es la única bombilla que luce. De este modo, repitiendo esta operación con las demás entradas, pueden averiguarse las conexiones en el Stecker de las letras que figuran en las entradas. En cambio, si la posición de los rotores o la conexión ‘A−B’ no figuran en la clave buscada, entonces el proceso anterior proporciona falsas conexiones en el Stecker que ayudarán a rechazar tales datos cuando se comprueben. Como dijimos antes, muy probablemente el ciclo (B) sólo sea común a los tres productos de permutaciones πi en una posición por cada orden de los rotores. En el resto de las posiciones, alguno de estos productos transforma la B en otra letra. Entonces, en el panel, la corriente eléctrica fluye también por la dirección de esta nueva letra, encendiendo su correspondiente lámpara. A su vez, la nueva letra se transforma en otra en alguno de los productos y así sucesivamente. El resultado es que la corriente eléctrica circula por todas las direcciones y, en consecuencia, todas las bombillas lucen. Cuando esto ocurre, los rotores avanzan automáticamente una posición. En unas pocas posiciones puede suceder que resten lámparas no encendidas. En estos casos, la bomba también se detiene. Entonces el operario activa la palanca de una bombilla apagada, digamos la C. Si no se enciende otra lámpara apagada es porque el ciclo (C) es común a los tres productos de permutaciones πi . Habrá que anotar también la posición, la conexión σ(A) = C y las de las otras letras que pueden obtenerse como se indicó antes. Tal situación sucede, por ejemplo, cuando sólo resta una bombilla apagada. Una vez que lucen todas las bombillas se reinicia la bomba en la siguiente posición. 176
  • 185. 9. CRIPTOANÁLISIS DE ENIGMA La bomba de Turing proporciona, para cada orden de rotores, un reducido número de posibles posiciones correctas. Asociadas a cada posición van unas supuestas conexiones en el Stecker de las letras que han intervenido en la bomba (seis en nuestro ejemplo). Dado que el número de ordenaciones de rotores es sesenta, el de posiciones anotadas puede ascender a varios cientos. No obstante, no es difícil encontrar la posición y conexiones correctas entre las candidatas: Situando los rotores de Enigma en una de estas posiciones y con las conexiones asociadas en el Stecker, se teclea el fragmento texto en claro (la crib). Seguidamente, se repite esta operación con el fragmento cifrado. Una simple comparación de estos fragmentos con los obtenidos permite determinar si tal posición es la correcta. Además, en tal caso, se obtienen las demás conexiones del Stecker. Después de esto, para completar la clave, sólo queda ajustar el Ringstellung. También es sencillo. Se descifra el resto del mensaje y se observa donde debe avanzar el rotor central para que siga revelándose el texto en claro. No obstante, puede ocurrir que ninguna de las posiciones proporcionadas por la bomba de Turing sea la correcta. Esto sucede si avanza el rotor central mientras se cifran las letras que darán lugar a los tres ciclos necesarios para el funcionamiento de la bomba. En ella no se contempla esta posibilidad. En nuestro ejemplo, la primera letra de la crib que interviene en los ciclos es la sexta y la última la decimonovena. Entre ambas, catorce letras. Si durante el cifrado de estas catorce letras avanza el rotor central, el método de Turing no funcionará. En consecuencia, como el rotor central avanza cada 26 letras, la probabilidad de éxito de la bomba con nuestro ejemplo es 12/26 ó, en términos de porcentaje, del 46%. Pero el principal inconveniente de la bomba de Turing está en que es difícil que en cribs con menos de 26 letras aparezcan los tres ciclos requeridos. En la preparación de nuestro ejemplo hemos necesitado cifrar varias veces la crib con distintas claves hasta dar con una que proporciona los ciclos aquí mostrados. Por este motivo, el mecanismo ideado por Turing, aunque ingeniosísimo, era poco eficiente en la práctica. Afortunadamente, la ausencia de los tres ciclos se solventó con una sencilla pero brillante idea de Gordon Welchman, otro matemático de Cambridge. Se le ocurrió incluir en la bomba de Turing el llamado tablero diagonal, un cuadro de conexiones que, implementando las conexiones del Stecker, hacía circular de nuevo la corriente por los bancos de rotores. Un dibujo similar al de la Figura 9.5 describirá más detalladamente esta función. Previamente, extraigamos del grafo de la Figura 9.4 otro carente de tres ciclos. Por ejemplo, el siguiente: 177
  • 186. 9. CRIPTOANÁLISIS DE ENIGMA 17 18 I L R E 13 15 19 9 14 8 X U A H 16 T 11 B Figura 9.6. La razón de escoger este grafo obedece únicamente a servir de ejemplo en la bomba de Turing-Welchman. Podíamos haber elegido cualquier otro, ya que esta nueva bomba funciona con cualquier grafo, tengan o no ciclos. El dibujo anunciado corresponde a la Figura 9.7. En su parte superior izquierda puede observarse el tablero diagonal. Un cuadro con 26×26 puntos, cada uno identificado por un par de letras correspondientes a la fila y columna en la que se encuentra y representando la conexión en el Stecker de estas letras. Así, el punto (A, B) simboliza el emparejamiento de las letras A y B en el Stecker. Igual que el punto (B, A), evidentemente. Por esta razón, los puntos se encuentran conectados de modo simétrico respecto a la diagonal del tablero: el punto (A, B) con el (B, A), el (A, C) con el (C, A), etcétera. En el dibujo se incluyen estas dos conexiones y la de los pares (E, H) y (H, E). A la derecha del tablero diagonal se encuentran los bancos de rotores; conectados entre sí mediante un cable con 26 direcciones, según indica el grafo anterior. Este mismo tipo de cable conecta las filas del tablero con las entradas homónimas de los bancos, uniendo cada dirección del cable con su correspondiente punto. Así, la fila A del tablero se conecta con las entradas A de los bancos, de forma que la dirección B concluye en el punto (A, B), la C en (A, C), etcétera. Y como en la bomba de Turing, se incluye también un panel de lámparas conectado a cierta entrada. La A en nuestro dibujo. 178
  • 187. 9. CRIPTOANÁLISIS DE ENIGMA X ABCDEFGHIJKLMNOPQRSTUVWXY Z 9 ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ A ∙ ∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ B U ∙ ∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ C L ∙ ∙∙ ∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ D ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ E ∙ ∙∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ F ∙ ∙∙ ∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ G I ∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ H 13 ∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ I ∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ J U ∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ K ∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ L 14 ∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ M ∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ N A ∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ O 15 ∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ P ∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ Q R ∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ R ∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ S 19 ∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ T H ∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ U ∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ V 16 ∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ W ∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙ X T ∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙∙∙ ∙ Y ∙ ∙∙ ∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙∙∙∙ Z 11 B A 8 ABCDEFGHIJKLMNOPQRSTUVWXY Z H R 18 E Figura 9.7. Esquema de la bomba de Turing-Welchman. La utilización de esta bomba es idéntica a la diseñada por Turing y no hace falta que repitamos todo el proceso. Sólo es preciso mostrar el efecto del tablero diagonal. Al poner en marcha la bomba el fluido eléctrico circula por la dirección B y se introduce por la entrada A de los bancos 8, 14 y 15 y también por esta misma entrada del tablero diagonal. Al estar conectado al punto (A, B) con el (B, A), la corriente eléctrica sale del tablero por la dirección A de la entrada B y se dirige al banco 11. Después de abandonar cada uno de estos bancos, el flujo eléctrico entra en otro conectado y también en el tablero diagonal. Por ejemplo, la corriente que abandona el banco 14 llega al tablero por cierto cable de la fila U. Si la letra de este cable figura en la entrada de algún banco, se introducirá en él por el cable U. Y así sucesivamente. El tablero diagonal abre nuevas direcciones de flujo eléctrico en la red de bancos. Al igual que en el diseño de Turing, en casi todas las posiciones de los rotores la corriente eléctrica circulará por las 26 direcciones de cada trozo de cable, en el panel se 179
  • 188. 9. CRIPTOANÁLISIS DE ENIGMA iluminarán todas las lámparas y los rotores avanzarán automáticamente a la siguiente posición. En otras, en cambio, habrá direcciones sin flujo eléctrico y no todas bombillas del panel estarán encendidas. Cuando esto sucede, la bomba se detiene. De nuevo se trata de encontrar aquellas posiciones en las que la corriente circula por una única dirección. Entre ellas está la que figura en la clave que se pretende hallar. Ahora es más difícil estimar el número de paradas de la bomba. Si esta cantidad se eleva a varias decenas por cada ordenación de los rotores, la bomba será poco eficaz. Hablando de forma poco precisa pero intuitiva, la eficiencia de la bomba depende de que la corriente circule el mayor número posible de veces por los bancos de rotores. Los ciclos favorecen esta circulación; también un mayor número de bancos y conexiones. Pero si se añaden más bancos, aumenta la posibilidad de que avance el rotor central, circunstancia que sigue derrotando a la bomba. Nótese que la probabilidad de éxito en nuestro ejemplo es del 54%. En agosto de 1940, la British Tabulating Machine Company llevó a Bletchley Park la primera bomba. Tardaba unos quince minutos en comprobar todas las posiciones de un orden de rotores determinado. Con ella, la búsqueda de la clave se efectuaba en una media de ocho horas. Poco a poco fueron llegando más bombas que redujeron progresivamente este tiempo. En mayo de 1941 había ya ocho bombas funcionando, sesenta dos años más tarde y unas doscientas hacia el final de la guerra. No se conserva ninguna, ya que Winston Churchill mandó destruirlas cuando término la contienda. En Estados Unidos también se construyeron bombas criptográficas. Eran más rápidas que las británicas y por ello se emplearon principalmente contra la armada alemana. Ésta dio mucho más trabajo que el ejército de tierra o la fuerza aérea. Por un lado, usaba tres rotores más que elevaban el número de ordenaciones posibles a 336; por otro, el sistema de cifrado era diferente. La obtención de las Spruchschlüssels requería elegir dos trigramas de un libro de claves, combinar sus letras para formar cuatro bigramas y reemplazarlos por otros según cierta tabla. Además, a partir de febrero de 1942, los submarinos alemanes emplearon una Enigma con 4 rotores. Para poder penetrar en las comunicaciones de la armada alemana, los aliados tenían que esperar a que las sucesivas capturas de navíos enemigos proporcionasen todo este material criptográfico. Y una vez conseguido, recuperar las claves requería el empleo de un elevado número de bombas. La Figura 9.8 es una fotografía de la bomba que se exhibe en el National Cryptologic Museum, en Washington. Es una de las 121 fabricadas en 1943 por la National Cash Register Company y que se destinaron contra la Enigma de los submarinos alemanes. En 20 minutos recorría las 456976 posiciones de los cuatro rotores. 180
  • 189. 9. CRIPTOANÁLISIS DE ENIGMA Figura 9.8. Una bomba americana. 181
  • 191. 10 CRIPTOGRAFÍA MODERNA A finales de 1945, Presper Eckert y John Mauchly, de la Universidad de Pensilvania, concluyeron la construcción del que muchos textos consideran el primer ordenador electrónico: ENIAC (Electronic Numerical Integrator And Computer). Constaba de unos 18000 tubos de vacío como principal componente de sus circuitos, pesaba casi 32 toneladas y media más de 2 metros de ancho y 30 de largo. La primera tarea que llevó a cabo fueron unos cálculos en Física Nuclear que suponían 100 años de trabajo de una persona y en los que ENIAC empleó sólo 2 horas. Este primer ordenador podía efectuar 5000 sumas ó 360 multiplicaciones en un segundo. Actualmente, tan sólo poco más de medio siglo después, en el mundo hay ya varios cientos de millones de ordenadores, de un peso y tamaño cada vez más reducidos. Todos estos ordenadores son capaces de realizar más de un millón de operaciones por segundo (un billón los llamados supercomputadores) y, lo que es más trascendente, como pueden ser programados para realizar “cualquier” tarea, cada vez están presentes en un mayor número de actividades humanas. Como era de esperar, la Criptografía también se ha visto afectada por la llegada de los ordenadores. De entrada, en el modo de hacerla. Un ordenador puede ser programado para implementar cualquiera de los métodos de cifrado que hemos visto hasta ahora, incluidas las máquinas de rotores descritas en un capítulo anterior; pero también los métodos de criptoanálisis. Y si estos criptosistemas ya fueron derrotados sin emplear el ordenador, con él no tienen ninguna posibilidad. No obstante, ello no debe inducir a pensar que la llegada de los ordenadores ha dado ventaja a los criptoanalistas frente a los diseñadores de códigos. Todo lo contrario, en el ordenador es posible implementar nuevos criptosistemas que proporcionan una seguridad muy superior a la de los cifrados clásicos. Quizás no sea aventurado decir que implementando uno de esos cifrados en un simple PC, se puede derrotar incluso a organizaciones gubernamentales que disponen de supercomputadores destinados a tareas de criptoanálisis. En este capítulo describiremos de forma breve y genérica estos modernos cifrados y después hablaremos de dos de ellos: el controvertido DES y el actual AES. 183
  • 192. 10. CRIPTOGRAFÍA MODERNA Los fundamentos de los nuevos criptosistemas arrancan del modo en que se representa la información en los ordenadores. En ellos se procesan datos de procedencia muy distinta como números, textos, gráficos o sonidos; pero internamente se representan del mismo modo: mediante números, números binarios. Expliquemos brevemente qué números son éstos. Estamos familiarizados con la escritura de números enteros usando los dígitos del 0 al 9, es una de las primeras cosas que se aprende en la escuela. Como bien nos enseñaron allí, en el número 3524, el 4 ocupa el lugar de las unidades, el 2 el de las decenas, el 5 el de las centenas y 3 el de las unidades de millar. Esto significa que 3524 = 3·1000 + 5·100 + 2·10 + 4·1 = 3·103 + 5·102 + 2·10 + 4·1. De este modo, la secuencia de dígitos 3524 no es sino una manera abreviada de escribir la expresión anterior, eliminando los signos ‘+’ y ‘·’ y las potencias de 10. Esta es la bien conocida forma decimal de escribir números, inventada en la India en el siglo VII y trasmitida a Europa en la Edad Media por los árabes. En lugar de emplear 10 como base de las potencias, puede utilizarse cualquier otro entero b mayor o igual que 2. En tal caso, el desarrollo de un entero genérico n según las potencias de b tiene esta expresión: n = nr ·b r + nr −1 ·b r −1 + ... + n1 ·b + n0 , donde r es el único entero tal que br ≤ n < br+1 y n0, n1, ..., nr, son enteros estrictamente menores que la base b. Si buscamos signos para representar a cada uno de los enteros comprendidos entre el 0 y b–1; si, por ejemplo, nr se representa por el signo ‘%’, nr-1 por ‘$’, ..., n1 por ‘#’ y n0 por ‘&’, entonces n se escribe en base b como ‘%$...#&’. Cuando la base b es 2, el sistema de representación que resulta recibe el nombre de binario. Los números binarios son entonces los enteros expresados en forma binaria. Sólo requiere dos símbolos, que suelen ser los dígitos 0 y 1, llamados ahora bits, y que, como es de suponer, corresponden con los números cero y uno, respectivamente. Así pues, un número binario es una secuencia de bits. Por ejemplo: 1101101, que escrito en modo decimal es 109 ya que: 1101101 = 1·26 + 1·25 + 0·24 + 1·23 + 1·22 + 0·2 + 1 = 109. Si se desea expresar en forma binaria un número escrito en otro sistema, basta con dividir sucesivamente dicho número entre 2 y tomar la sucesión de restos en orden inverso. Por ejemplo, escribamos en binario el número que en modo decimal es 25. Las divisiones entre 2 son las siguientes: 184
  • 193. 10. CRIPTOGRAFÍA MODERNA 25 2 1 12 2 0 6 2 0 3 2 1 1 Por tanto, 25 se escribe en binario 11001. Como decíamos antes, los ordenadores operan internamente con números binarios. Cualquier información que procesen ha de transformarse antes en una sucesión de números binarios. El modo de hacerlo es asignar un número a cada dato básico de información, empleando para ello un código. Por ejemplo, un texto escrito con cierto alfabeto se puede transformar en una secuencia binaria haciendo corresponder a cada letra del alfabeto el número binario que figure en el código utilizado al efecto. Hasta hace muy poco, tal código era habitualmente el famoso ASCII (American Standard Code for Information Interchange). Inicialmente, el ASCII fue diseñado como código de 7 bits. Con 7 bits se manejan los números binarios comprendidos entre 0 y 1111111 (=127, en decimal), disponiendo así de 128 números que se pueden asignar a otros tantos signos. La relación de signos y sus correspondientes números (en decimal y binario) incluidos en este primer ASCII de 7 bits se muestra en la Tabla 10.1. Cuando en los años 60 se adoptó el código ASCII, la mayoría de los ordenadores se diseñaban para almacenar y manipular números de 8 bits (esto es, un byte). En un principio, el bit sobrante se utilizó como bit de paridad, para detectar posibles errores en la codificación; pero después se empleó para codificar más signos. Pasar de 7 a 8 bits permite añadir otros 128 caracteres al ASCII: letras acentuadas, nuestra ñ, la francesa ç, etc. No obstante, esta ampliación no fue estándar; los 128 nuevos caracteres cambiaban de un fabricante a otro. En la actualidad, se ha desarrollado un nuevo código estándar de 16 bits, el Unicode. Es una extensión del ASCII que incluye numerosos juegos de caracteres: griego, árabe, cirílico, chino, japonés, símbolos matemáticos… Con 16 bits hay lugar para 216 = 65536 signos diferentes. En resumen, que al introducir texto (o cualquier otro tipo de información) en el ordenador, éste lo contempla como la secuencia de números binarios que proporciona el código empleado al efecto. Por ejemplo, usando un código ASCII de 8 bits, la palabra ‘ADIOS’ da lugar a la siguiente sucesión de bytes: A D I O S ↓ ↓ ↓ ↓ ↓ Decimal: 65 68 73 79 83 Binario: 01000001 01000100 01001001 01001111 01010011 Es precisamente sobre esta secuencia de bits donde actúan los modernos métodos de cifrado, transformándola en otra que será la que se transmita al receptor del mensaje. 185
  • 194. 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
  • 195. 10. CRIPTOGRAFÍA MODERNA Los textos de Criptografía clasifican los modernos criptosistemas en dos categorías básicas: cifrados secuenciales y cifrados en bloque. Describámoslos brevemente. Los secuenciales se llaman así porque para cifrar generan una sucesión de bits con la misma longitud que el texto cifrado, la denominada secuencia clave. El modo de producirla es precisamente la clave en esta forma de cifrado. Con los bits de la secuencia clave y del texto en claro se efectúa la suma ‘XOR’, que se representa por el signo ‘⊕’ y se define así: 0 ⊕ 0=0, 1 ⊕ 0=1, 0 ⊕ 1=1, 1 ⊕ 1=0. La sucesión suma obtenida es el texto cifrado que se transmite. Un sencillo ejemplo aclarará este modo de cifrar. En él cifraremos la secuencia de bits que obtuvimos antes mediante la codificación en ASCII de la palabra ‘ADIOS’. En primer lugar, hemos de precisar como se genera la secuencia clave k1k2 k3 k4… Se va a obtener conforme a la fórmula recurrente ki = ki-1⊕ ki-4 y a partir de los bits que componen el llamado estado inicial, que en este ejemplo son los cuatro siguientes: k0 = 0, k-1 = 1, k- 2 = 0, y k-3 = 1. Entonces: k1 = k 0 ⊕ k-3 = 0 ⊕ 1=1, k2 = k 1 ⊕ k-2 = 1 ⊕ 0=1, k3 = k 2 ⊕ k-1 = 1 ⊕ 1= 0, k4 = k 3 ⊕ k0 = 0 ⊕ 0= 0… Como hemos dicho antes, los bits del texto en claro se suman con los de la secuencia clave y el resultado es el texto cifrado: Texto en claro: 010000010100010001001001… Secuencia clave: 110010001111010110010001… ↓ ⊕ Texto cifrado: 100010011011000111011000… Observemos que el receptor del mensaje recupera el texto en claro generando de nuevo la secuencia clave y sumando sus bits con los del texto cifrado. Notemos también que sumando los bits del texto en claro con los del cifrado se obtiene la secuencia clave. En consecuencia, un criptoanalista que disponga de texto en claro y su correspondiente cifrado accede rápidamente a la secuencia clave. Por esta razón, si se desea cierto grado de seguridad, la secuencia clave debe ser distinta en cada transmisión. En la práctica, el modo más eficiente de hacerlo es variando los bits que componen el estado inicial. Cuando el estado inicial es secreto (y, por tanto, forma parte de la clave) el cifrado secuencial se dice sincronizado. En este caso, para que el receptor pueda descifrar 187
  • 196. 10. CRIPTOGRAFÍA MODERNA correctamente el mensaje, debe sincronizar con el emisor su generador de secuencias clave, situándolo en el mismo estado inicial. Esto, si el tráfico de mensajes es denso, supone un problema de difícil solución. Tal problema no existe si cada estado inicial es elegido por el emisor y comunicado en claro al receptor en la cabecera del mensaje. Si se elige esta opción, el cifrado se dice autosincronizado. En este caso, al ser público el estado inicial, la seguridad recae exclusivamente en el modo en que se genera la secuencia clave. Por tanto, debe resultar imposible recuperar tal secuencia a partir del estado inicial. Y aunque se dispone de un amplio conocimiento teórico sobre esta cuestión, en la práctica es complicado diseñar un generador secuencial que sea seguro en modo autosincronizado. Puede ser interesante notar que un cifrado secuencial es de hecho un cifrado polialfabético sobre el alfabeto formado por los bits 0 y 1. En este alfabeto sólo son posibles dos sustituciones: una, la que deja invariantes dichos bits y que podemos representar por σ0; otra, la que los permuta y que representamos por σ1. Esto es: σ0(0)=0 y σ0(1)=1, σ1(0)=1 y σ1(1)=0. Por tanto: σ0(0) = 0 ⊕ 0, σ0(1) = 1 ⊕ 0, σ1(0) = 0 ⊕ 1, σ1(1) = 1 ⊕ 1. Luego sumar un bit del texto en claro con un 0 de la secuencia clave equivale a aplicarle la sustitución σ0, y añadirle un 1 es lo mismo que hacer actuar σ1 sobre él. Así pues, sumar una secuencia clave a un texto en claro produce el mismo resultado que el cifrado polialfabético obtenido con la sucesión correspondiente de sustituciones σ0 ó σ1. Y siguiendo con esta analogía entre modernos cifrados secuenciales y antiguos polialfabéticos, un aparato electrónico que genere secuencias clave es la versión digital de una máquina de rotores, en donde su estado inicial se corresponde con la posición inicial de los rotores. Si los cifrados secuenciales pertenecen a la categoría polialfabética, los cifrados en bloque responden al modelo poligráfico descrito en el Capítulo 4. Dividen el texto en claro en bloques de bits del mismo tamaño y cada uno de ellos se transforma en otro según determina el proceso de cifrado, en el que interviene la clave elegida. Seguidamente, presentamos un ejemplo sencillo de cifrado en bloques de 8 bits en el que emplearemos una clave de ese mismo tamaño. En la práctica, valores típicos de estas longitudes son 64, 128 ó 256 bits; y sus procesos de cifrado son mucho más complejos que el que aquí sirve de ejemplo. Nuestro cifrado consiste en dividir la sucesión de bits que conforma el texto en claro en trozos de 8 bits y sobre cada uno de ellos efectuar las siguientes tres operaciones: 1. Reordenar los 8 bits según el orden 4, 7, 8, 1, 6, 5, 2, 3. 2. Efectuar la suma XOR con la clave. 3. Volver a realizar la permutación de bits del paso 1. 188
  • 197. 10. CRIPTOGRAFÍA MODERNA Empleando en este cifrado la clave 10100111, la cadena de bits obtenida al codificar en ASCII la palabra ‘ADIOS’ se cifra de la siguiente manera: Texto en claro: 01000001 01000100 01001001… ↓ Reordenación 00100010 00001010 00100110… ↓ ⊕ 10100111 10000101 10101101 10000001… ↓ Reordenación Texto cifrado: 00111000 00111101 00110000… Notemos que los pasos de este cifrado son involutivos y que, en consecuencia, el proceso de cifrado sirve también para descifrar. Esta es una propiedad que suele estar presente en la mayoría de los criptosistemas que se emplean en la práctica, por la comodidad que ello supone. En el ejemplo anterior hemos empleado un cifrado en bloque de la manera más simple y natural que puede hacerse. Los textos americanos lo denominan modo ECB, acrónimo de “Electronic Code Book”. En ocasiones no es el más conveniente. En este modo, si no varía la clave, bloques iguales de texto en claro dan lugar también a trozos idénticos de texto cifrado. Con frecuencia, los mensajes que generan los ordenadores tienen estructuras muy regulares y presentan numerosos fragmentos idénticos; sobre todo en la cabecera y en el final. Esto puede presentar un gran riesgo para la seguridad de un cifrado en bloque. Tal problema puede resolverse usando el cifrado en bloque de la manera que explicamos a continuación. Antes de cifrar, el emisor elige aleatoriamente el denominado vector de inicialización, que es un bloque de bits de la misma longitud con la que opera el cifrado y que se transmite en claro al receptor en la cabecera del mensaje. Con este vector y el primer bloque de texto en claro se efectúa la suma XOR y se cifra el resultado, obteniéndose el primer fragmento de texto cifrado. Este primer trozo de texto cifrado se suma con el segundo bloque de texto en claro y se cifra el resultado, dando lugar al segundo trozo de texto cifrado. Y así se continúa, sumando un bloque de texto en claro con el anterior de cifrado y cifrando la suma resultante. Para descifrar, el receptor del mensaje debe aplicar el proceso de descifrado a cada trozo de texto cifrado y el resultado obtenido sumarlo con el bloque anterior. Quizás sea más clarificador expresar todo esto matemáticamente: Cifrado: yi = C(xi ⊕ yi−1) Descifrado: xi = yi−1⊕D(y i ), donde C y D representan respectivamente los procesos de cifrado y descifrado; xi e yi los i-ésimos bloques de cifrado y descifrado, siendo y0 el vector de inicialización. Esta forma de operar que acabamos de describir recibe el nombre de modo CBC (“Cipher Block Chaining”). Operando en este modo y variando el vector de inicialización 189
  • 198. 10. CRIPTOGRAFÍA MODERNA en cada transmisión, los bloques iguales de texto en claro se transforman siempre en trozos distintos de texto cifrado. Hay otras formas de emplear los cifrados en bloque que resuelven el problema planteado antes y que se adaptan mejor a ciertas condiciones de transmisión. Pero no entramos a describirlos y damos ya por concluido esta breve incursión por la teoría de los modernos cifrados. El lector interesado puede consultar alguno de los magníficos textos que se adentran en este campo. El de Bruce Schneier, incluido en la bibliografía, es uno de ellos. Dejemos entonces a un lado las cuestiones teóricas y pasemos a hablar de DES, un cifrado moderno que ya tiene reservado un capítulo en la historia de la Criptografía. Para introducirlo, situémonos en los Estados Unidos a comienzos de los años setenta. Por aquellos años, la proliferación de los ordenadores y el paralelo desarrollo de los sistemas de comunicación permitieron que bancos y empresas diversas almacenasen y transmitiesen un volumen de información cada vez mayor. Ello trajo consigo una demanda de protección de la información por parte de estas organizaciones. Para atender esta petición, la entonces llamada NBS, la oficina nacional de estándares, puso en marcha un programa destinado a dotar de seguridad a las comunicaciones y bases de datos. Parte de ese programa era la adopción de un estándar de cifrado de uso general. Con este objetivo, en mayo de 1973, la NBS solicitó públicamente propuestas de tal estándar. Se recibieron muy pocas, y ninguna de ellas mereció la consideración de la NBS. Un año después, en agosto de 1974, la NBS efectuó un segundo concurso. En esta ocasión, la mítica compañía IBM remitió un criptosistema basado en un cifrado denominado “Lucifer” y que Horst Feistel, uno de sus técnicos, había ideado unos años antes. A la NBS le pareció un cifrado interesante; pero antes de adoptarlo como estándar, lo sometió a la consideración de los expertos de la NSA, la agencia nacional de seguridad. La NSA es el organismo oficial responsable de la seguridad en las comunicaciones militares y gubernamentales de los Estados Unidos; así como de interceptar y penetrar en las comunicaciones de ejércitos y gobiernos de otros países. Fue creada por el presidente Harry Truman a finales de 1952, con el objeto de reunir en un solo órgano los servicios de inteligencia de los tres cuerpos del ejército americano. El hecho que emplee más personas que la CIA y que sus instalaciones ocupen un espacio similar al del Pentágono da una idea de la importancia de la NSA. Unos meses después, en marzo de 1975, y tras la evaluación positiva de los expertos de la NSA, la NBS publicó en el Registro Federal los detalles del cifrado de IBM, con objeto de someterlo a discusión pública. Casi dos años más tarde, en enero de 1977, la NBS lo adoptó como estándar de cifrado de la información “no clasificada”, con el nombre de “Data Encryption Standard”: DES. Poco tiempo después, compañías como Motorola, AMD o DEC iniciaban la producción y distribución de chips que implementaban DES. Durante los veinte años que ha estado en vigor, ha sido el criptosistema preferido de empresas, bancos e incluso organizaciones gubernamentales como el Departamento de Justicia o la Reserva Federal. Seguidamente, presentamos una descripción abreviada de este criptosistema que permite conocer su funcionamiento. Los detalles pueden consultarse en el anteriormente citado libro de Schneier. 190
  • 199. 10. CRIPTOGRAFÍA MODERNA DES es un cifrado en bloques de 64 bits que opera con claves de 56 bits. El proceso de cifrado de cada bloque sigue los siguientes tres pasos: 1. Se efectúa una permutación inicial de los 64 bits. El resultado se parte en dos trozos de 32 bits, uno su mitad izquierda L0 y el otro su otra mitad diestra R0. 2. Estos trozos L0 y R0 se someten a 16 rondas de idénticas operaciones. El resultado de cada ronda es otro par de bloques de 32 bits: Li y Ri, que se obtienen a partir de los anteriores Li−1 y Ri−1 de este modo: Li = Ri−1 Ri = Li-1 ⊕ f ( Ri−1, Ki), donde f es una transformación de bits que definiremos después y Ki es un bloque de 48 bits extraído de la clave (el subíndice indica que es diferente en cada ronda). 3. Del paso anterior resultan dos bloques de 32 bits, L16 y R16. Se reúnen en uno sólo en el orden R16L16 y se aplica a este bloque de 64 bits la inversa de la permutación del paso 1. El resultado es ya el bloque cifrado. El descifrado se consigue ejecutando los mismos pasos anteriores, pero eligiendo los bloques Ki en orden inverso: K16, K15, …, K1. Describamos a continuación la transformación f que actúa en el paso 2. Esta transformación toma dos argumentos o entradas: R de 32 bits y K de 48, y produce como salida otro bloque de 32 bits que denotamos f ( R, K). Se obtiene así: a) Se “expande” el bloque R a otro de 48 bits duplicando algunos de sus bits, obteniéndose entonces otro bloque que denotamos R′. b) Se forma la suma R′ ⊕ K y se parte en 8 trozos de 6 bits cada uno: R′ ⊕ K=B1B2B3B4B5B6B7B8 c) Sobre cada trozo Bi actúa una transformación Si diferente, obteniéndose un bloque Ci de 4 bits. Más adelante describimos estas transformaciones Si, llamadas también “cajas”. d) Se reúnen los 8 trozos de antes en uno sólo: C = C1C2C3C4C5C6C7C8. Por último, los 32 bits de C se reordenan según cierta permutación. Esta es la salida de f. Vayamos ahora con la descripción de las cajas Si, la parte más controvertida de DES. Estas 8 cajas admiten como entrada un bloque de 6 bits y producen como salida otro de 4 bits. Dado que todas ellas son similares, mostraremos sólo S1. Consideremos la siguiente Tabla 10.2, en la que cada una de sus cuatro filas es una permutación de los enteros 0, 1, 2, …, 15: 191
  • 200. 10. CRIPTOGRAFÍA MODERNA 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 Tabla 10.2. La primera caja de DES. Dado un bloque de 6 bits B = b1b2b3b4b5b6, se calculan los enteros i y j siguientes: i = 2·b1 +b6, j = 8·b2 +4·b3 +2·b4 +b5 y se considera la entrada i, j de la Tabla 10.2, que es un número entre 0 y 15. Se escribe en binario, obteniéndose un bloque de 4 bits que es precisamente el transformado del inicial B. Por ejemplo, si B =101110, es i=2·1+0=2 y j=8·0+4·1+2·1+1=7. La entrada 2,7 de la tabla es 11, que en binario se escribe 1011. Luego el transformado de 101110 es 1011. Naturalmente, DES es un criptosistema complejo. Así tiene que ser si se desea cierta seguridad. Pero, a pesar de esta complejidad, DES es rápido si se implementa en hardware. Por ejemplo, en 1991 la empresa DEC fabricó un chip capaz de cifrar a una velocidad de 1 gigabit por segundo. Su precio: 300 dólares. La propuesta de DES como estándar levantó una gran polémica en los Estados Unidos. Por la intervención de la NSA en el proceso. Aún hoy en día es desconocido si la NSA modificó el cifrado que IBM remitió a la NBS. Algunos de los técnicos de IBM que participaron en el proyecto han asegurado que la NSA no cambió ni una sola línea de su algoritmo; pero otros, en cambio, han reconocido lo contrario. Sea como fuere, la controversia surgió por las modificaciones que DES presentaba respecto a su antecesor, el cifrado Lucifer, que también había sido publicado. Esencialmente, sólo hay dos modificaciones. La primera, una reducción en el tamaño de los bloques y de la clave. Lucifer encripta bloques de 128 bits y maneja claves de este mismo tamaño, mientras que DES opera con bloques de 64 bits y claves de 56. Tanta disminución en el tamaño de la clave hizo sospechar a algunas personas. Los 56 bits de la clave daban una seguridad más que suficiente para las posibilidades de cómputo de los ordenadores comunes de los años setenta; pero quizás no para los que podía poseer la NSA. Tal vez 56 bits era un tamaño accesible para los supercomputadores de la NSA destinados a tareas de criptoanálisis. Las cajas Si fueron la segunda modificación. En estas transformaciones de bits descansa toda la seguridad de DES. Sin ellas, su proceso de cifrado podría expresarse mediante una ecuación matricial; convirtiéndolo en un cifrado tipo Hill y, en consecuencia, vulnerable ante un ataque con texto claro y su correspondiente cifrado. Las cajas impiden este criptoanálisis. Lucifer tenía dos cajas por las que entraban y salían bloques de 4 bits de una manera que parecía “natural”: ambas cajas eran reordenaciones de los 16 bloques que se pueden formar con 4 bits. Los 6 bits que entran en las cajas de DES se transforman en otros 4 de una forma misteriosa, como hemos tenido ocasión de observar. Muchos sospecharon que escondían una “puerta trasera” que sólo la agencia de seguridad sabía 192
  • 201. 10. CRIPTOGRAFÍA MODERNA como abrir. Algo que la NSA siempre negó, obviamente; aunque reconoció que había ciertas razones en su diseño que por motivos de seguridad no podían publicarse. Por otro lado, los numerosos estudios llevados a cabo por personas ajenas a la NSA y a IBM no han podido confirmar ni desmentir la presencia de puertas traseras en las cajas de DES; pero sí la existencia de ciertos hechos “extraños”. Por ejemplo, Lexar Corporation dio a conocer un informe en septiembre de 1976 que concluía diciendo: “… Han sido encontradas en DES ciertas construcciones que indudablemente fueron insertadas para fortalecer el sistema contra ciertos tipos de ataques. Otras que también han sido halladas parecen debilitar el sistema.” En cualquier caso, las cajas de DES proporcionan a este cifrado una seguridad muy superior a la de Lucifer, a pesar de la reducción en el número de bits de la clave. Poco a poco, a lo largo de los años setenta y ochenta, una nueva comunidad de criptógrafos surgió por empresas y universidades de todo el mundo; debido al desarrollo de la informática y los sistemas de comunicación, digámoslo una vez más. Para ellos, la implantación de DES como estándar fue todo un desafío; motivados más aún por el certificado de seguridad que otorgó la participación de la NSA. El “reducido” número de bits de las claves invitaba a un ataque por “fuerza bruta”; esto es, comprobando una a una todas las claves posibles. (Manejando claves de 56 bits hay en total 256, un número que supera los 70 mil billones). Ya en 1977, Whitfield Diffie y Martin Hellman pensaron en la posibilidad de construir un chip que comprobase un millón de claves por segundo. Un ordenador que incorporase otro millón de tales chips descubriría la clave a lo largo de un día. Sin embargo, hay que esperar hasta 1998 para que se tenga constancia de la fabricación de uno de estos ordenadores. En ese año, la Cryptography Reseach, la Avanced Wireless Technologies y la Electronic Frontier Fundation construyeron conjuntamente el que llamaron “DES Cracker”, un ordenador con más de 1800 chips que, siendo capaz de comprobar más de 90 mil millones de claves por segundo, recuperaba una clave DES en una media de 5 días. Su coste rondó los 250 mil dólares. No obstante, la búsqueda exhaustiva de claves DES ya había tenido éxito un año antes, en junio de 1997. En esa ocasión, con motivo del concurso “DES Challenge” convocado por la empresa RSA Data Security, 14000 PC´s coordinados a través de Internet descubrieron la clave ganadora. Tardaron 120 días en encontrarla. El premio: 10000 dólares. En realidad, la fuerza bruta ha resultado ser el único método efectivo para derrotar a DES. Se han descubierto otros métodos que requieren menos cálculo computacional, pero ninguno es viable en la práctica. Los más conocidos son los denominados criptoanálisis diferencial y criptoanálisis lineal, dos técnicas genéricas contra los cifrados en bloque. El primero fue dado a conocer por los israelíes Eli Biham y Adi Shamir en 1990. Es un ataque con texto pleno escogido, lo que significa que el criptoanalista debe disponer de texto pleno (y su correspondiente cifrado) con ciertas características. Se ha mostrado eficaz contra algunos cifrados en bloque, incluidos Lucifer y una versión de DES que no supere las 8 rondas del segundo paso; pero para aplicarlo al auténtico DES de 16 rondas 193
  • 202. 10. CRIPTOGRAFÍA MODERNA se requiere una cantidad desorbitada de texto pleno. Curiosamente, poco después de publicarse el trabajo de Biham y Shamir, Don Coppersmith, del equipo de IBM que diseñó DES, afirmó que ellos ya conocían la técnica del criptoanálisis diferencial y que la razón de las 16 rondas de DES era evitar este método de criptoanálisis. El criptoanálisis lineal fue ideado por Mitsuru Matsui en 1993. Es un ataque con texto pleno. Contra DES es ligeramente más eficiente que el diferencial, pero con el mismo inconveniente: se requiere una cantidad enorme de texto. En esta ocasión, cuando se preguntó si DES estaba protegido también contra el criptoanálisis lineal, Coppersmith respondió que no, que desconocían el método de Matsui. Naturalmente, DES no fue el único criptosistema disponible. Durante el periodo que estuvo en vigor se propusieron decenas de cifrados alternativos, muchos de ellos de dominio público. Algunos bien conocidos son los siguientes: “Feal”, “Loki”, “Gost” (el análogo de DES en la Unión Soviética), “Redoc”, “Idea”, “Cast”, Safer”, “Blowfish”, “RC5”... La NSA también dio a conocer en 1994 un nuevo cifrado para ser usado en telefonía y comercio electrónico: “Skipjack”. Este algoritmo fue declarado secreto, y los chips en que se ha implementado impiden acceder a su código fuente. Quizás proceda así la agencia porque no desee que uno de sus criptosistemas circule abiertamente por todo el mundo, o para poder escuchar conversaciones telefónicas cifradas, o ambas cosas. Todos los cifrados anteriores son cifrados en bloque que operan ya con claves de al menos 64 bits. En realidad, la mayoría de los cifrados que se dan a conocer son cifrados en bloque. Pocos son los cifrados secuenciales cuyo algoritmo se publica detallado. Quizás sea porque su implementación en software es poco eficiente, lo que no suele ocurrir con los cifrados en bloque. En cambio, los secuenciales son fáciles de implementar vía hardware. Por ello, son ideales para las telecomunicaciones. También se asegura que son los preferidos de los militares, aunque esto siempre es una incógnita. “RC4”, de RSA Data Security, y “Seal”, de IBM, son unos de los pocos cifrados secuenciales cuyo algoritmo ha sido publicado. En enero de 1997, la nueva agencia que sustituyó a la NBS: el National Institute of Standards and Technology (NIST), viendo que la seguridad de DES estaba ya comprometida, convocó a concurso público la adjudicación del nuevo estándar de cifrado. Se denominaría AES, acrónimo de “Avanced Encryption Standard”. En la convocatoria se especificaba una serie de requisitos mínimos: un cifrado en bloque de 128 bits; con claves de 128, 192 y 256 bits; la posibilidad de ser implementado tanto en hardware como en software; estar disponible gratuitamente… Pero lo más destacado de la convocatoria era que el concurso estaba abierto a todo el mundo y que el proceso de selección iba a ser totalmente transparente. Además, se invitaba a cualquiera que lo desease a evaluar las propuestas presentadas. El NIST publicaría en su página web las especificaciones técnicas de los cifrados concursantes y las evaluaciones que de ellos se hiciesen. Con esta política, el NIST quería evitar una polémica similar a la acontecida veinte años antes tras la adopción de DES. La fase de aceptación de propuestas se cerró en mayo de 1998, admitiéndose a concurso quince cifrados provenientes de empresas y grupos de investigación de todo el mundo. Fueron presentados oficialmente en una conferencia de candidatos que tuvo lugar 194
  • 203. 10. CRIPTOGRAFÍA MODERNA en Ventura, California, en agosto de 1998; y que sirvió de inicio a una primera ronda de evaluación por parte de la comunidad criptográfica. Los resultados de las pruebas realizadas se discutieron en una segunda conferencia de candidatos que tuvo lugar en marzo de 1999, esta vez en Roma. Aquí se puso de manifiesto que cinco de los quince cifrados concursantes no reunían las condiciones de seguridad exigidas por el NIST, así como que algunos algoritmos eran más eficientes que otros. Unos meses después de esta reunión, en agosto, el NIST dio a conocer los cinco candidatos finalistas: “Mars”, de IBM; “Rijndael”, de los belgas J. Daemen y V. Rijmen; “RC6”, de RSA Data Security; “Serpent”, del británico R. Anderson, el israelí E. Biham y el danés L. Knudsen; y “Twofish”, de Counterpane Systems. En abril de 2000 se celebró en Nueva York la tercera y última conferencia, dedicada a los cinco cifrados finalistas. En su última sesión, la organización solicitó una valoración de los candidatos a través de un cuestionario. El cifrado preferido de los asistentes resultó ser Rijndael, el criptosistema de los investigadores belgas. El mismo que el NIST eligió como vencedor del concurso, cuyo anuncio oficial tuvo lugar el 2 de octubre de 2000. Desde ese momento, DES ya tiene sustituto: AES. Naturalmente, la decisión del NIST de adoptar el nuevo criptosistema sólo obliga a la administración federal americana, y en lo concerniente a la información no clasificada; pero con toda seguridad, AES va a ser el cifrado más usado en los próximos años. La recomendación del cifrado por parte del NIST es todo un certificado de garantía para empresas y organizaciones. Prueba de ello es que organismos internacionales como el consorcio europeo NESSIE (“New European Schemes for Signatures, Integrity and Encryption) ya han recomendado el uso de AES. Más aún, recientemente, en junio de 2003, la misma NSA ha aprobado el uso de AES para cifrar información clasificada: la “secreta” con claves de 128 bits y la de “alto secreto” con claves de 192 y 256 bits. A continuación damos una descripción resumida del nuevo estándar de cifrado. El lector que desee conocer todos sus detalles puede consultar las páginas web del NIST o el libro “The Design of Rijndael”, escrito por los belgas creadores del cifrado. AES, como la gran mayoría de los cifrados en bloque, consiste en someter a los bloques de texto en claro a una serie de operaciones que se repiten cierto número de rondas. Estas operaciones se expresan en términos algebraicos empleando cierta aritmética de bytes (recordemos: un byte son 8 bits). En esta aritmética, la suma de bytes es justamente la suma ‘XOR’ introducida antes y el producto… Bueno, este producto de bytes es mucho más complicado de definir y mejor no lo hacemos. Baste con señalar que esta aritmética de bytes está extraída de la teoría matemática de los cuerpos finitos y no es elemental. Lo que importa saber es que cada byte no nulo (≠ 00000000) tiene inverso para el producto. Dicho esto, el proceso de cifrado de cada bloque de 128 bits de texto en claro sigue los siguientes tres pasos: 1. Se efectúa una suma XOR entre el bloque de texto en claro y los 128 primeros bits de la clave. El resultado se parte en 16 bytes: B1 B2 B3 …B16 y se forma con ellos una matriz 4×4: 195
  • 204. 10. CRIPTOGRAFÍA MODERNA  B1 B5 B9 B13     B2 B6 B10 B14  B B7 B11 B15   3  B B8 B12 B16   4  2. Esta matriz de bytes se somete a una serie de rondas de idénticas operaciones. El número de rondas depende del tamaño de la clave: 9 si la clave es de 128 bits, 11 si es de 192 y 13 si es de 256. Las operaciones son las siguientes: a) Cada byte se transforma en otro por la acción de una “caja”. Más adelante describimos como actúa esta caja. b) Se efectúa una permutación cíclica de los bytes de las filas 2ª, 3ª y 4ª de la matriz, desplazándolos 1, 2 y 3 posiciones a la izquierda, respectivamente. c) Las columnas se someten a la siguiente transformación de Hill:  y1   b c a a   x1        y2   a b c a   x2   y  = a a b c   x3   3     y  c a a b   x4   4    donde a, b y c son los bytes: a = 00000001, b = 00000010 y c = 00000011. Este cálculo matricial se realiza con la aritmética de bytes antes referida. d) La matriz resultante se suma (‘⊕’) con otra matriz de bytes de tamaño 4×4 formada a partir de la clave. Esta matriz es distinta en cada ronda, ha sido obtenida y almacenada antes de empezar a cifrar y su cómputo se efectúa mediante un algoritmo que depende de la longitud de la clave y en el que interviene la “caja” del apartado a). 3. Se vuelven a ejecutar una vez más a), b) y d) de antes. Y por fin, alineando los 16 bytes de la matriz resultante, se obtiene el bloque de 128 bits de texto cifrado. Queda describir la sustitución de bytes del apartado a), la única “caja” presente en AES. Esta caja transforma un byte en otro realizando estas dos operaciones: I. Cada byte se reemplaza por su inverso para el producto. Como el byte nulo no tiene inverso, se deja invariante. Sea a7 a6 a5 a4 a3 a2 a1 a0 el byte resultante de este primer paso. II. Se cambia por este otro: b7 b6 b5 b4 b3 b2 b1 b0 , resultado de realizar las siguientes sumas de bits: 196
  • 205. 10. CRIPTOGRAFÍA MODERNA b7 = a 7 ⊕ a 6 ⊕ a5 ⊕ a 4 ⊕ a3 b = a 6 ⊕ a5 ⊕ a 4 ⊕ a3 ⊕ a 2 ⊕1  6 b5 = a5 ⊕ a 4 ⊕ a3 ⊕ a 2 ⊕ a1 ⊕1  b4 = a 4 ⊕ a3 ⊕ a 2 ⊕ a1 ⊕ a 0  b3 = a7 ⊕ a3 ⊕ a 2 ⊕ a1 ⊕ a 0 b2 = a7 ⊕ a6 ⊕ a 2 ⊕ a1 ⊕ a 0   b1 = a 7 ⊕ a 6 ⊕ a5 ⊕ a1 ⊕ a 0 ⊕ 1 b = a 7 ⊕ a 6 ⊕ a5 ⊕ a 4 ⊕ a0 ⊕ 1  0 El disponer de un estándar de cifrado de uso generalizado tiene un gran inconveniente: que todo el mundo quiere romperlo. Al exigir claves con una longitud mínima de 128 bits, el NIST dotaba a su cifrado de una seguridad más que suficiente contra un ataque por fuerza bruta; el único método que venció al anterior estándar, el DES. Descubrir una clave de 128 bits comprobando una a una todas las posibles es una tarea prácticamente eterna para cualquier ordenador de hoy en día. Incluso para todos juntos. Y 256 bits son garantía de sobra contra todos los ordenadores electrónicos que se construyan en las próximas décadas. Será necesario algo más que fuerza bruta para derrotar al AES. Durante el concurso, el vencedor Rijndael (al igual que el resto de los finalistas) probó ser inmune a todos los métodos de criptoanálisis conocidos hasta ese momento. Ni siquiera se descubrió una pequeña grieta en su estructura. Pero una vez convertido en AES, todos los que lo subieron a lo más alto intentan ahora derribarlo. Y no sólo ellos, sino otros muchos que últimamente se han acercado a la Criptografía por diferentes razones. No es exagerado decir que todo un ejército de criptoanalistas con todo tipo de armas se está enfrentando ya al AES. Quien sabe, quizás algún día alguien logre derrotarlo. 197
  • 207. 11 CRIPTOGRAFÍA EN CLAVE PÚBLICA La manera más rápida de acceder a la comunicación cifrada no es a través del criptoanálisis; sino hacerse con la clave, sustrayéndola o sobornando a alguien que la conozca o tenga acceso a ella. Algo que tarde o temprano sucede, sobre todo si hay organizaciones poderosas interesadas. Contra esto, la única solución posible es cambiar la clave frecuentemente. Lo habitual es que una de las partes que van a mantener comunicación cifrada elija la clave y la notifique a la otra. Si ambas pueden reunirse en privado, en un lugar seguro, no hay ningún problema. En otro caso, quien selecciona la clave debe comunicarla a la otra parte por algún medio que debe considerar seguro. Y ahí empieza el problema, ya que con frecuencia sucede que tal medio no es tan seguro como se suponía. Además, si se dispone de un canal de comunicación seguro, quizás no tenga sentido transmitir información cifrada por otro. Se plantea así un antiguo problema en Criptografía: la distribución de claves. De hecho, es un problema muy serio en organizaciones complejas que involucran a muchas personas. Una manera de resolver el problema de la distribución de claves puede ser desarrollando la idea que a continuación presentamos de forma esquemática: 1. Una de las partes, llamémosla A, escoge una clave y la cifra empleando otra clave que sólo A conoce. El resultado se transmite a la otra parte B. 2. B cifra este resultado una segunda vez, también con una clave que sólo B conoce. El mensaje doblemente cifrado se devuelve a A. 3. A retira su clave particular y remite de nuevo el mensaje a B. 4. Por último, B retira también la suya y ya ambos conocen la clave común. De este modo, A ha comunicado a B una clave común de forma segura por un canal que no necesita serlo. Esta idea es interesante, sin duda alguna, y resuelve el problema de la distribución de claves. Pero antes, se requiere solucionar este otro: la clave común cifrada ha de transmitirse tres veces, ¿cómo sabe cada una de las dos partes implicadas que 199
  • 208. 11. CRIPTOGRAFÍA EN CLAVE PÚBLICA cada mensaje recibido es auténtico, que en efecto ha sido trasmitido por la otra parte y no por un intruso? Además, ¿cómo realizar esta idea en la práctica? La respuesta a estas cuestiones (y también a otras relacionadas) se encuentra dentro de la Criptografía en clave pública. Se llama así porque en esta criptografía cada clave consta a su vez de dos claves: una pública, conocida por todo el mundo; y otra privada, en poder de una única persona. Con la clave pública se cifran los mensajes y con la privada se descifran. De este modo, cualquiera puede cifrar mensajes y transmitirlos al receptor conocedor de la clave privada. Sólo él será capaz de entenderlos. La Criptografía de clave pública se denomina también criptografía asimétrica. Dicho término asigna entonces el calificativo de simétrica a la criptografía tradicional, en la que tanto el emisor como el receptor emplean una clave secreta. La primera publicación que incluye este revolucionario concepto criptográfico fue el artículo escrito por Whitfield Diffie y Martín Hellman, de la Universidad de Stanford, titulado “New Directions in Cryptography” y publicado en la revista IEEE Transactions on Information Theory, en noviembre de 1976. En él se presentan las nociones básicas de la Criptografia en clave pública, se plantean algunos problemas que con ella se resuelven y se describe el primer criptosistema perteneciente a esta nueva rama de la Criptografía. Sus autores mencionan también el trabajo de Ralph Merkle, de la Universidad de California en Berkeley, quien había llegado a la misma idea de clave pública que los investigadores de Stanford. No obstante, aunque se considera a estos tres investigadores americanos los creadores de la Criptografía en clave pública, es probable que ésta fuera desarrollada antes en el seno de las todopoderosas organizaciones gubernamentales dedicadas a las tareas criptográficas. A finales de los años 70, Robert Inman, siendo director de la NSA, manifestó que esta agencia ya hacía uso de la criptografía en clave pública diez años antes de la publicación del artículo de Diffie y Hellman. Naturalmente, Inman no mostró documentos que avalaran su afirmación; pero son varias las personas vinculadas a la alta seguridad americana que lo han ido confirmando. Hay hasta quien ha relacionado ese precoz interés de la NSA en la criptografía en clave pública con el control del armamento nuclear. Más recientemente, en diciembre de 1997, el “Goverment Communication Headquarters” (GCHQ), la organización británica equivalente a la NSA, desclasificó una serie de documentos que, de ser cierto lo que en ellos se dice, muestran que el GCHQ trabajaba con la idea de la clave pública desde finales de los años 60. La seguridad en la Criptografía asimétrica es un problema mucho más delicado que en la simétrica, ya que el único dato no público es la clave que sirve para el descifrado. Además, no es fácil reunir seguridad y efectividad en un cifrado en clave pública; y solamente unos pocos de los numerosos criptosistemas que han sido propuestos lo han logrado. Por lo general, estos algoritmos están basados en las llamadas funciones unidireccionales. Nos ayudará a entender este concepto matemático el siguiente ejemplo. Imaginemos que disponemos de pintura de los cinco colores básicos: negro, blanco, rojo, azul y amarillo. Mezclando estos colores en diferentes proporciones se puede conseguir cualquier otro color. Esta operación puede contemplarse como una función que toma como argumento una proporción de los cinco colores básicos y produce un color compuesto. Es 200
  • 209. 11. CRIPTOGRAFÍA EN CLAVE PÚBLICA fácil obtener un color determinado si se conoce la proporción exacta de los colores básicos. Por el contrario, dado un determinado color, es prácticamente imposible averiguar su composición, la proporción exacta de cada color básico. Estas son las dos condiciones que debe verificar una función unidireccional. Con cierta formalidad: una función que transforma una variable x en otra y se dice unidireccional si: a) Dada x, el cálculo de y se puede realizar en tiempo polinomial. b) Dada y, el cómputo de una x que produce tal y es un problema intratable. Expliquemos los términos “tiempo polinomial” y “problema intratable”, extraídos de la Teoría de la Complejidad de Algoritmos. El tiempo de ejecución de un algoritmo es el número de instrucciones elementales (pasos) que realiza. Este número de pasos depende de la longitud de los datos de entrada; esto es, del número de bits que ocupa su codificación en el ordenador. Dicho de un modo informal: un algoritmo se ejecuta en tiempo polinomial si existe cierto entero k tal que si los datos de entrada tienen una longitud de n bits, entonces el algoritmo se ejecuta en un número de pasos próximo a nk. (Si k=1, se dice lineal; si es 2, cuadrático, etc.). El tiempo polinomial es un tiempo corto, de acuerdo con la noción de tiempo que todos tenemos. Esto puede observarse en la tercera columna de la siguiente Tabla 11.1. En ella figura el tiempo que tardarían en ejecutarse los algoritmos de la primera columna, suponiendo entradas de 100 bits y una velocidad de ejecución de un billón de pasos por segundo (velocidad de un supercomputador). Compárense los tiempos polinomial con el exponencial. Tipo Pasos Tiempo Lineal: n 100 0,1 nanosegundos Cuadrático: n2 10000 10 nanosegundos 3 6 Cúbico: n 10 1 microsegundo n 30 Exponencial: 2 10 30000 millones de años Tabla 11.1.Tiempo de algoritmos en un supercomputador. Expliquemos ahora el término “problema intratable”. Un problema que se resuelve mediante un algoritmo que corre en tiempo polinomial se dice que es de clase P (polinomial). Análogamente, si tal algoritmo no es polinomial, se dice de tipo NP (no polinomial). En la actualidad, se desconoce si ambas clases coinciden; pero se cree que no, que hay problemas NP que no son P. Estos son precisamente los llamados problemas intratables: aquellos para los que no se conoce algoritmos polinomiales que los resuelvan y que, además, se sospecha que tales algoritmos no existen. Establecido el concepto de función unidireccional, ilustrémoslo con un ejemplo más propio de las Matemáticas que la anterior operación de mezclar pinturas. Uno muy sencillo 201
  • 210. 11. CRIPTOGRAFÍA EN CLAVE PÚBLICA es el siguiente. Fijemos una lista de r enteros positivos: m1, m2, …, mr. A cada bloque de r bits b1b2…br le asociamos la suma: S = b1m1 + b2 m2 + … + br mr Definimos así una función, la que a cada bloque de de r bits b1b2…br le hace corresponder la suma S. El cálculo de S a partir del bloque de bits es inmediato: requiere efectuar r−1 sumas como mucho y ello se realiza con un algoritmo lineal. Pero dada una suma S, recuperar un bloque de bits que la produce es un problema intratable; es el conocido como “problema de la mochila”. Naturalmente, para observar la “intratabilidad” de este problema hay que considerar valores de r que no sean pequeños. Piénsese en el problema con r≥100, por ejemplo. Un criptosistema asimétrico diseñado a partir de una función unidireccional basa su seguridad en el problema intratable asociado a esta función. Se trata de que su criptoanálisis sea equivalente a resolver dicho problema. Al mismo tiempo, la rapidez de su vía directa (esto es, el cálculo de y a partir de x) puede ser empleada en los procesos de cifrado o descifrado. Por ejemplo, la función unidireccional asociada al problema de la mochila puede servir de base a un criptosistema en el que el cifrado consista en transformar bloques de r bits en sumas S, que es un proceso rápido. El criptoanalista que pretenda recuperar los bloques de bits a partir de las sumas estará ante un problema intratable. De esta idea partieron Merkle y Hellman para concebir un criptosistema que dieron a conocer en 1978 y que describimos en los párrafos siguientes. Sucede que el problema de la mochila es fácil de resolver si los enteros mi forman una sucesión supercreciente, que así se dice cuando cada entero mi es mayor que la suma de los anteriores. Por ejemplo, la sucesión de 8 números: {3, 4, 10, 21, 43, 85, 177, 350} es supercreciente: 3<4, 3+4<10, 3+4+10<21, etc. Cuando la lista de enteros mi es supercreciente, si existe solución al problema de la mochila, ésta es única y puede obtenerse de la manera que explicamos a continuación. Por ejemplo, dado S=482, calculemos, si es que existe, un byte b1b2…b8 solución de la ecuación: 482 = 3b1 +4b2 +10b3 +21b4 +43b5 +85b6+177b7 +350b8 Primero comparamos 482 con 350, el último entero. Como es mayor, b8 ha de ser 1; en otro caso, sería 0. Al ser 1 este bit, restamos: 482−350=132. Comparamos 132 con 177, el penúltimo entero de la lista. Como es menor, b7 =0. Comparamos entonces 132 con el siguiente entero de la lista: 85. Es mayor, luego b6 =1. Restamos: 132−85=47. Como esta diferencia supera a 43, b5 =1. Volvemos a restar: 47−43=4. Esta diferencia es menor que 21 y 10 pero igual al segundo número de la lista, luego b4 =b3 =0 y b2 =1. La siguiente resta es ya 0: 4−4=0. Llegar a 0 es precisamente la condición de existencia de solución. Los bits que faltan por calcular son nulos. Luego b1 =0 y hemos obtenido el (único) byte solución: 01001101. (Compruébese, si no se está convencido de ello). En el criptosistema de Merkle y Hellman (también llamado de la mochila) se parte de una sucesión de enteros supercreciente. Se consideran también otros dos enteros: uno el módulo, mayor que la suma de todos los enteros de la sucesión; y otro el multiplicador, 202
  • 211. 11. CRIPTOGRAFÍA EN CLAVE PÚBLICA primo con el módulo (esto es, que el máximo común divisor de ambos enteros es 1). La sucesión supercreciente, el módulo y el multiplicador constituyen la clave privada que sólo conoce el receptor de los mensajes. Por ejemplo, la sucesión supercreciente anterior {3, 4, 10, 21, 43, 85, 177, 350}, el módulo 700 y el multiplicador 79 constituyen una clave privada. Seguidamente, consideramos la aritmética modular de la que hablamos en el capítulo 7; pero fijando ahora como módulo de esta aritmética el módulo de la clave privada: 700 en nuestro ejemplo. Como el multiplicador es primo con el módulo, tiene inverso para el producto. El inverso de 79 (módulo 700) es 319, como puede comprobarse. Multiplicamos este inverso por cada uno de los términos de la sucesión supercreciente que forma parte de la clave privada (recordemos que las operaciones con la aritmética modular se realizan recurriendo a las operaciones habituales de enteros y sustituyendo el resultado por el resto de dividirlo entre el módulo): 3·319 = 957 = 257, (957=1·700+257). 4·319 = 1276 = 576, (1276=1·700+576). 10·319 = 3190 = 390, (3190=4·700+390). … Se obtiene así la sucesión {257, 576, 390, 399, 417, 515, 463, 350}, que ya no es supercreciente. Esta sucesión es precisamente la clave pública que conoce todo el mundo. Para cifrar con ella un mensaje que se supone codificado en binario, el emisor lo divide en bloques de 8 bits b1b2…b8 y los reemplaza por la suma S = 257·b1 +576·b2 +…+ 350·b8. He aquí un ejemplo: Clave pública: {257, 576, 390, 399, 417, 515, 463, 350} Texto claro: 01001101 10001110 00110011 ↓S ↓S ↓S Texto cifrado: 1858 1652 1602 Criptosistema de Merkle-Hellman. Esquema de cifrado. Para descifrar, el receptor del mensaje debe usar la aritmética módulo 700 y multiplicar S y el otro miembro de la ecuación anterior por 79 (el multiplicador). Al hacerlo: 257·79=3·319·79=3, 203
  • 212. 11. CRIPTOGRAFÍA EN CLAVE PÚBLICA ya que 257=3·319 y 319 es el inverso de 79. De igual manera 576·79=4, 390·79=10, etc. Se obtiene así esta otra ecuación, en la que figuran los enteros de la sucesión supercreciente: 79·S = 3·b1 +4·b2 +…+ 350·b8. A partir de ella, el receptor puede recuperar el bloque b1b2…b8 de la manera explicada antes. Por ejemplo, al multiplicar el primer número del texto cifrado por 79 obtenemos 482; y ya hemos comprobado que la única solución de la igualdad 482=3·b1 +4·b2 +…+ 350·b8 es 01001101, justamente el primer bloque de ocho bits del texto en claro. Con ocho enteros, el problema de la mochila es fácil de resolver y, por tanto, el criptosistema resultante carece de seguridad alguna. Como ya señalamos antes, hay que considerar listas de por lo menos 100 números para que el problema de la mochila sea en efecto intratable. De hecho, cuando Merkle y Hellman dieron a conocer su criptosistema, propusieron utilizar mochilas a partir de 256 enteros. Con tal cantidad, un computador capaz de comprobar un billón de posibles soluciones por segundo tardaría más de 1053 años en comprobarlas todas. Basándose en este hecho, Merkle y Hellman creyeron que su criptosistema era seguro y, con el fin de obtener beneficios de su trabajo, lo patentaron en 1980. No obstante, poco provecho obtuvieron de esta patente; ya que Adi Shamir logró criptoanalizarlo tan sólo un par de años después. Naturalmente, Shamir no empleó la fuerza bruta; sino que mostró que era posible recuperar en tiempo polinomial la clave privada a partir de la clave pública y de los textos cifrados. En agosto de 1977, la famosa revista “Scientific American” incluía una breve descripción del criptosistema de clave pública más usado en la actualidad. Nos referimos al popular RSA, nombre que se forma con las iniciales de los apellidos de sus creadores: Ronald Rivest, el anteriormente citado Adi Shamir y Leonard Adleman, entonces tres investigadores del prestigioso Massachussetts Institute of Technology. No gustó esta publicación a la NSA, quien reconociendo su interés por el algoritmo y tratando de controlar su uso, intentó en vano prohibir la publicación de los detalles del mismo; hecho que ocurrió pocos meses después, en febrero de 1978. Tras una larga batalla legal con el gobierno americano, los tres investigadores fundaron en 1982 la compañía RSA Data Security, con objeto de comercializar las aplicaciones de su criptosistema. Un gran negocio, pues la vendieron en 1996 por 200 millones de dólares. RSA está basado en el problema de la factorización de enteros. Como es bien sabido, factorizar un entero es descomponerlo en producto de números primos. En la escuela nos enseñan un sencillo método conocido desde siempre y que consiste en dividir sucesivamente el número a factorizar por los primos 2, 3, 5, 7… hasta dar con uno que produzca una división exacta. Tal primo es uno de los factores buscados y los demás pueden calcularse repitiendo este proceso con el cociente de la división exacta. Cuando el número no es muy grande, de unas cuatro o cinco cifras todo lo más, este método no requiere más que unas pocas divisiones y puede efectuarse en unos pocos minutos 204
  • 213. 11. CRIPTOGRAFÍA EN CLAVE PÚBLICA empleando sólo lápiz y papel. Si doblamos el número de cifras, si consideramos enteros de ocho o diez dígitos, este método escolar todavía funciona con enteros que son producto de primos pequeños. Como 11211291, que es igual al producto 36·7·133. Pero resulta impracticable si los factores primos tienen todos cuatro o cinco dígitos. Por ejemplo, puede llevar más de un día averiguar que 3605065591 es el producto del par de primos 45691·78901. Naturalmente, si las operaciones se realizan en un ordenador programado al efecto y con todos los primos de 5 o menos cifras almacenados en su memoria, ese tiempo se reduce a unos pocos segundos. Pero basta elevar la cantidad de dígitos del número a factorizar, de 10 a 50 por ejemplo, para que el número de operaciones requeridas sea inalcanzable para cualquier ordenador; incluidos los supercomputadores actuales. Precisamente, unas 50 cifras era el tamaño máximo de los enteros cuya factorización era posible a mediados de los años 70, cuando Rivest, Shamir y Adleman propusieron su criptosistema. Por supuesto, se conocían otros métodos de factorización; pero sólo eran un poco más eficientes que el método escolar. El problema de la factorización de enteros proporciona la siguiente la función unidireccional: la que a un par de números primos p y q le hace corresponder su producto n=p·q. Es unidireccional porque el cálculo de n a partir de p y q es rápido, se puede llevar a cabo con un algoritmo “casi” lineal; pero recuperar los primos p y q factorizando n es un problema intratable. En él se soporta el criptosistema RSA cuyos detalles presentamos a continuación. Se parte entonces de dos primos p y q, distintos y suficientemente grandes para que una vez calculado n=p·q, resulte imposible su factorización a quien desconozca p y q. Calculamos también el llamado indicador de Euler, que en este caso toma el valor Φ = (p−1)·(q−1). Seguidamente, se considera la aritmética modular, módulo Φ. Como ya hemos señalado en varias ocasiones, en esta aritmética unos números son unidades y otros no, dependiendo de si son o no primos con el módulo. Considérese entonces un entero positivo e<Φ que sí lo sea y compútese d su inverso. A continuación, destrúyanse tanto Φ como los enteros p y q, que no volverán a utilizarse y comprometen la seguridad del criptosistema. Los números n y e constituyen la clave pública y se denominan, respectivamente, módulo y exponente. El entero d es la clave privada. Para cifrar, los textos en claro han de suponerse sucesiones de números positivos menores que n. Si el texto en claro esta codificado en binario, una manera sencilla de conseguir tal supuesto es dividirlos en bloques de k bits, siendo k tal que 2k ≤n, y considerar el número binario que determina cada bloque (consúltese el comienzo del capítulo anterior si se desea repasar los números binarios). Se considera de nuevo la aritmética modular, pero ahora módulo n. Usando esta aritmética, cada uno de los números B que compone el texto en claro se transforma en otro C de acuerdo con la ecuación C=B e. La sucesión de estos otros números C es el texto cifrado que se transmite. Un ejemplo ayudará a entender todo esto. Como par de primos p y q consideramos los números 257 y 307. Son números pequeños, pero servirán para proporcionar un ejemplo que ilustre el criptosistema RSA. El módulo n y el indicador Φ son entonces: 205
  • 214. 11. CRIPTOGRAFÍA EN CLAVE PÚBLICA n = 257·307= 78899, Φ = 256·306= 78336. Como exponente elegimos e=101, que es primo con el indicador Φ. Su inverso módulo Φ es d=37229. Según señalamos antes, el par de números n y e constituyen la clave pública y d es la clave privada. El mayor entero k tal que 2k ≤78899 es k=16. Luego, para cifrar, podemos dividir el texto en claro en bloques de 16 bits y reemplazar el número binario B asociado a cada bloque por B 101, realizando esta potencia con la aritmética modular. El siguiente esquema lo muestra: Clave pública: n = 78899, e=101. Texto claro: 0100000101001101 1000111001000100 0101001101000001 Números B: 16717 36412 21249 ↓ B 101 ↓ B 101 ↓ B 101 Números C: 45456 22284 20485 Criptosistema RSA. Esquema de cifrado. Para descifrar, el receptor del mensaje recupera de nuevo los números B calculando las potencias C 37229 (recuérdese que 37229 es la clave privada). La justificación de que B=C 37229 es la siguiente. Como 37229 es el inverso de 101 módulo Φ, entonces 101·37229=1+k·Φ, para cierto entero k. (Igualdad que ha de contemplarse con la aritmética habitual de enteros). Luego, C 37229 =(B101)37229 =B101·37229 =B1+k·Φ =B·B k·Φ =B·(B Φ)k . Y la igualdad C 37229 =B se sigue del llamado teorema de Euler, que establece que B Φ=1. Los números considerados en nuestro ejemplo son pequeños, de tan sólo 5 cifras decimales. En la práctica, los enteros que se utilizan tienen un tamaño mínimo de 256 bits (77 cifras decimales) y no es raro llegar incluso a los 1024 bits (308 cifras decimales). Usar RSA con números de este tamaño requiere superar dos dificultades que hemos de comentar. La primera, manejar y operar con estos números de un modo eficiente. Como es sabido, la aritmética entera que incorpora un ordenador tiene unos límites que, por ejemplo, impiden multiplicar dos números de más de 5 cifras. Para poder hacerlo, es necesario incorporar un conjunto de algoritmos especiales que se conocen con el nombre genérico de aritmética multiprecisión. Gracias a estos algoritmos es posible realizar operaciones con enteros arbitrariamente grandes; y de una manera muy rápida, siempre en tiempo polinomial. No obstante, el cómputo de potencias modulares es lento y, como consecuencia de ello, el cifrado con RSA también lo es. Al menos 100 veces más lento que cualquiera de los algoritmos simétricos presentados en el capítulo anterior. El otro problema al que nos referíamos es la generación de la clave. Concretamente: la búsqueda 206
  • 215. 11. CRIPTOGRAFÍA EN CLAVE PÚBLICA de dos números primos arbitrariamente grandes. Por fortuna, hay “suficientes” números primos del tamaño que se deseen. Por ejemplo, hay aproximadamente 4·1098 números primos de 100 cifras decimales. Pero encontrar dos de ellos sólo es posible si se implementa en el ordenador un algoritmo que permita decidir si un número dado es primo. El conocido con test de Miller-Rabin es uno de ellos, quizás el más empleado. Con dicho algoritmo, la búsqueda de los dos primos puede efectuarse de modo aleatorio. Y una vez hallados, el cómputo de la clave pública y privada es inmediato; con la aritmética multiprecisión, naturalmente. La razón de emplear números de tamaño semejante no es otra que impedir que un criptoanalista logre factorizar el módulo: n=p·q. Si ello sucede, el cálculo de Φ es inmediato: Φ = (p−1)·(q−1); y, seguidamente, la clave privada: d=e –1 (módulo Φ). Por tanto, impedir la factorización del módulo es vital para la seguridad del criptosistema. Decíamos anteriormente que cuando se propuso el RSA, a mediados de los años setenta, factorizar un entero de 50 cifras era algo imposible. Hoy en día, tales números se pueden factorizar en unos pocos minutos en cualquier PC. La razón principal de este avance no es el aumento de la velocidad de cómputo en los modernos ordenadores; sino el descubrimiento de nuevos algoritmos de factorización, que han reducido considerablemente la cantidad de operaciones requeridas. No obstante, aún con estos algoritmos, el número de operaciones sigue siendo enorme. Una idea de ello nos la puede dar la Tabla 11.2. En su tercera columna incluimos el número de operaciones que debe ejecutar un ordenador para factorizar un módulo RSA de tantas cifras como se indica en la primera columna, empleando siempre el algoritmo más rápido que se conoce. (Para enteros de hasta 116 cifras este algoritmo es el método de la criba cuadrática, descubierto por C. Pomerance en 1985; para enteros de más de 116 cifras es preferible el método de la criba del cuerpo numérico, encontrado por J. M. Pollard en 1993). Nº de dígitos Nº de bits Nº de operaciones 50 166 1,6×1010 100 332 3,7×1014 155 512 9,5×1017 200 664 2,2×1020 308 1024 6×1024 500 1664 9×1030 1000 3322 6×1041 Tabla 11.2. Número de operaciones para factorizar un entero. Es posible que cualquier PC actual esté próximo ya a los 100 millones de operaciones por segundo. Por tanto, puede tardar unos 3 minutos en factorizar un módulo de 50 cifras, un mes en uno de 100, unos 300 años en uno de 155… Ahora bien, varios ordenadores trabajando de forma coordinada pueden rebajar estos tiempos de forma significativa. Por ejemplo, en agosto de 1999, con motivo de uno de los concursos “RSA Factoring Challenge” que periódicamente convoca la empresa RSA Data Security, 292 207
  • 216. 11. CRIPTOGRAFÍA EN CLAVE PÚBLICA ordenadores lograron factorizar un módulo RSA de 155 cifras decimales. Tardaron más de cinco meses en hacerlo. Para factorizar un módulo de unas 230 cifras en un año, RSA Data Security estima que se requieren unos 215.000 PC’s actuales. Además de una factorización del módulo, otro ataque posible es el descubierto por M. Wiener en 1989. Wiener dio un algoritmo que permite encontrar la clave privada d cuando ésta no supera la raíz cuarta del módulo n y los primos p y q verifican que el máximo común divisor de p−1 y q−1 es pequeño. Por tanto, como esta segunda condición suele ocurrir muy frecuentemente si los primos p y q se eligen aleatoriamente, conviene considerar claves privadas con un número de dígitos muy próximo al módulo. También se han descubierto otros escenarios muy particulares en los que la seguridad del RSA está comprometida. Uno de ellos es el denominado ataque contra un módulo común, que tiene lugar cuando se emplean dos o más claves que comparten un mismo módulo. Si un mismo mensaje es cifrado con dos de estas claves, el texto en claro se puede recuperar a partir de las claves públicas y los criptogramas. Por otro lado, como es posible factorizar el módulo conociendo la clave privada, basta conocer una clave privada para poder calcular todas las demás que compartan el mismo módulo. No obstante, todos estos peligros son fáciles de eludir y, sin temor a equivocarnos, podemos afirmar que hoy en día RSA es un criptosistema seguro. Ya que están introducidas las potencias modulares, no podemos pasar por alto el hecho que proporcionan otro ejemplo de función unidireccional. Con cierta precisión: fijados un módulo n y un entero positivo a menor que el módulo, podemos considerar la función que transforma un entero x en su potencia modular y=ax (módulo n). Por ejemplo, si fijamos n=11413 y a=9726, esta función transforma x=3533 en y=5761 ya que 97263533 =5761 (módulo 11413) Como decíamos antes, el cómputo de potencias modulares se realiza mediante un algoritmo que, aunque lento, corre en tiempo polinomial. Por el contrario, el cálculo de x a partir de y es un problema intratable. Este es el problema de los logaritmos discretos, así llamado porque si y=ax (módulo n) se dice que x es un logaritmo discreto de y en la base a (módulo n): log a y = x . Por ejemplo, la igualdad anterior muestra que 3533 es un logaritmo discreto de 5761 en la base 9726: log 9726 5761 = 3533 (módulo 11413). Precisamente, el problema de los logaritmos discretos sirvió de base a Diffie y Hellman para dar una solución al problema de la distribución de claves que planteamos al comienzo del capítulo. Está incluida en su ya citado artículo “New Directions in Cryptography” de 1976. En primer lugar, las dos partes interesadas en una clave común, llamémoslas A y B, deben convenir en un primo p y una base a de los logaritmos módulo p. Una de las partes, digamos A, elige secretamente un entero x y computa y=ax, dato que transmite a B. Análogamente, B elige de modo secreto otro entero u, calcula v=au y lo comunica a A. Con v y x, A calcula K=vx. También B puede obtener este mismo K con su entero secreto u y el dato y que A le ha transmitido: 208
  • 217. 11. CRIPTOGRAFÍA EN CLAVE PÚBLICA yu =(ax)u =(au)x =vx =K. La clave común es este entero K que sólo A y B conocen. Lo más significativo de este algoritmo es que tanto el primo p como la base a no necesitan ser secretos, no hay inconveniente alguno en que sean públicos. Aunque se intercepten y y v, el cálculo de x o u requiere resolver logaritmos discretos; que es un problema intratable, como ya hemos dicho. Y sin x o u la clave K no puede ser calculada. De este modo, A y B han intercambiado de forma segura una clave por un canal inseguro; no han necesitado mantener una reunión privada. Unos años después, en 1985, Taher ElGamal propuso un criptosistema basado también en el problema de los logaritmos discretos. Presentamos a continuación su descripción. Se parte de un primo p y se considera la aritmética modular, módulo p. Se eligen a continuación dos enteros positivos aleatorios a y x, ambos menores que p, y se calcula entonces y=ax (módulo p, naturalmente). Los tres enteros p, a e y constituyen la clave pública y x es la clave privada. Para cifrar, los textos en claro han de contemplarse ahora como sucesiones de números positivos menores que p. La manera de conseguirlo es la misma que antes: se dividen en bloques de k bits, siendo k tal que 2k ≤p, y se considera el número binario que determina cada bloque. Entonces, para cada uno de los números B que compone el texto en claro se elige aleatoriamente un entero positivo E<p y se calculan C1 =aE y C2 =B·yE. El par de números C1 y C2 es el transformado de B; y la sucesión de estos pares es el texto cifrado que se transmite. Veamos un sencillo ejemplo. Como primo consideramos p=70001. Los enteros a y x son: a=35791, x=59925; con lo que y=ax =54093. La clave pública es entonces el trío de enteros 70001, 35791 y 54093; la privada es el número 59925. El mayor entero k tal que 2k ≤70001 es k=16. Luego, para cifrar, dividimos el texto en claro en bloques de 16 bits y reemplazamos el número binario B asociado a cada bloque por el par de enteros C1 y C2, calculados de la manera indicada antes. El siguiente esquema lo muestra: Clave pública: p=70001, a=35791, y= 54093 Texto claro: 0100000101001101 1000111001000100 0101001101000001 Números B: 16717 36412 21249 Números E: 45981 11037 64159 C1 =aE ↓ C2 =B·yE C1 =aE ↓ C2 =B·yE C1 =aE ↓ C2 =B·yE Par C1 y C2: 41073 5298 15494 58065 17737 57206 Criptosistema ElGamal. Esquema de cifrado. 209
  • 218. 11. CRIPTOGRAFÍA EN CLAVE PÚBLICA Para descifrar, el receptor del mensaje recupera de nuevo los números B calculando C2·C1-x. En efecto: C2·C1-x = B·yE·(aE)-x = B·yE·(ax)-E = B·yE·y -E = B. La seguridad del criptosistema de ElGamal radica en que como x es el logaritmo discreto de y en base a, encontrar esta clave privada x es un problema intratable. No obstante, al igual que ha ocurrido con la factorización de enteros, los algoritmos encontrados recientemente han hecho que el cálculo de logaritmos discretos sea un problema “menos intratable”. Sin entrar en detalles, para que el criptosistema sea seguro, p debe tener al menos 512 bits (155 cifras decimales) y ser un primo fuerte; que así se dice cuando p−1=2·q, con q otro número primo. Los tres criptosistemas que aquí hemos presentado son sólo una pequeña muestra de los muchos que han sido propuestos desde 1976. Otros que suelen incluir la mayoría de los libros de texto son el de Rabin, el de McElice y los basados en curvas elípticas. No creemos que sea ya necesario entrar a describirlos y dedicamos el resto del capítulo a mostrar algunas aplicaciones de la criptografía en clave pública que tienen interés en la era de la información en que nos encontramos. La anterior solución de Diffie y Hellman al problema de la distribución de claves no da respuesta a la siguiente pregunta que ya planteamos al comienzo del capítulo: ¿cómo sabe cada una de las dos partes implicadas, A y B, que cada mensaje recibido es auténtico, que en efecto ha sido trasmitido por la otra parte y no por un intruso? Si este suplanta a B, puede boicotear el proceso de intercambio de claves; o peor aún, intercambiar información confidencial con A. La respuesta a la pregunta anterior ha conducido a la llamada firma digital. Se pretende que la firma digital sea el perfecto sustituto de la tradicional firma “en papel”. Por tanto, debe cumplir con estas características: ser imposible de falsificar, fácil de autentificar e irrevocable (que el firmante no puede negar su autoría). Para introducir el concepto de firma digital, planteemos la siguiente situación general: que A manda un mensaje M a B y que éste quiere tener constancia de que efectivamente ha sido enviado por A. La solución a este problema depende del criptosistema de clave pública que se emplee. La firma digital que presentamos a continuación se basa en RSA. Supongamos que A tiene clave pública el módulo n y el exponente e, y clave privada el entero d. Si contemplamos al mensaje M como un número menor que n, A computa la potencia modular f=M d y transmite a B ambos M y f. La firma digital es precisamente el entero f. Es infalsificable e irrevocable, porque solamente quien conozca d (la clave secreta de A) puede generar f a partir de M. También es fácil de verificar: se calcula f e y se comprueba si coincide con M. Veamos un sencillo ejemplo. Admitamos que A tiene clave pública el módulo n = 78899 y el exponente e=101, y que su clave privada es d=37229. A desea enviar a B el mensaje M=0100000101001101, que se corresponde con el número decimal 16717. La potencia modular f=M d =1671737229 =55907 210
  • 219. 11. CRIPTOGRAFÍA EN CLAVE PÚBLICA es la firma del mensaje M. Cuando B reciba ambos números, M y f, verificará que proceden de A computando esta otra potencia modular f e=55907101 y observando si coincide con M=16717. Naturalmente, como e y n son públicos, la autentificación de la firma la puede realizar cualquiera; no sólo B, a quien iba dirigido el mensaje. Si A y B desean confidencialidad, deben encriptar el par datos M y f antes de transmitirlos. Para ello, pueden usar cualquier criptosistema simétrico convenido previamente entre ellos; pero también pueden cifrar empleando RSA y la clave pública de B. En el esquema de firma digital que acabamos de describir, el mensaje M debe ser menor que el módulo n. En consecuencia, el tamaño del mensaje viene limitado por los bits del módulo. Como ya señalamos antes, RSA maneja en la práctica módulos de tamaño comprendido entre 256 y 1024 bits. Sin embargo, los mensajes que se deben firmar son mucho más largos; con frecuencia tienen varios megabits (un megabit es aproximadamente un millón de bits). Por ello, lo que en realidad se firma en la práctica es un resumen del mensaje. Este resumen se consigue con las llamadas funciones hash (funciones resumen). Una tal función proporciona para cada texto M un resumen r(M), que es un número binario con las siguientes características: 1. r(M) es de longitud fija, sea cual sea el tamaño de M. 2. r(M) se calcula a partir de M mediante un algoritmo que corre en tiempo polinomial; pero recuperar M a partir de r(M) es un problema intratable. (Esto es: la función hash es una función unidireccional). 3. Fijado un texto M, encontrar otro texto N tal que r(M)=r(N) también es un problema intratable. Las funciones hash que más se emplean en la práctica son la MD5 diseñada por R. Rivest, que produce resúmenes de 128 bits; y la SHA de la agencia de seguridad americana (la NSA), que proporciona resúmenes de 160 bits. El lector interesado encontrará una descripción de estas funciones hash en cualquiera de los libros de Criptografía Moderna que incluimos en la bibliografía. Relacionados con el concepto de firma digital son los denominados esquemas de identificación. Cuando nos conectamos con un ordenador remoto, es habitual que nos requieran dos palabras: una el “login”, que suele ser nuestro nombre; otra el “password”, la contraseña. Si la conexión es insegura, esto es: si se transmiten por un canal inseguro, un intruso puede capturarlas y suplantarnos en una posterior conexión. Una situación similar sucede cuando empleamos una tarjeta de crédito para solicitar dinero a un cajero automático o para efectuar una compra. En esta ocasión, el login está almacenado en la banda magnética de la tarjerta y el password es el número PIN que hemos de memorizar. Si alguien reproduce la banda magnética y se hace con nuestro número PIN, puede falsificar nuestra tarjeta y usarla fraudulentamente contra nuestra cuenta bancaria. Naturalmente, no es sencillo; pero todos hemos oído hablar de esta estafa. Estos problemas pueden solventarse con un esquema de identificación. Hay varios. El que presentamos a 211
  • 220. 11. CRIPTOGRAFÍA EN CLAVE PÚBLICA continuación fue dado a conocer por Clauss Schnorr en 1990 y está basado en el problema de los logaritmos discretos. En el esquema de Schnorr se requiere que una autoridad proporcione a cada usuario una identificación y certifique esta identificación, tal y como explicaremos seguidamente. En la práctica, la autoridad es una institución como un banco o un organismo oficial; la identificación puede ser una serie de datos como el nombre y apellidos o un número (el DNI, por ejemplo). Inicialmente, la autoridad elige un par de números primos p y q con p=2·q+1 (de al menos 512 bits si se desea garantizar seguridad), y un entero b<p tal que b2≠1 (módulo p). Los tres números p, q y b son públicos. Una vez que la autoridad ha facilitado a un individuo A una identificación IDA, le proporciona un certificado siguiendo estos dos pasos: 1. A elige secretamente un número sA (su contraseña) con 0<sA <q y se calcula v A = b − sA (módulo p). 2. La autoridad firma digitalmente los datos IDA y vA. Sea fA esta firma. El certificado para A es la terna IDA, vA y fA; que es infalsificable, ya que así lo es una firma digital. Este certificado es público y A puede exhibirlo sin comprometer su contraseña sA; ya que recuperar este dato a partir de vA requiere calcular un logaritmo discreto. Con su certificado, A puede identificarse remotamente ante otra persona B siguiendo los siguientes pasos: 1) A envía a B su certificado y éste comprueba si es auténtico; esto es, verifica la firma fA. En tal caso, B elige un número aleatorio r<q y lo comunica a A. 2) A elige también un número aleatorio k<q, computa el par de números x e y: x=bk (módulo p), y=k+sA·r (módulo q). y los transmite a B. 3) Por último, B verifica si x=by·vAr (módulo p); en cuyo caso ha de aceptar la identidad de quien le ha transmitido el certificado. Sólo quien conozca la contraseña sA puede generar el entero y, por lo que nadie puede suplantar a A. Por otra parte, la comprobación que ha de hacer B en el paso 3) se justifica así: b y ·v A = b k + sA ·r ·v A = b k + sA ·r ·b − sA ·r = b k = x . r r En la actualidad, la tecnología permite que los cálculos anteriores sean realizados por diminutos chips que pueden incorporarse a las tarjetas de crédito. Estas son las llamadas tarjetas inteligentes. Ya están reemplazando a las tradicionales tarjetas de crédito y muy pronto serán las únicas que se usen. Además de sacar dinero en un cajero automático y 212
  • 221. 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
  • 223. Bibliografía. 1. F. L. Bauer: “Decrypted Secrets. Methods and Maxims of Cryptology”. 3rd edition. Springer. 2002. 2. A. Biryukov: “Methods of Cryptanalysis”. http://www.wisdom.weizmann.ac.il/~albi/cryptanalysis/ 3. J. R. Childs: “General Solution of the ADFGVX Cipher System”. Aegean Park Press. Laguna Hills, California. 2000. 4. R. Crandall & C. Pomerance: “Prime Numbers. A Computational Perspective”. Springer. 2001. 5. J. Daemen & V. Rijmen: “The Design of Rijndael”. Springer. 2002. 6. C. A. Deavours & L. Kruh: “Machine Cryptography and Modern Cryptanalysis”. Artech House Inc. Norwood, Massachusetts. 1988. 7. W. Friedman: “Military Cryptanalysis. Part IV: Transposition and Fractioning Systems”. Aegean Park Press. Laguna Hills, California. 1993. 8. H. F. Gaines: “Cryptanalysis. A study of ciphers and their solutions”. Dover, New York. 1956. 9. J. C. Galende: “Criptografía. Historia de la escritura secreta”. Complutense. Madrid. 1995. 10...L. S. Hill: “Cryptography in an Algebraic Alphabet”. American Mathematical Monthly, 36, 306−312. 1929, 11. A. Kerckhoffs: “La cryptographie militaire”. http://www.petitcolas.net/fabien/kerckhoffs/la_cryptographie_militaire_i.htm 12. D. Kahn : “The Codebreakers. The Story of Secret Writing”. Scribner. New York. 1966. 13. D. Kahn: “Seizing the Enigma”. Arrow Books. Londres. 1996. 14. R. Kippenhahn: “Code Breaking: A History and Exploration”. Overlook Press. New York. 2000. 15. W. Kozaczuk: “Enigma”. Greenwood Press. Westport, Connecticut. 1998. 215
  • 224. BIBLIOGRAFÍA 16. L. Kruh & C. A. Deavours: “The Commercial Enigma: Beginnings of Machine Cryptography”. Cryptologia, Vol. 26, nº 1, 1−16. 2002 17. M. Lee: “Cryptanalysis of SIGABA”. Thesis. Universidad de California. 2003. 18. A. J. Menezes, P. C. van Oorschot & S. A. Vanstone: “Handbook of Applied Cryptography”. CRC Press. 1997. 19. F. Pratt: “Secret and Urgent: the Story of Codes and Ciphers”. Blue Ribbon Books. Indianapolis. 1939. 20. M. Rejewski: “An Application of the Theory of Permutations in Breaking the Enigma Cipher”. Applicationes Matematicae XVI, 4, 543−559. 1980. 21. T. Sale: “The Enigma cipher machine”. http://www.codesandciphers.org.uk/enigma/ 22. J. Savard: “A Cryptographic Compendium”. http://home.ecn.ab.ca/~jsavard/crypto/jscrypt.htm 23. B. Schneier: “Applied Cryptography”. John Wiley & Sons Inc.1996 24. S. Singh: “Los códigos secretos”. Circulo de lectores. Barcelona. 2000. 25. A. Sinkov: “Elementary Cryptanalysis. A Mathematical Approach” The Mathematical Association of America. Washington D.C. 1998. 26. D. R. Stinson: "Cryptography. Theory and Practice". CRC Press. 1995. 27. U.S. Army: “Basic Cryptanalysis”. Headquarters Department of the Army. Washington D.C. 1990. 28. G. Welchman: “The Hut Six Story”. M&M Baldwin. Manchester. 1997. 29. F. B. Wrixon: “Codes, Ciphers & Other Cryptic & Clandestine Communication”. Black Dog & Leventhal Publishers Inc. New York. 1998. 216
  • 225. Origen de las fotografías. Figura. 2.1: Sustitución del duque de Mantua. Archivio di Stato, nº 42. Mantua, Italia. La imagen que aquí se incluye está extraída del libro de D. Kahn: “The Codebreakers. The Story of Secret Writing”, pág. 107. Figura 2.2: Un nomenclátor español de 1563. Procede de la página web de la Fundación Casa de Medina Sidonia: http://www.fcmedinasidonia.com/ Figura 2.3: Nomenclátor compilado en Florencia en 1554. Archivio di Stato, nº 457. Florencia, Italia. La fotografía está extraída del libro de D. Kahn: “The Codebreakers. The Story of Secret Writing”, pág. 107. Figura 2.4: Nomenclátor de 1568 usado por Felipe II. Archivo General de Simancas, Sección Secretaría de Estado, leg. 664. La imagen que incluimos está tomada del libro de J. C. Galende: “Criptografía. Historia de la escritura secreta”, pág. 100. Figura 3.2: Tabla de Trithemius. Ilustración del libro de Trithemius “Poligrafía”, escrito en 1508. http://www.uni−mainz.de/~pommeren/Kryptologie/Klassisch/2_Polyalph/ Figura 4.1: Una página de un código militar telegráfico. Obtenida de la página web: http://www.cix.co.uk/~klockstone/cbprop.htm. Figura 4.2: Cifrado digráfico de Porta. Dibujo de libro de Porta: “De Furtivis Literarum”. http://www.und.nodak.edu/org/crypto/crypto/graphics.html. Figura 6.1: El telegrama Zimmermann. Procede del la página web del U. S. National Archives: http://www.archives.gov/digital_classroom/lessons/zimmermann_telegram/ zimmermann_telegram.html Figura 8.1: Criptógrafo de Wheatstone. http://www-wi.cs.uni-magdeburg.de/~pauer/ images Figura 8.2: La rueda de Jefferson. Tomada de la página web del Nacional Cryptologic Museum: http://www.nsa.gov/museum Figura 8.3: El M-94 del ejército americano. El mismo origen que la Figura 8.1. 217
  • 226. ORIGEN DE LAS FOTOGRAFÍAS Figura 8.6: Máquina de rotores de Hebern. Obtenida en la dirección de Internet: http://www.jura.ch/lcp/cours/dm/codage/instruments. Figura 8.7: La máquina americana Sigaba. El mismo origen que la Figura 8.2. Figura 8.8: Enigma A. Tomada de la dirección: http://www.usma.edu/math/pubs/ cryptologia/extras Figura 8.10. Versiones comercial y militar de Enigma. Fotografías de la página web del Deutches Museum: http://www.deutsches-museum.de/ausstell/meister/img/ Figura 8.11. Un rotor de Enigma I. http://w1tp.com/enigma Figura 8.12. El M-209 americano. http://www.eclipse.net/~dhamer/images 218
  • 227. Índice alfabético ABC, cifra 101 binarios, números 184 ABCD, cifra 102 bits 184 Abhorchdienst 101 Biuro Szyfrow 156 ADFGX, cifrado 105 Blectchley Park 171 Adleman, L. 204 bomba de Rejewski 169, 170 AES 195-197 bomba de Turing 173-175 caja del 196 bomba de Turing-Welchman 178, 179 afín, criptosistema 116 Bureau du Chiffre 101 Al-Qalqashandi 13 byte 185 albam 8 Alberti, L. 36 C-38 142 cifrado de 36 Cabinet Noir 31 disco de 125 cámaras negras 31 alfabeto 2, 11 Cardano, G. 39 de cifrado 2, 11 cifrado de 39 en claro 2, 11 certificado 212 llano 2, 11 Chase, P. 62 algoritmo 2, 11 cifrado de 62 de cifrado 2 chiffre indéchiffrable, le 35, 40 de descifrado 2 ciclómetro 165, 166 análisis de frecuencias 13 cifra de campo 56 aritmética multiprecisión 206 Cifra General de Felipe II 28 aritmética modular 114 cifrado en bloque 186 Army Signal Corps 132 modo CBC 189 ASCII, código 185 modo ECB 189 ataque con texto pleno 12 cifrado secuencial 186 atbash 8 autosincronizado 187 autoclave 39 sincronizado 186 clases de congruencia 114 Babbage, C. 43 clave 2, 11 Bazeries, E. 33, 127 pública 199, 200 cilindro de 127 código 55 Belaso, G. 38 comercial 55 cifra de 38 de dos partes 56 Bergenroth, G. 32 de trinchera 103 Bertrand, G. 156 de una parte 56 bífida, cifra 63 desordenado 56 bigrama 19 oficial 56 Biham, E. 193 ordenado 56 binario, sistema 184 telegráfico 55 219
  • 228. ÍNDICE ALFABÉTICO Coppersmith, D. 194 female 167 crib 154 firma digital 210 criba cuadrática, algoritmo de la 207 Fleissner, E. 83 criptoanálisis 5 Foss, H. 147 con texto cifrado 5 fraccionado, cifrado 63 con texto claro y cifrado 5 frecuencia 13 diferencial 193 Friedman, W. 43, 128 lineal 193 función hash 211 total 5 función unidireccional 200 criptoanalista 5 Criptografía 4 GCCD 147 asimétrica 200 GCHQ 200 Moderna 183 Geheime Kabinets-Kanzlei 31 simétrica 200 Gran Cifra de Luis XIV 32 criptograma 2 Grey, N. 97 criptosistema 5, 11 Grundstellung 155 cuadrado latino 127 cuerpo numérico, algoritmo 207 Habitación 40 97 Hagelin, B. 142 Daemen, J. 195 Hayhanen, Reino 5 Deavours, C. 138 Hebern, E. 131 Deciphering Branch 32 máquina de 132 Delastelle, F. 63 Hellman, M. 193, 200 cifra de 64 Hill, L. 113 Denniston, A. 171 criptosistema de 113, 118 DES 190-193 homófonos 24 Cracker 193 caja del 192 índice de coincidencia 43 Diffie, W. 193, 200 del español 44 digrafo 19 mutua 47 distribución de claves 199 intratable, problema 201 Doppelkstenschlüssel 61 inversa de una letra 115 dos cuadrados, cifra de los 61 isomorfos, textos 149 ECM Mark I, II 134 Jefferson, T. 126 ElGamal, T. 209 rueda de 126, 127 criptosistema de 209 Jeffreys, J. 172 Enigma 135 Julio César 10 A 135 sustitución de 10 Abwehr 141 B 135 Kahn, D. 31, 131, 107 C 135 Kasiski, F. 42, 57 D 137 método de 42 D, rotores de 138 kautiliyam 10 I 138 Kerchoffs, A. 101 I, rotores de 141 Knox, A. 147, 171 K 147 Koch, H. 135 escítalo 9 Kruh, L. 138 esquema de identificación 211 Kullback, S. 133 estado inicial 186 esteganografía 8 Langer, G. 156 logaritmos discretos 208 Feistel, H. 190 Lucifer 190 220
  • 229. ÍNDICE ALFABÉTICO M-138 128 Rivest, R. 204 M-209 142 rodding 148 M-94 128 Rossignol, A. 30 Magdeburgo, código 99 Rossignol, B. 32 Matsui, M. 194 rotor 129 Merkle, R. 200 rotores concatenados 131 Merkle-Hellman, criptosistema de 203 rotores, máquina de 125, 131 mochila, criptosistema de la 202-204 Rowlet, F. 133 mochila, problema de la 202 Rozycki, J. 157 Montgomery, W. 97 RSA 204-208 Morse, S. 55 RSA Data Security 193, 204 müladeviya 10 múltiples anagramas, método de los 86 Scherbius, A. 135 Musefili, P. 28 Schmidt, H. 156 secuencia clave 186 NBS 190 Shamir, A. 193, 204 Nebel, F. 105 Sigaba 134 NIST 194 simetría de la posición 51 nomenclátor 23, 26 Simonetta, C. 28 NP, clase 201 Singh, S. 16 NSA 190 Sinkov, A. 133 nulos 26 Smith, F. 55 Soro, G. 28 opuesta de una letra 115 Spruchschlüssel 156 Stator 137, 149 P, clase 201 Steckerverbindung 139, 154 Painvin, G. 106 suma de letras 114 palabra probable, método de la 65 supercomputador 183 pin and lug 142 sustitución 7 Playfair, L. 59 del Duque de Mantua 24 cifrado 59 homofónica 24 doble 61 cifrado por 7, 11 polialfabético, cifrado 35 Polibios 9, 63, 105 tabla de Trithemius 38 cifrado de 9 tabla de Vigenère 40 polífonos 100 tablero diagonal 177 poligráfico, cifrado 55, 58 tabula recta 38 Pollard, J.M. 207 Tageschlüssel 155, 156 Pomerance, C. 207 tarjeta inteligente 212 Porta, G. 39, 58 texto 2 cifra de 39 cifrado 2 cifrado digráfico de 58 claro 2 Pratt, F. 15 llano 2 producto de letras 114 tiempo polinomial 201 Purple 142 tomográfico, cifrado 63 transposición 11 rail fence 77 cifrado por 11, 58, 77 reflector 136, 148 de columnas 78 Rejewski, M. 157 doble 80 bomba de 169, 170 variante francesa 102 rejilla giratoria 83 de los nihilistas rusos 81 Rijmen, V. 195 regular 86 Ringstellung 140, 155 periodo de una 86 221
  • 230. ÍNDICE ALFABÉTICO trigrafo 19 trigrama 19 Trithemius J. 37 cifrado de 37 tabla de 38 Turing, A. 172 bomba de 173-175 Turing-Welchman, bomba de 178,179 Typex 142 ÜBCHI, cifra 101 Uhr Box 141 Unicode 185 unidad, letra 115, 116 vector de inicialización 189 Viaris, H. de 127 Viète, F. 30 Vigenère, B. 35, 40 cifrado de 40 tabla de 40 Wallis, J. 31 Welchman, G. 177 Wheatstone, C. 59, 125 criptógrafo de 125, 126 Wierner, M. 208 Winterbotham, F. 147 Zimmermann, A. 96 telegrama 97 Zygalski, H. 157 hoja de 168 222