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


EDITORIAL

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
 


 

EDITORIAL


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