Boletín ENIGMA - nº 31
1 marzo 2005
Boletín del Taller de Criptografía
de Arturo Quirantes Sierra
Dirección original: http://www.cripto.es/enigma/boletin_enigma_31.htm
TEMAS DE ACTUALIDAD - MAIL-PGP: Saludos del administrador
TEMAS DE ACTUALIDAD - SHA-1 y las colisiones de cumpleaños
CRIPTOGRAFÍA HISTÓRICA - La identificación de rotores Enigma
NUESTRA HISTORIA - Los códigos de Garbo, agente doble (III)
LIBERTAD VIGILADA - UKUSA, el pacto definitivo
Saludos, enigmáticos. Las arenas criptográficas de este mes
han estado bastante revueltas. Saltaba la noticia de que el algoritmo hash SHA-1
sufría ataques de cierta relevancia. De repente, una función poco conocida del
entramado digital recibe toda la atención. ¿Qué es esa función SHA-1? ¿En qué
consiste el ataque? ¿Es tan grave como parece? ¿Qué se puede hacer al respecto?
Por supuesto, aquí no podíamos hacer oídos sordos, así que los chapuzas del
Taller de Criptografía se han puesto manos a la obra. El lector podrá comprobar
cómo hemos tomado este ataque como "excusa" para diseccionar los algoritmos hash
y explicar sus ventajas e inconvenientes. Un lector, perro viejo en el asunto,
me ha enviado un estudio sobre el ataque a SHA-1 desde una vertiente más
técnica, pero por no agobiarnos lo dejaremos para mejor ocasión. Gracias a él y
a otros lectores que me han hecho llegar informaciones de Internet sobre este
asunto.
Tan novedosa noticia nos ha hecho dar otro golpecito de timón hacia la parte
moderna de la criptografía, y nos ha obligado a posponer el último episodio
sobre la solución polaca de Enigma. A veces pienso que estoy haciendo un
documental del National Geographic, de esos que titulan "entre la tradición y la
modernidad". Siguiendo esa idea, incluimos este mes una receta para identificar
rotores Enigma. Puede resultaros algo pesado, pero os ayudará a ver el problema
con los ojos de un criptólogo. Al final, encontraréis el enlace a una página con
todo tipo de información técnica sobre rotores Enigma que constituye la más
reciente adición a nuestro Museo Camazón.
Volvemos en esta ocasión al problema que planteamos hace un par de meses. ¿Cómo
se cifra un texto mediante el sistema de cifra de nuestro espía favorito Garbo?.
Veremos aquí los pasos detallados, y por experiencia os digo que el más pequeño
fallo puede dar al traste con
todo el proceso. Y para terminar, el capítulo correspondiente del libro
"Libertad Vigilada".
Finalmente, una observación criptográfica. La red de I+D del CSIC, Rediris, creó
hace algunos años una lista de distribución de correo sobre el programa PGP de
cifrado. Dicha lista, llamada MAIL-PGP; ha estado de capa caída en estos últimos
tiempos, hasta tal punto que el administrador de la lista casi se había olvidado
que existía. Puesto que dicho administrador soy yo, el delito es grave. En la
actualidad, diversos miembros de la lista estamos debatiendo las posibles
opciones: cerrarla, re-activarla o ampliarla. Os incluyo el comentario que envié
a la lista hace algunos días. Por supuesto, sois bienvenidos a participar en
ella, bien directamente (hay que inscribirse) o por medio de este boletín. Y que
siga la fiesta.
TEMAS DE ACTUALIDAD - MAIL-PGP: Saludos del administrador
[Mensaje enviado por el administrador a la lista MAIL-PGP, 23-feb-2005]
Queridos usuarios de PGP,
Soy Arturo Quirantes, administrador de la lista mail-pgp de Rediris. Quizá no
recordéis siquiera que existe esta lista de correo sobre PGP. La verdad, yo
mismo hace tiempo que la tenía olvidada.
Cuando se creó, la criptografía "para las masas" era poco conocida. Las noticias
sobre programas de cifrado en e-mail venían de la mano de webs como la ya
desaparecida "PGP Magazine", de Manolo Gómez (que se reconvirtió hace tiempo en
la conocida Kriptópolis). El motivo de crear esta lista fue precisamente para
popularizar y extender el uso de las técnicas habituales de cifrado y firma
digital de la mano del programa Pretty Good Privady, de Philip Zimmermann.
Parece que hemos olvidado esta lista. Podríamos pensar que, simplemente, ya no
la necesitamos. Pero aunque seamos usuarios asiduos, en los últimos tiempos han
surgido temas que podríamos tratar. Apenas hemos mencionado, por ejemplo, las
variantes de software libre (gpg, gnupg). No prestamos atención a las andanzas
de la empresa PGP de unas manos a otras. Y, si os ha llegado onda, últimamente
se ha puesto en entredicho la función resumen SHA-1 que PGP usa (esa que podéis
leer en este mismo mensaje, en la segunda línea).
¿Sigue existiendo la necesidad de esta lista? Esta es la cuestión que os lanzo.
Rediris me ha dado un cariñoso tirón de orejas, recordándome que hace 4 meses
que no cruzamos un solo mensaje. Quizá debamos cerrar la lista, o por el
contrario puede que siga siendo una herramienta útil. Podemos pensar incluso en
ampliarla para convertirla en una lista sobre criptografía.
¿Qué os parece? Me gustaría contar con vuestros comentarios. No se trata tampoco
de que os sintáis obligados a escribir como locos para intentar compensar el
parón de estos últimos meses. Vamos a "sentarnos a hablar" y decidir qué
queremos hacer con la lista.
Las opciones que os planteo son las siguientes:
1 - Cerrar la lista de correo MAIL-PGP
2 - Continuar con la lista, centrada en los aspectos de PGP
3 - Ampliar la lista para cubrir otros temas sobre criptografía.
Personalmente, ni siquiera sé si podríamos hacer la 3. Tendríamos que
solicitarlo a RedIris. Pero creo que serán receptivos si ese es nuestro deseo.
Yo tengo un boletín electrónico sobre criptografía (http://www.cripto.es/enigma.htm),
bastante exitoso (creo), y me consta que hay interés ahí fuera al respecto. Pero
como digo, vosotros decidís.
Afectuosos saludos de vuestro administrador.
Arturo Quirantes Sierra.
La página oficial de la lista MAIL-PGP, incluyendo opciones para suscripción, es
http://www.rediris.es/list/info/mail-pgp.es.html, y la página de archivos
es:
http://listserv.rediris.es/archives/mail-pgp.html
TEMAS DE ACTUALIDAD - SHA-1 y las colisiones de cumpleaños
En los últimos meses se han descubierto vulnerabilidades en
las funciones hash más habitualmente utilizadas; la última en sufrir ataques ha
sido la conocida como SHA-1. Las funciones hash son uno de los elementos menos "glamurosos"
del batiburrillo criptográfico actual. El tema es bastante técnico, pero en este
Boletín vamos a intentar digerirlo, y siguiendo la filosofía didáctica que nos
caracteriza, voamos a tratarlos dejando de lado la terminología matemática
farragosa. Aprovecharemos que pasamos por allí para "abrir el motor" y
enterarnos de lo que realmente es una firma digital.
Bien, seguro que la expresión "firma digital" os suena. Es el nuevo grial que,
según los políticos, nos traerá confianza, seguridad y todo eso a la red; por
supuesto, los usuarios de PGP llevamos bastantes años al tanto del asunto. Se
llama "firma" porque, a semejanza de las firmas manuscritas tradicionales,
relaciona un documento con la persona que lo suscribe. Es, a fin de cuentas, una
representación de la voluntad de dicha persona. Escribir "el Taller de
Criptografía es una birria" es algo que cualquiera puede hacer; pero firmarlo
representa, además, un acto de adhesión hacia dicha afirmación (lo que puede
conllevar consecuencias de todo tipo, como por ejemplo que yo le retire el
saludo al firmante).
En el caso digital, la voluntad de "firmar" se plasma mediante el uso de la
clave privada del firmante. Ya os supondré al tanto de los principios de la
criptografía de clave pública (PKC), donde el usuario tiene dos claves, una
pública (conocida por todos) para poder cifrar y verificar una firma, y una
privada (solamente conocida por su dueño) para poder descifrar y firmar. La idea
es que, puesto que solamente el dueño de una clave privada puede activarla, bien
pudiera usarse para el acto personal e intransferible de firmar. De modo que, en
principio, bastaría con aplicar la clave privada sobre un documento para
"firmarlo" digitalmente.
Por supuesto, esto resulta muy inconveniente en la práctica. En primer lugar, la
aplicación de una clave asimétrica (sea pública o privada) sobre un archivo es
un proceso lento y que produce un segundo archivo de mucho mayor tamaño. En
segundo lugar, se supone que clave pública y clave privada son complementarias,
y lo que hace una la deshace la otra. Eso quiere decir que, si firmamos y
ciframos un documento, lo que estamos haciendo es aplicarle la clave privada y
después la clave pública, !con lo que obtenemos el documento original!
Por este y otros motivos, la firma digital se modifica ligeramente. En lugar de
aplicar la clave privada sobre todo el documento, se aplica sobre un "destilado"
del mensaje. Con "destilado" quiero decir una ristra corta de bits que
representan dicho mensaje. En inglés se denomina "hash", palabra curiosa que
puede traducirse por revoltillo o picadillo. En lo que sigue, llamaremos M al
mensaje y h=H(M) al valor de la función hash.
El lector fiel a mis escritos podrá recordar (y el que no, ya tarda) algunas
explicaciones sobre hash y firma digital en el Curso Sencillo de PGP, capítulo 2
(http://www.cripto.es/cursopgp2.htm) y en el Informe "Los entresijos del
firmado digital" del año 1997 (caray, cómo pasa el tiempo):
http://www.cripto.es/informes/info003.htm.
Una buena función hash tendrá que cumplir ciertas características. En primer
lugar, la discreción: conocido el hash h, debe ser difícil, si no imposible,
obtener el valor del mensaje M. También debemos exigir que cualquier alteración,
por pequeña que sea, cambie el valor de h de forma significativa. Idealmente, un
cambio de un solo bit en el mensaje debería cambiar al menos la mitad de los
bits en h. Esto no es muy difícil, si se sabe mezclar bien los bits.
Para empezar, queremos que sea única. Es decir, que dos valores hash diferentes
correspondan a firmas diferentes. En realidad, nunca podremos obtener esto, ya
que si la función hash es de, digamos 64 bits, solamente habrá 2^64 posibles
valores de hash, así que si tenemos 2^64 mensajes mas uno, será inevitable que
dos de ellos tengan el mismo hash. En la práctica, lo que hacemos es que el
número de bits de la función hash sea lo bastante alto que la probabilidad de
hacer dos mensajes con el mismo hash sea ínfima. En general, para un hash de n
bits, la probabilidad de encontrar otro mensaje con el mismo hash que el primero
ha de ser el que marca la probabilidad pura y dura: 2^(-n). Con n=128, un
atacante necesitaría probar con 2^128 mensajes para encontrar un hash igual al
de otro mensaje dado. Esto es lo que se conoce como RESISTENCIA DÉBIL A LAS
COLISIONES: Para un mensaje M dado, ha de ser imposible (o al menos muy difícil)
encontrar otro mensaje M´ con el mismo resumen. Es decir, no ha de darse H(M)=H(M´).
Sin embargo, existe otra condición más restrictiva, conocida como RESISTENCIA A
LAS COLISIONES: Ha de ser difícil hallar al azar dos mensajes M, M' tales que
H(M)=H(M´). Parece que son muy parecidas, pero ambas condiciones son diferentes.
La diferencia es que en el primer caso M es un mensaje determinado, en tanto que
en el segundo caso M y M' son dos mensajes cualesquiera.
Para ilustrar esta diferencia, alguien inventó el concepto de "ataque de
cumpleaños". Imagine que entra usted en una habitación llena de gente. ¿Cuántas
personas ha de haber para que exista una probabilidad del 50% de que al menos
una de ellas tenga un cumpleaños el mismo día que usted?. Asumiendo que todas
las fechas de cumpleaños son equiprobables (gemelos y nacidos el 29 de Febrero,
abstenerse), la probabilidad de que eso suceda para una reunión de n personas es
P = 1-(364/365)^n
con lo que P>50% se da para n=253. Ahora bien, supongamos que queremos saber
cuántas personal hacen falta para que CUALESQUIERA DOS DE ELLAS cumplan años el
mismo día. Puesto que ahora no hay que fijarse en un cumpleaños determinado sino
en una cualquiera, el cálculo cambia. Ahora la probabilidad viene dada por
P = 1- [365!/(365^n*(365-1)!)]
nos dice que, para P>50% ha de cumplirse n> 22. ¿No se lo cree?. Pues créaselo,
es cierto. Esto, en la práctica, significa que una clave de n
bits puede producir una colisión débil (h=h' para M dado) una vez de cada 2^n,
pero producirá una colisión (h=h' para M, M´cualesquiera) una vez de cada
2^(n/2).
Existen diversas funciones hash con longitud de 128 bits. Un atacante que
quisiese hacer un ataque necesitaría probar con 2^128 valores para obtener una
colisión débil. Pero para una colisión de cumpleaños (permítaseme llamarla de
este modo) le bastaría con probar 2^64 valores, un número grande pero al alcance
de un adversario con grandes medios a su alcance. Por eso, las funciones hash se
construyen con una longitud mayor. Funciones como MD2, MD4 y MD5 tenían longitud
de 128 bits. Ya no se usan mucho, aunque el protocolo de cifrado usado
antiguamente en los navegadores (SSL v2.0) usaba MD5 como función hash; también
se empleó en las primeras versiones de PGP.
El algoritmo hash más usado en la actualidad es el Secure Hash Standard, SHA-1.
Los amantes del ... er... intercambio creativo de archivos en Internet habrán
notado que se usa como autenticador, permitiendo detectar si un archivo ha sido
modificado. Las transacciones electrónicas por navegador usan SHA-1, así como
nuestro conocido programa de cifrado PGP. De hecho, pueden comprobarlo en este
mismo boletín [NOTA: sólo en la versión de texto, no en la html]. ¿Ven la
segunda línea, justo por debajo del "BEGIN PGP SIGNED MESSAGE"?. Si alguna vez
se preguntaron qué significaba eso de "Hash: SHA1", ahí tienen la respuesta.
SHA-1 es una modificación del SHA, y fue desarrollado por la Agencia de
Seguridad Nacional (NSA). Se supone que eso la convierte en un algoritmo muy
seguro, ya que esa gente tiene la mayor concentración de matemáticos del mundo y
lleva medio siglo largo en el negocio. Por supuesto, habrá quien piense que
seguro que han incluido alguna puerta trasera. Hay que tener en cuenta, sin
embargo, que si la NSA tiene un lógico interés en trastear con un algoritmo
usado para cifrar, le resulta poco útil diseñar un algoritmo usado para la firma
digital. A fin de cuentas, SHA-1 forma parte de un algoritmo federal de firma,
así que el gobierno de EEUU estaría tirando piedras contra su propio tejado.
Por supuesto, la comunidad científica no se ha limitado a creerse lo que la NSA
dice, y han probado todo tipo de ataques contra SHA-1. Ninguno de ellos
consiguió nada. Otras funciones como la anteriormente mencionada MD5 cayeron en
el camino, pero SHA-1 se reía de ellas.
Hasta ahora.
Lo que un grupo de criptólogos chinos han descubierto es un sistema de búsqueda
de colisiones "de cumpleaños" que permite obtener dos hash iguales para dos
mensajes con un esfuerzo menor que el de fuerza bruta. Es decir, si un algoritmo
hash perfecto de 160 bits permite obtener una "colisión de cumpleaños" con un
esfuerzo computacional equivalente a 2^80 operaciones hash, ellos pueden
encontrar dicha colisión en SHA-1 con un esfuerzo equivalente a probar 2^69
veces. También han conseguido obtener colisiones de cumpleaños en la versión
antigua, SHA, con un esfuerzo de 2^39 operaciones, lo que significa nada y
menos. Resulta curioso que en 1995, dos años de crear la función SHA, la NSA la
retiró y la sustituyó por la SHA-1, casi idéntica a la anterior salvo por
cambios muy sutiles. En su momento se negaron a explicar el porqué de dicho
cambio, pero parece que algo se olían.
Aunque un ataque de cumpleaños contra SHA-1 se ha hecho dos mil veces más
rápido, sigue siendo del orden de diez mil veces más difícil que un ataque
contra DES. Y los ataques que requieran colisiones débiles (por ejemplo,
encontrar otro mensaje con igual hash que un mensaje dado) no sufren por ello.
Es decir, nadie podrá usarlo para crear un Boletín ENIGMA con firma falsa. En la
práctica, al menos, la cosa no parece tan grave.
Sin embargo, las implicaciones son preocupantes. Existen casos en los que un
ataque de cumpleaños es posible. Para fijar conceptos, supongamos una función
hash de 64 bits. Imagínese, lector, que usted va a firmarme un documento digital
M que diga lo guapo y listo que soy. Yo redacto el documento y usted la firma.
Ahora bien, lo que no sabe es que yo he preparado un segundo documento M´ por el
que usted me cede su casa, su coche, su cuenta bancaria y su encantadora
sobrinita. Es muy poco probable que ambos documentos tengan el mismo valor de
función hash, ¿verdad?. Sin embargo, yo puedo tomar ambos documentos y crear
múltiples versiones de ambos. Los procedimientos son muchos: añadir espacios
diferentes entre palabra y palabra, añadir un punto o una coma extra aquí y
allá. De esa forma creo 2^32 variantes de M y otras 2^32 variantes de M´. Cuando
encuentre una variante de M que tenga el mismo hash que una variante de M´ (es
decir, cuando obtenga una colisión de cumpleaños), no tengo más que hacerle
firmar a usted la variante de M, en tanto que yo me guardo la variante de M'.
Como ambas tienen el mismo hash, al día siguiente cambio M por M', lo llevo a
los tribunales y lo echo de su casa. Para hacerlo con SHA-1, antes necesitaba
probar 2^80 variantes de M y M´, pero gracias a esos simpáticos chinos ahora me
basta con 2^69. Este ataque puede frustrarse si usted cambia un carácter
cualquiera antes de firmarlo, pero un firmante ignorante de este problema puede
aprovecharse impunemente.
Y lo peor es que los ataques criptoanalíticos no hacen sino mejorar. Si hoy
tenemos una colisión de cumpleaños en SHA-1 con 2^69 operaciones, ¿cómo estar
seguros de que pasado mañana, o el año que viene, no vendrá alguien con un
segundo ataque más devastador, o incluso con un ataque que utilice colisiones
débiles?. La respuesta es que no lo sabemos. Esto es como una grieta en una
presa. No importa que sea microscópica y sólo suelte una gota al día. El mero
hecho de que exista implica una brecha a todo lo grueso de la pared, y si mañana
sigue en pie eso no garantiza que siga allí pasado mañana.
Lo más curioso es que se levantó la liebre antes incluso de saber en qué
consiste el ataque criptoanalítico de Wang, Yin y Yu (que así se llaman los
chinos en cuestión). Bruce Schneier lo anunció en su blog (http://www.schiener.com/blog),
y al par de días solamente teníamos un artículo de tres páginas (fechado el 13
de Febrero), (http://theory.csail.mit.edu/~yiqun/shanote.pdf)
y que se limitaba a dar los resultados parciales. Es decir, se mostraban dos
mensajes breves con sus hash, !y ni siquiera se referían a SHA-1! Un ejemplo se
refería a SHA, el otro a una versión simplificada (no la completa) de SHA-1.
A pesar de ello, el ataque tri-chino ha sacudido a la comunidad criptográfica.
PGP ya ha anunciado que cambiará su función hash por otra más segura, y ha
sugerido variantes de longitud mayor como SHA-256 y SHA-512. En palabras de Jon
Callas, de PGP, "es hora de caminar hacia la salida anti-incendios, pero sin
correr". Las alarmas suenan y no se ve todavía el humo, pero es de sabios
levantarse ahora que hay tiempo en lugar de esperar a que tengamos un nuevo
edificio Windsor entre manos.
En España, las autoridades responsables del tan cacareado DNI digital tendrán
que afrontar este nuevo problema. El lanzamiento de dicho documento electrónico
ha sido pospuesto una y otra vez, y aunque nunca se han dado motivos sospecho
que se debe a las dificultades inherentes a esa tarea (véase p. ej. "Tarjetas no
tan inteligentes" en el Boletín ENIGMA nº 1). La Guarcia Civil, cuyos miembros
ya tienen tarjetas de identificación digital, tendrá que replantearse las cosas,
y el Ministerio de Defensa español -que prepara su propia infraestructura
de clave pública- hará bien en pensárselo dos veces.
A corto plazo, podremos apañárnoslas con algoritmos tipo SHA-256, que PGP se ha
apresurado a abrazar. Más adelante, la idea de Bruce Schiener de organizar un
concurso internacional para escoger un nuevo estándar de hash (similar al que se
organizó para jubilar al DES, y que desembocó en la elección de Rijndael como
Estandar Avanzado de Cifra, AES) parece el mejor camino a seguir.
Paradójicamente, este tropiezo puede ser beneficioso para la comunidad
criptográfica en su conjunto. Cada ataque conlleva su contraataque, y los nuevos
algoritmos hash que surjan serán más fuertes que los anteriores. También sirve
para que los criptólogos no se duerman en los laureles pensando que ya está
hecho todo. Muy por el contrario, la lucha entre cifra y contracifra sigue tan
en boga como en tiempos de las ciudades-estado italianas. Martin Gardner, el
mítico columnista de la revista Investigación y Ciencia, no podía haberse
equivocado más cuando escribió en 1977 lo que sigue:
"Los computadores y la teoría de complejidad están llevando a la criptografía a
una etapa excitante, que quizás adquiera tintes tristes. Repartidos por todo el
mundo se encuentran hombres y mujeres de gran inteligencia, algunos de ellos
geniales, que han dedicado sus vidas al dominio del análisis criptográfico
moderno. A partir de la Segunda Guerra Mundial, incluso aquellas claves
gubernamentales y militares que no son de uso único se han hecho tan difíciles
de descifrar que el talento de estos expertos va siendo cada vez menos útil.
Estas personas se encuentran ahora encima de trampillas a punto de abrirse y
sumirlos en las profundidades del olvido."
Esto escribió en 1977, poco después de la presentación en sociedad del algoritmo
de clave pública RSA. Pues lamento contradecirle, maestro Gardner, pero esas
trampillas llevan tres décadas sin abrirse. Y, a juicio de lo que vemos, todavía
tardaremos mucho en verlo. Las profundidades del olvido siguen esperando.
CRIPTOGRAFÍA HISTÓRICA - La identificación de rotores Enigma
Cuando se están estudiando las idas y venidas de las diversas máquinas Enigma
por la historia, uno de los elementos clave es la correcta identificación de los
rotores. Ha habido diversos tipos de Enigmas (de la versión comercial a la
naval, pasando por la de la Abwehr, la Tirpitz, ...), y en diversas ocasiones
los rotores fueron recableados. Identificar correctamente un rotor nos da
bastantes pistas para identificar correctamente la máquina en sí. Para un
ejemplo, el lector puede recordar el artículo "A-1216, la Enigma española", en
el Boletín ENIGMA nº 29.
Sin embargo, identificar un rotor no es tarea fácil. El aspecto exterior ayuda
sólo en parte. Desde un punto de vista criptográfico, lo que identifica a los
rotores son dos elementos fundamentales. En primer lugar, tenemos el mecanismo
de acarreo. Como recordarán de anteriores
boletines, los rotores Enigma se comportan como los cuentakilómetros de los
coches: cada vez que un rotor da una vuelta completa, el rotor situado a su
izquierda se mueve una posición. En los cuentakilómetros, esto sucede cuando el
"rotor" pasa del 9 al 0, pero en los rotores Enigma no siempre sucede así. El
acarreo no sucede necesariamente cuando el rotor pasa de la letra Z a la A, sino
que depende de dónde se sitúe la muesca hecha al efecto. El lugar donde está
situada dicha muesca ("notch") es, por tanto, un elemento importante del rotor.
De hecho, algunos modelos de rotor tienen más de una muesca -es decir, el rotor
no ha de dar una vuelta completa para que el que tiene a su izquierda se mueva-,
de forma que hay que indicarlos todos.
También se suele indicar la posición de ventana ("window"), que es el valor de
la letra que aparece en la ventana correspondiente cuando el mecanismo de
acarreo está engarzado. En el caso del cuentakilómetros, un "rotor" gira cuando
el anterior pasa de 9 a 0, así que la posición de ventana es 9.
Con los datos de punto de acarreo y posición de ventana (notch y window, en
inglés), falta el segundo elemento que caracteriza al rotor. Ese no es otro que
el cableado interno. Y es de lejos el más importante. Saber cómo salen los
impulsos eléctricos es crucial, y viene dado matemáticamente por una
permutación. Supongamos que tenemos el rotor sujeto por nuestros dedos como si
lo acabásemos de sacar de la máquina. La cara de la derecha (el lugar desde
donde viene la señal eléctrica) tiene 26 contactos de entrada, que están
conectados a los 26 puntos de salida que están por la cara de la izquierda.
Imaginemos que los contactos de la cara de la derecha los rotulamos en orden
alfabético: A,B,C ... comenzando por el contacto que se encuentra en la parte
superior (en la posición de las doce en punto, si el rotor fuese un reloj) y
avanzando en el sentido de las agujas del reloj. Los contactos de la cara
derecha llevarán el mismo nombre que los de la cara izquierda. En realidad, la
rotulación puede ser literal, ya que viene escrita en el anillo exterior del
rotor. En el caso de una permutación trivial, el contacto A de la cara derecha
(entrada) estaría conectado al contacto A de la cara izquierda (salida), el B
con el B, y así sucesivamente. Por supuesto, no es esto lo que un rotor se
supone que hace.
Tomemos como ejemplo el rotor I de la máquina Enigma A-1216 que describí en el
boletín 29. Para hacer la permutación, me limité a tomar un multímetro digital.
Puse un cable del multímetro en la posición A de la cara de entrada, y fui
recorriendo todos los contactos de la cara de salida. Resultó que en el contacto
C de la cara de salida, el circuito se cerraba y el multímetro daba señal, lo
que indicaba que la A setransforma en la C. Así, probando uno por uno, obtuve la
siguiente permutación:
Entrada: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Salida: CIAHFQOYBXNUWJLVGEMSZKPDTR
Sin embargo, si intento comparar el cableado de este rotor con el de los demás
rotores Enigma conocido, el resultado será por lo general un estrepitoso
fracaso. Hay que tener en cuenta dos detalles. El primero es que la "entrada" no
siempre es ABCDEF... El motivo es el siguiente. Cuando se aprieta una tecla en
el teclado, la señal entra en un "cilindro de entrada" antes de pasar al sistema
de rotores. Dicho cilindro puede aprovecharse para mezclar más la señal, pero no
se hizo. Lo que los alemanes hicieron es conectar los cables que iban del
teclado al cilindro de forma sencilla. En los modelos militares se limitaron a
conectar el cable que venía de la tecla A del teclado a la posición "de las doce
en punto" del cilindro de entrada, y luego fueron conectando los cables al
cilindro en el orden alfabético: B,C,D... de forma que marcar los contactos de
la cara derecha del rotor como A,B,C... (como les dije hace un momento) es,
sencillamente, seguir el orden en que las señales eléctricas entran en el
sistema de rotores.
Sin embargo, en algunos modelos de Enigma (como los comerciales), el orden del
cableado era el mismo que el del teclado. Es decir, los cables provenientes del
teclado se conectaban al cilindro de entrada en el orden del teclado alemán de
la época: QWERTZUI.. (el que tiene usted en su ordenador es el clásico
QWERTYUIOP, ligeramente diferente). De modo que en ocasiones se rotulaba el
alfabeto de entrada al rotor como QWERT..., lo que conlleva una permutación
escrita de forma diferente. Esto puede conllevar un problema si nos ponemos a
criptoanalizar el sistema. En lo que nos ocupa, es sencillamente un detalle que
hay que tener en cuenta. Vamos a suponer por convención que el orden de las
señales al entrar al cilindro de entrada (lo que Dilly Knox llamaba "el QWERTZU
de la máquina" lo supondremos como ABCDE... Por cierto, se cuenta que, cuando
Dilly Know fue informado por el grupo de polacos de Rejewski de que el "qwertzu"
de la Enigma militar era el alfabético, éste pilló un enfado de padre y muy
señor mío. En su interior, se sintió estafado, ya que creía que los alemanes no
serían tan bobos.
Un segundo detalle, más escabroso, viene dado por la propia naturaleza del
rotor. Recordemos que cada rotor Enigma consta de un anillo exterior, que
contiene la muesca de acarreo (o muescas, si hay más que una) y las letras que
aparecen en la ventanita exterior; luego tenemos el núcleo interno, que contiene
el cableado interno. El anillo puede girar respecto al núcleo. Y ahí está el
problema. Cuando medí la permutación del rotor, el anillo guardaba una cierta
relación con el núcleo. Pero imaginemos que alguien cambiase la posición
relativa del núcleo respecto al anillo. En ese caso, el contacto rotulado por la
A del anillo exterior no es el mismo que antes.
Dicho de otro modo, el resultado de la permutación depende de la posición del
núcleo respecto del anillo, lo que los ingleses denominaban "ring settings" y
los alemanes "ringstellung". Para indicar el ringstellung, se fijaba uno en una
pequeña marca blanca inscrita en la cara del rotor. Cuando ese punto se hallaba
bajo la letra F del anillo, se hablaba de "ringstellung F". Los criptoanalistas
suelen usar la convención de dar la permutación del rotor cuando el núcleo está
en la posición "neutra" A del ringstellung. Es decir, nos limitaremos a poner
esa marca blanca bajo la letra A del anillo, y entonces medimos.
Eso es lo que yo hice para obtener la permutación que han visto ustedes antes.
Siempre que se da un cableado ("wiring") de rotor Enigma, se presupone que el
ringstellung es el neutral, esto es, A, a menos que se indique lo contrario.
Pero no siempre se conoce ese ringstellung. Recordemos que los criptoanalistas
británicos o norteamericanos no siempre tenían acceso a los rotores alemanes. A
veces capturaban algunos, pero en otras ocasiones los deducían matemáticamente.
Es el caso de los rotores usados las máquinas Enigma españolas durante la
Segunda Guerra Mundial. Bletchley Park obtuvo los cableados con facilidad, pero
claro, no podían llamar a Madrid y preguntar "disculpe, generalísimo, pero ¿le
importaría preguntarle a su servicio de cifra cuál es el ringstellung neutral
que utilizan?"
Imagínense, por ejemplo, que yo hubiese obtenido el cableado del rotor en
cuestión, pero con el núcleo en una posición de ringstellung B en lugar de A.
Esto es lo que habría salido:
Entrada:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Salida (A): CIAHFQOYBXNUWJLVGEMSZKPDTR
Salida (B): HZGEPNXAWMTVIKUFDLRYJOCSQB
Como ven, el cableado A y el B se parecen entre sí como un huevo y una castaña.
Para evitar este problema, se inventaron diversos trucos. Se trata de obtener
algún invariante, esto es, una propiedad que no dependa de cuál es el
ringstellung que pongamos. Uno de ellos, propuesto por Alan Turing, ha sido
adoptado en la actualidad por muchos historiadores. Fíjense en las líneas del
cableado que hemos obtenido con los ringstellung A y B:
CIAHFQOYBXNUWJLVGEMSZKPDTR
HZGEPNXAWMTVIKUFDLRYJOCSQB
La primer letra de la fila superior (C) se relaciona con la H, que está justo
por debajo de ella. A continuación buscamos la H en la fila superior, y vemos
que debajo tiene una E. Tomamos la E que hay en la fila superior, y obtenemos la
correspondiente letra de la fila inferior, la L. De este modo vamos creando una
concatenación de letras:
C->H->E->L->U->V->F->P->C->...
es decir, obtenemos un ciclo cerrado de 8 letras: CHELUVFP. Las demás letras
formarán otro, o más de otro, ciclo cerrado. Pueden comprobar que se obtiene lo
que sigue:
I->Z->J->K->O->X->M->R->B->W
A->G->D->S->Y
Q->N->T
En este caso, hemos obtenido cuatro ciclos con 8, 10, 3 y 5 elementos. ¿Qué
habría pasado si hubiésemos tomado otros valores del ringstellung adyacentes? Es
decir, si nos hubiésemos basado en los ringstellung H e Y, por ejemplo, ¿qué
habríamos obtenido? Pues una concatenación similar: las letras serían distintas,
pero volveríamos a obtener cuatro ciclos de 8, 10, 3 y 5 elementos.
Es decir, el tamaño de esos ciclos (3,5,8,10, si los ponemos en orden) es algo
que no depende de qué pareja de ringstellungs adyacentes hayamos tomado. Esto es
lo que Turing llamó "clase" del rotor. No depende del "qwerzu". Es decir, si
sustituyésemos las letras A,B,C,D,E... por Q,W,E,R,T..., la clase sería igual.
No depende del ringstellung que tomemos, porque siempre que tomemos una posición
de ringstellung y la siguiente obtendremos ciclos del mismo tamaño. Ni siquiera
depende de la orientación del rotor. Es decir, si yo hubiese tomado el rotor al
revés (con las caras cambiadas), tampoco habría variado el resultado.
Apuesto a que a estas alturas el hábil lector se estará preguntando cómo un
criptoanalista puede conocer dos ringstellung distintos. Conocer uno ya es
difícil, pero dos... Bueno, en realidad hay una manera fácil de construir el
ringstellung adyacente. Vean de nuevo los dos cableados que hemos obtenido:
Cableado (ringstellung A):
CIAHFQOYBXNUWJLVGEMSZKPDTR
Cableado (ringstellung B): HZGEPNXAWMTVIKUFDLRYJOCSQB
Yo solamente medí directamente el cableado A. Para obtener el B, solamente
tenemos que seguir las diagonales. Vean la letra I en la fila superior, segunda
columna. Si se fijan, la letra que hay justo por debajo y a la izquierda de ella
es la H. En la quinta columna de la fila superior tenemos la F; en la cuarta
columna de la fila inferior tenemos la E. Es decir, la letra que hay debajo y a
la izquierda de una letra dada es la anterior en el orden alfabético. De modo
que para obtener un ringstellung hay que ir recorriendo el orden alfabético
inverso por diagonales.
Vamos a probarlo para obtener el cableado en la posición de ringstellung C.
Partamos de la primera fila, tercera columna, donde hay una A. En la segunda
columna de la segunda fila tenemos la letra anterior en el orden alfabético.
Vale, la A es la primera letra del alfabeto. Pero para nuestros efectos,
supondremos un orden cíclico, así que la letra "anterior" a la A será la Z. De
modo que ¿cuál letra será la que va en la primera columna de la siguiente fila?
Pues la anterior a la Z, es decir, la Y.
A ver si así se ve mejor:
Cableado (ringstellung A): ciAhqf...
Cableado (ringstellung B): hZgepn...
Cableado (ringstellung C): Y
Así podríamos seguir, y obtendríamos el siguiente cableado para el ringstellung
C:
Cableado (ringstellung A):
CIAHFQOYBXNUWJLVGEMSZKPDTR
Cableado (ringstellung B): HZGEPNXAWMTVIKUFDLRYJOCSQB
Cableado (ringstellung C): YFDOMWZVLSUHJTECKQXINBRPAG
Y así podríamos reconstruir todos los cableados en cada una de las posibles
posiciones del anillo exterior (ringstellung). Aparte de la utilidad que esto
pueda tener en otros casos, lo necesitamos aquí porque tenemos un pequeño
problema. Que la clase del rotor sea un invariante no significa que no pueda
haber otro rotor con la misma clase pero distinto cableado. De hecho, hay al
menos seis rotores distintos con la clase (2,24). Se precisa, por tanto, obtener
más datos para comprobar si esos rotores son realmente diferentes o no.
Para ello, se hace una segunda clase. Se obtiene como hemos hecho antes, pero
con la particularidad de que ahora tomamos un ringstellung y uno que se halle a
dos posiciones de distancia. Es decir, tomamos cableados con ringstellung A y C
(o con B y D, o con G e I...):
Cableado (ringstellung A):
CIAHFQOYBXNUWJLVGEMSZKPDTR
Cableado (ringstellung C): YFDOMWZVLSUHJTECKQXINBRPAG
Y volvemos a la historia de antes: C->Y->V->C, etc. etc. De ese modo, tenemos
una segunda clase: 3,5,5,13. Ahora podemos caracterizar los rotores por dos
clases. Por ejemplo, el rotor III del modelo Abwehr tiene las clases 1 (2,24) y
2 (2,2,6,16). Si echamos mano de todos los rotores conocidos, comprobaremos que
ninguno de ellos tiene las dos clases idénticas. Por supuesto, puede darse el
caso de que dos rotores tengan las mismas clases 1 y 2, lo que nos obligaría a
echar mano de una tercera clase. Pero sería muuucha casualidad, y no me consta
que haya sucedido nunca. De modo que tomaremos las clases 1 y 2 como "huella
dactilar" identificativa de un rotor. Así podremos despreocuparnos de si el
ringstellung es A o H, de si el rotor está al derecho o al revés (parece una
chorrada, pero en un documento que encontré sobre la Enigma comercial se usa un
convenio tal para representar el cableado que parece como si la hubiesen
sujetado al revés), etc.
Este método puede darnos sorpresas si lo usamos para los reflectores. Recordad
que el reflector se sitúa a la izquierda del sistema, y "refleja" las señales de
modo recíproco: si la A la convierte en la P, también convertirá la P en la A.
Esto hace que, si intentamos calcular la clase 1 de un rotor, nos salga algo muy
divertido. Veamos, por ejemplo, el reflector de la Enigma A-1216 del Museo
Militar de Madrid de la que ya hemos hablado:
Entrada: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Salida: IMETCGFRAYSWBZXWLHKDVUPOJN
Los ciclos que obtenemos son todos de dos elementos. Tomen cualquier letra de la
fila superior, por ejemplo la P. La fila inferior es la W. Pero si tomamos W en
la fila superior, obtendremos P en la fila inferior. Es decir, el método de las
clases nos dará una clase del tipo (2,2,2,2,2,2,2,2,2,2,2,2,2) para cualquier
rotor. ¿Y si tomamos la clase segunda? Da igual que sea la segunda, o la décima,
siempre sale lo mismo.
Para evitarlo se hace una pequeña modificación al modo en que se construyen las
clases. Comenzamos como siempre: partimos de la primera letra de entrada (A) y
vemos que obtenemos la I. Bien, pues lo que hacemos es no poner la I, sino la
letra inmediatamente anterior en el alfabeto, la H. A continuación, buscamos la
H en la fila superior, obtenemos la R en la fila inferior y la "transformamos"
en la Q (anterior a la R en el orden alfabético). La Q en la fila superior nos
da la L en la fila inferior, que se "convierte" en K; la K nos da la S, que
convertimos en R, y así sucesivamente. Compruebe el lector que obtenemos el
siguiente esquema de ciclos:
A->H->Q->K->R->G->E->B->L->P->V->T->C->D->S->J->X->N->Y->Z->M->F
Z->M
O->W
U
con lo que la clase 1 sería (1,2,2,22)
A estas alturas, puede que le hayan pasado dos cosas, estimado lector. O bien
está usted harto y desea como loco que acabe este maldito artículo, o bien se le
llevan los demonios por intentar obtener las clases de más rotores y
reflectores. En el primer caso es poco lo que yo puedo hacer, salvo recomerdarle
que cierre el ordenador, se tome una cerveza bien fresquita en el bar de
enfrente y se relaje un poco. En el segundo, voy a darle alpiste para reventar.
El Museo Camazón alberga desde hace algún tiempo una lista con todos los
cableados de rotor conocidos. Se incluyen las clases 1 y 2 para ellos, así como
los datos de posición y muesca que hemos mencionado en este artículo. Esta
compilación la hice yo para poder reconocer los rotores nuevos que fuesen
apareciendo por ahí. Modestia aparte, es algo inédito por dos motivos: aparecen
en juntos todos los datos de todos los rotores y reflectores conocidos (hasta
ahora sólo había compilaciones parciales), y aparecen datos de rotores poco
conocidos hasta ahora, cuando no completamente ignorados (como los
correspondientes a los rotores Sparma y SNA que usaron los agregados militares y
navales españoles en Berlín y Roma durante la Segunda Guerra Mundial).
Esta lista, recientemente actualizada, está accesible en:
http://www.cripto.es/museo/rotor.htm y puede usarse libremente
sin más que citar autor y procedencia. Por supuesto, este que firma agradecerá
cualquier nueva información adicional, comentarios, correcciones, etc.
¿Y qué pasa con los rotores de la máquina A-1216? Sus clases 1 y 2 coinciden con
los de la máquina que los anglosajones denominaron "SNA" (Spanish Naval Attaché),
usada por los asesores navales de Franco en las embajadas de Berlín y Roma. No
significa que sean la misma máquina, pero sí que son del mismo tipo. A su vez,
los rotores de la máquina SNA(denominadas Green, Red y Blue, y que se
corresponden respectivamente a los rotores I, II y III de la Enigma A-1216) son
compatibles con el modelo denominado "Enigma K". Esto nos permite confirmar la
hipótesis de que las Enigma franquistas eran del modelo K. Por desgracia, no
cuento con el cableado ni con la clase 2 de dicho modelo (solamente se conoce la
clase 1 de dichos rotores, gracias al tratado sobre la Enigma de Turnig), pero
creo que vamos sobre la pista.
En cuanto al reflector, sus clases son (1,1,2,22) y (1,6,9), que coinciden con
los del modelo comercial D y los de dos variantes "internacionales" usadas por
italianos y suizos. Curiosamente, italianos y suizos recablearon los rotores de
sus Enigmas, pero no se molestaron mucho con los rotores. Pero extrañamente, las
clases del rotor A-1216 no es igual al de la Enigma K. ¿Acaso Turing nos dio
unos valores equivocados para la clase del reflector de la Enigma K? ¿Tomaron
los criptólogos franquistas rotores de Enigma K y reflectores de Enigma
comercial?. Jolines, qué lío. !Que alguien me traiga una Enigma K, por favor!
NUESTRA HISTORIA - Los códigos de Garbo, agente doble (III)
En el último artículo sobre Garbo (Boletín ENIGMA nº 29)
dejamos pendiente un ejercicio. Se trataba de cifrar el siguiente mensaje:
"El que de vos vive ausente, dulcísima Dulcinea, a mayores miserias que éstas
está sujeto"
suponiendo que nos encontramos a 25 de Diciembre.
Lo primero que tenemos que hacer es cifrar las letras usando la siguiente tabla
de sustitución:
U V W X Y
N L A C O N L
G F I Z E G F
H B R T D H B
S J M P Q S J
Y U V W X Y U
L A C O N
El método es ir cifrando según las agujas del reloj.
Es decir: la primera letra del texto llano se sustituye por la que se encuentra
encima suya en la tabla; la segunda letra se cambia por la que hay a su derecha;
la tercera, por la que hay abajo; la cuarta, por la que hay a su izquierda; la
quinta se deja como está; la sexta se cifra como la primera, y así
sucesivamente.
El lector avezado se habrá dado cuenta de que esto es un sistema de sustitución
polialfabética, donde se usan los siguientes cinco alfabetos:
Texto llano: a b c d e f g h i j l m n o p q r s t u v w x y z
Alfabeto 1: V F W E O L N G A B U R Y X T D I H Z J M P Q S C
Alfabeto 2: C R O H G I F B Z M A P L N Q S T J D V W X Y U E
Alfabeto 3: I J Z Q D B H S R U F V G E W X M Y P L A C O N T
Alfabeto 4: L H A T Z G E D F S N J O C M P B Q R Y U V W X I
Alfabeto 5: A B C D E F G H I J L M N O P Q R S T U V W X Y Z
Como curiosidad, nótese que los alfabetos 1 y 3 son
recíprocos: si el alfabeto 1 convierte la A en una V, el alfabeto 3 convierte la
V en una A. Esto es lógico si tenemos en cuenta el modo de construir los
alfabetos, ya que si en el cuadro la V encima de la A, claramente la A está
debajo de la V. Idénticas consideraciones pueden hacerse con los alfabetos 2 y
4.
Con estos alfabetos, vamos a efectuar el primer paso. Cifremos el mensaje con
estos alfabetos (dividiendo el mensaje en bloques de cinco letras por pura y
simple comodidad), añadiendo al final las x que sean necesarias:
Alfabeto: 12345 12345 12345 12345 12345 12345 12345 12345 12345
Texto: elque devos vivea usent edulc isima dulci neaam
ayore
Resultado: OAXYE EGACS MZAZA JJDOT OHLGC AJRJA EVFAI YGILM VUEBE
Alfabeto: 12345 12345 12345 12345 12345 12345
Texto: smise riasq ueest asest asuje toxxx
Resultado: HPRQE IZIQQ JGDQT VJDQT VJLSE ZNOWX
Ya que estamos en ello, vea el lector que las tres
últimas letras cifradas (OWX) son el resultado de cifrar la misma letra (x) con
tres alfabetos distintos. Si el enemigo compara diversos mensajes, se dará
cuenta de que los finales son muy similares, acabando en X, en WX, en OWX o en
YONX, lo que le daría una pista sobre una parte pequeña de los alfabetos.
También sabría localizar una x en el texto fácilmente; por eso se rellena al
final con letras x y no con otras de uso más frecuente.
Por supuesto, eso sería si ya hubiésemos terminado de cifrar. Pero no hemos
hecho más que calentar. Ahora hemos de escribir el resultado en un conjunto de
31 columnas. Dichas columnas estaban numeradas de cierta manera, y había que
comenzar a escribir por la columna cuyo número era igual al día del mes. Dijimos
que estábamos a día 25, así que obtenemos esto:
1 2 1 1 1 2 3 2
1 1 2 1 1 2 2 2 1 2 2 2 3 1
6 1 7 3 9 2 4 2 0 1 3 8 1 9 7 3 4 6 5 0 7 2 5 1 8 4 9 6 0 5 8
O A X Y E E G A C
S M Z A Z A J J D O T O H L G C A J R J A E V F A I Y G I L M
V U E B E H P R Q E I Z I Q Q J G D Q T V J D Q T V J L S E Z
N O W X
Ahora leeremos columna por columna, siguiendo su orden
numérico:
Columna: 1 2 3 4 5 6
7 8 9 10 11 12 13 14 15 16 17 18
Texto: MUO JR TI YIV ALE JD ZEW OZ LQ JT AFQ AH CJ JP RQ SVN GQ CMZ
Columna: 19 20 21 22 23 24 25 26 27 28 29 3
0 31
Texto: ZE DQ HI EJ ABX AG OVD EGL AV XAT EYJ GIS OE
Siguiente paso: volver a ordenar por filas y a leer
por columnas. En esta ocasión, comenzamos a escribir bajo la columna
correspodiente al mes de Diciembre, es decir, la número 12:
1 2 1 1 1 2 3 2
1 1 2 1 1 2 2 2 1 2 2 2 3 1
6 1 7 3 9 2 4 2 0 1 3 8 1 9 7 3 4 6 5 0 7 2 5 1 8 4 9 6 0 5 8
M U O J R T I Y I V A L E
J D Z E W O Z L Q J T A F
Q A H C J J P R Q S V N G Q C M Z Z E D Q H I E J A B X A G O
V D E G L A V X A T E Y J G I S O E
Finalmente, volvemos a escribir por columnas y
obtenemos el texto cifrado:
ADORX TVELA AGEZE HEINY IQGDD OEMJA AMSUP VJEQV VCIFO JLJQA
YGJEH CGLZO WIJXZ QZJQB TARST
El sistema es algo complicado, así que no os sorprenda
si no os sale lo mismo. De hecho, yo mismo cometí un error al intentarlo por
primera vez. El único que dio la respuesta correcta (bueno, salvo por un pequeño
fallo) fue Oscar S.M., quedando en segunda posición Ezequiel Gerrero, quien se
quedó a la mitad del proceso. Cuando uno lo intenta es cuando empieza a tomarle
respeto de verdad a los usuarios de este sistema. Imagínense a un espía
añadiendo a sus misiones la penosa tarea de cifrar y descifrar correctamente,
sin errores. El entrenamiento que debían recibir no dejaba lugar para el error.
Por cierto, Oscar se ayudó de una hoja de cálculo Excel. ¿Alguien se atreve a
redactar un programa de ordenador para cifrar y descifrar mensajes con el método
de Garbo? Vamos, dénse prisa, el almirante Canaris no espera.
LIBERTAD VIGILADA - UKUSA, el pacto definitivo
[Extraído del libro "Libertad Vigilada", de Nacho García Mostazo, con permiso
del autor]
Primera parte, capítulo 5:
En mayo de 1943, la cooperación entre norteamericanos y británicos en materia de
interceptación de señales e inteligencia estaba completamente afianzada, hasta
el punto de que trabajaban ya como un mismo equipo, al que en esa fecha se unió
también Canadá. De inmediato, las salas de seguimiento de submarinos ("U-Boot
Tracking-Rooms") de Londres, Washington y Ottawa empezaron a operar como parte
de una misma organización. Poco después, el pacto verbal se convirtió en un
primer documento, el acuerdo BRUSA-SIGINT, que supuso el inmediato intercambio
oficial de personal entre los firmantes, el Reino Unido y Estados Unidos, aunque
ya llevaban más de dos años trabajando juntos de manera oficiosa. Aquel acuerdo,
según Christopher Andrew, se resume al inicio del documento: "Tiene por objeto
el intercambio de toda información relativa al descubrimiento, identificación e
interceptación de señales, así como el desciframiento de los códigos y claves."
[1]
Oficialmente, la Segunda Guerra Mundial terminó en Europa el 7 de mayo de 1945,
con la firma de la rendición alemana. Sin embargo, la guerra del Pacífico aún
tardaría varios meses en finalizar. Según se recoge en el informe definitivo de
la Comisión Echelon del Parlamento Europeo, "la iniciativa de la continuación de
la Alianza Sigint partió básicamente del Reino Unido. Las bases para ello se
acordaron en una gira mundial realizada en la primavera de 1945 por los miembros
británicos del servicio de inteligencia [...]. Uno de los objetivos era enviar
personal europeo al Pacífico para la guerra con Japón. En este contexto, se
acordó con Australia poner recursos y personal británicos a disposición de los
servicios australianos." Los responsables de la inteligencia británica visitaron
también Nueva Zelanda, Canadá y, por supuesto, Estados Unidos, donde plantearon
la posibilidad de perpetuar el acuerdo en interés del bienestar mutuo de los
firmantes. [2]
Japón anunció su rendición el 14 de agosto de 1945. La Segunda Guerra Mundial
había terminado definitivamente. Pero no había pasado ni un mes de la victoria
de los Aliados cuando el presidente norteamericano, Harry Truman, firmó un
memorando secreto que fue remitido a los secretarios (ministros) de Estado, de
la Guerra y de la Marina, con órdenes expresas para transmitírselo al director
de personal del Ejército de Estados Unidos y al director de operaciones navales.
El documento lleva fecha de 12 de septiembre de 1945. Según el autor
norteamericano Bradley F. Smith, Truman autorizaba a "proseguir la colaboración
en el ámbito de la inteligencia de las comunicaciones entre el Ejército y la
Armada de EE.UU., y los británicos, y a ampliar, modificar o interrumpir esta
colaboración en interés de Estados Unidos". [3]
Este documento confidencial es esencial para la materia que aquí nos ocupa, ya
que puso los cimientos de la alianza anglo-norteamericana en cuestiones de
inteligencia de señales hasta la actualidad. Según el eurodiputado Gerhard
Schmid, "en febrero y marzo de 1946 se celebró, con el mayor secreto, una
conferencia SIGINT anglo-norteamericana para negociar los detalles. Los
británicos recibieron autorización de los
canadienses y los australianos. El resultado de la conferencia fue un documento,
aún clasificado, de unas 25 páginas, con los pormenores de un acuerdo SIGINT
entre EE.UU. y la Commonwealth británica. En los dos años siguientes se
produjeron otras negociaciones que desembocarían en la firma del texto
definitivo del llamado acuerdo UKUSA en junio de 1948". [4]
EE.UU. y el Reino Unido eran los miembros principales del tratado, al que
también se unieron Canadá, Australia y Nueva Zelanda por mediación de los
británicos, que consideraban de capital importancia contar con estos otros tres
miembros de la Commonwealth para cubrir todo el globo terráqueo. Canadá era
esencial en el pacto, al ostentar la soberanía sobre Terranova, lugar donde
emergen buena parte de los cables submarinos de telecomunicaciones que unen el
norte de América con Europa. Obtener información de aquellos cables sería
esencial para los Aliados. Por su parte, Australia y Nueva Zelanda controlarían
el área del Pacífico sur, una zona a la que no llegaban los sensores
norteamericanos y apenas estaba cubierta por los británicos desde su estación de
espionaje en Hong Kong. Además, la geografía australiana
convertía a este país en un enclave perfecto para instalar grandes antenas de
interceptación, al estar prácticamente deshabitado en el interior.
Poco después, la Escuela Gubernamental de Códigos británica de Bletchley Park
"fue cerrada y los miles de hombres y mujeres que habían contribuido a la
creación de la 'Inteligencia Ultra' fueron dispersados. Las 'bombas' de Alan
Turing fueron desmanteladas y todo pedazo de papel relacionado con los
desciframientos de la época de la guerra fue guardado bajo llave o quemado. Las
actividades de criptoanálisis británicas fueron transferidas a la recién fundada
Government Communications Headquarters (GCHQ) de Londres, que fue trasladada a
Cheltenham en 1952, según explica Simon Singh. En la misma fecha, Estados Unidos
fundó la National Security Agency (NSA). El cuartel general se instaló en Fort
George Meade, en Maryland, entre Baltimore y Washington. Desde sus inicios, la
NSA tuvo a su cargo los sistemas de información y comunicación estadounidenses,
pero también se le asignó la tarea de reunir informaciones del extranjero y de
analizarlas, haciéndose con el mando de la sección Sigint. Hasta entonces, tanto
la Marina como la Fuerza Aérea habían contado con sus propios departamentos de
inteligencia de señales y, en realidad, no se deshacían de ellos, sino que los
integraban bajo el mando unificado de la NSA. [5]
Asimismo, Estados Unidos y el Reino Unido nombraron a un grupo de oficiales para
que trabajaran en los cuarteles generales de sus aliados, según explica Duncan
Campbell. Así, los norteamericanos enviaron a Londres y Cheltenham un equipo de
oficiales de enlace (SUSLO, Special US Liaison Office), mientras que los
británicos enviaron a sus hombres a Fort George Meade (SUKLO, Special United
Kingdom Laison Office). [6]
[1]. Christopher Andrew, "The making of the Anglo-American SIGINT Alliance". Op.
cit.
[2]. Gerhard Schmid (ponente). Op. cit.
[3]. Bradley F. Smith, "The Ultra-magic Deals and the Most Secret Special
Relationship". Ed. Novato. Presidio, California, 1993. Citado por Gerhard Schmid
(ponente). Op. cit.
[4]. Gerhard Schmid (ponente). Op. cit.
[5]. Simon Singh, "Los Códigos Secretos". Op. cit.
[6]. Duncan Campbell, "Inside Echelon, the history, structure and function of
the global surveillance system known as Echelon". Op. cit.
El
boletín ENIGMA es una publicación gratuita del Taller de Criptografía, y se rige
por las normas de la licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual.
Se permite su libre copia, distribución y comunicación para fines no lucrativos,
citando nombre y referencia.
Para más información, véase la licencia Creative Commons en sus formas reducida
y completa:
http://www.cripto.es/licencia/deed.es.htm
http://creativecommons.org/licenses/by-nc-sa/2.5/es/legalcode.es
PARA DARSE DE ALTA: envíe un mensaje a la dirección alta arroba cripto.es
añadiendo las palabras alta_enigma en el asunto (subject).
PARA DARSE DE BAJA, envíe un mensaje a la dirección baja arroba cripto.es
añadiendo las palabras baja_enigma en el asunto (subject)
Para comentarios a este boletín (dudas, preguntas, consultas, críticas,
noticias, colaboraciones, etc.), estoy a su disposición en la dirección
noticias arroba cripto.es
Página del Boletín Enigma (incluyendo números atrasados):
http://www.cripto.es/enigma.htm
(c) Arturo Quirantes 2007
Vuelta a la Página principal del Boletín ENIGMA