Boletín ENIGMA - nº 68
1 de Mayo de 2009
Boletín del Taller de Criptografía
de Arturo Quirantes Sierra
Dirección original: http://www.cripto.es/enigma/boletin_enigma_68.htm
TEMAS DE ACTUALIDAD - De todo un poco, sección primaveral
CRIPTOGRAFÍA HISTÓRICA - El funcionamiento de la bomba polaca
CRIPTOGRAFÍA HISTÓRICA - Enigma A: la
conexión argentina
Hace unos días recibí un par de e-mails de un coleguilla de Internet (llamémosle
X), persona seria y responsable, que sabe un montón sobre seguridad informática
y criptografía. Me incluía un adjunto con información confidencial, que no debe
hacerse pública todavía, y el mensaje venía firmado digitalmente con GnuPG. Todo
correcto y bien hecho. Salvo por un pequeño detalle: yo no era el destinatario.
Seleccionó mi nombre por error de su agenda de direcciones.
Poco puede reprochársele. Yo mismo envié al menos un ejemplar de este vuestro
Boletín poniendo los nombres de los destinatarios en el campo Copia en lugar de
en el Copia Oculta. En otra ocasión, mi base de datos de destinatarios se fue al
garete, y más de una persona recibió copia del Boletín sin estar suscrito. Uno
de ellos me puso verde por enviarle correo no solicitado, y la verdad es que no
puedo culparle.
¿Somos X y yo unos zotes en seguridad informática? Espero que no, al menos por
la parte que a mí me toca. Pero ilustra perfectamente la visión que tenemos de
la seguridad informática como una cadena, donde la ruptura se efectúa por el
eslabón más débil. Sistemas, algoritmos, cifras y claves son inútiles en la
práctica si la gente escoge claves fáciles y predecibles, o sencillamente si los
humanos que nos encontramos al lado del teclado pulsamos la tecla equivocada.
Para ilustrar este problema, hemos seleccionado algunos fallos de seguridad
relacionados con criptografía pero que no tienen que ver precisamente con
criptoanálisis. Luego saltaremos a los años treinta, donde un grupo de
esforzados matemáticos polacos inventaron una máquina para reventar las claves
Enigma, para lo cual aprovecharon sutiles pero letales fallos de uso por parte
de los operadores alemanes. El artículo es largo y algo árido, pero creo que muy
ilustrativo. En próximas entregas, nos lanzaremos a estudiar la Bomba inglesa,
que esa es para nota, y después de eso comprenderemos por qué el parecido entre
las bombas polaca y anglosajona acaba en el nombre.
Cuando acabéis con él, os espera una primicia: un corresponsal argentino nos
habla de las Enigmas compradas por el ejército argentino, incluída una del
modelo A, la primera de todas. Tengo algunas fotografías estupendas, que por
desgracia no puedo incluir en el Taller ahora, pero estarán disponibles para el
próximo boletín, o antes aún. Prometido.
Hablando de fotos, gracias a los que me enviaron fotos de la Bomba, en respuesta
a mi petición del mes pasado. Pronto irán al Taller. Pero os animo a que enviéis
más, especialmente las hechas por vosotros. Así iremos enriqueciendo más la Web.
Y, por descontado, muchas gracias a todos los que me escribieron con motivo de
mi reciente operación.
TEMAS DE ACTUALIDAD - De todo un poco, sección primaveral
Si
no quieres que el enemigo lea tus mensajes, no te dejes la contraseña encima del
piano. O, alternativamente, ni se te ocurra escoger una contraseña sencilla. Y
no creas que la criptografía resolverá todos tus problemas de seguridad. Quien
eso cree no entiende la criptografía y tampoco entiende el problema. En las
últimas semanas hemos sido testigos de diversos fallos de seguridad que, por sus
características, ilustran estos axiomas.
Comencemos por la criptografía. El programa de procesamiento de textos Word
tiene una opción de contraseña. De hecho, si miramos en Herramientas - Opciones
- Seguridad - Avanzadas podremos ver un abanico de posibilidades, algunas de las
cuales (Diffie-Hellman, RSA+AES) suenan como la solución definitiva. Seguro que
eso le sonó estupendamente al redactor del documento "NATO en Afganistán:
Narración Maestra." No se sabe quién lo escribió, aunque sí que se encontraba
nada menos que en la web del Mando Central del Pentágono. Redactado en octubre
de 2008, es una especie de "manual de estilo" para tratar con la prensa acerca
de las operaciones militares en Afganistán.
Entre otros puntos que NO hay que decir, el documento indica que Jordania
mantiene una presencia secreta en ese país; aunque es miembro de la coalición
internacional, ha solicitado que no se la nombre. En general, el documento no
tiene gran valor militar, de modo que no debemos culpar a Wikileaks de ayudar a
Al-Qaeda; pero resultaría interesante que el ciudadano medio tuviese acceso a
cierta información. Por ejemplo, ¿sabían ustedes que el transporte aéreo de
material militar en Afganistán está "externalizado"? Es decir, cualquier día
puede caer otro Yak-42 (o similar) con personal español a bordo, y a ver cómo
nos lo explican.
Para que ese tipo de información no llegue a oídos de quien no debe (los propios
periodistas, para empezar), el documento estaba encriptado. Sin embargo, la web
Wikileaks, especializada en revelar lo oculto, publicó el documento descifrado.
¿Cómo lo consiguió? Muy probablemente, intentando un desciframiento mediante
ataque de diccionario. Es decir, es toma un archivo-diccionario y se van
probando todo tipo de contraseñas hasta dar con la correcta. En el caso que nos
ocupa, dicha contraseña era "progress" (progreso). Wikileaks ha encontrado otros
tres documentos cifrados con la misma contraseña. Los cuatro documentos son
accesibles (https://secure.wikileaks.org/wiki/N1)
gracias a que alguien escogió una contraseña débil.
Pasemos a Skype, el popular programa de telefonía IP. Ya hablamos de su
criptografía hace un par de meses ("La seguridad de Skype", Boletín ENIGMA 66).
Hace poco, se reveló un ataque contra ciertos servicios de Skype. Se trata de
engañar al usuario para que haga clic en un enlace malicioso. Si lo hace menos
de media hora después de conectarse a una sesión de Skype, el atacante puede
obtener suficiente información para acceder al buzón de voz o bien para hacer
llamadas a través de la cuenta de Skype del atacado. En este caso, usar AES o
RSA sirve de bien poco, ya que la seguridad se rompe por el eslabón más débil.
Más detalles en
http://www.securitybydefault.com (entrada 16 Abril 2009).
¿Más ejemplos? Bueno, ahí va otro. Los fabricantes de consolas han hecho todo lo
posible para evitar que los usuarios puedan operar con ellas de forma no
estándar. Los discos de la Wii, por ejemplo, no son legibles en una unidad DVD
de ordenador, y tampoco podemos enganchar a una consola aparatos como discos
duros alegremente. Hace poco, un hacker español afirmó haber reventado el
cifrado de los discos duros que llevan las consolas PlayStation 3. No se han
revelado datos, salvo la afirmación hecha por el propio hacker de que lo había
conseguido, y de que la clave (según su afirmación) es un tipo de xor con clave
de 512 bytes. Sí, yo tampoco lo pillo. Algunos lo han calificado de rumor, otros
dicen que es una noticia cierta calificada de rumor para despistar a los
fabricantes, y otros dicen que es un hackeo auténtico pero solamente a la capa
de encriptación del disco duro.
Cualquiera que sea la verdad, tardaremos en saberla. Pero sí es cierto que hay
gente que no se conforma con las cosas tal y como son. Lo que sí es cierto es
que la Wii se puede "piratear", entendiendo como tal una modificación que
permite jugar con juegos copiados. Lo curioso es que, por lo que tengo
entendido, es legal en España. Curiosamente, la Wii está protegida con todo tipo
de algoritmos criptográficos: AES, RSA, curvas elípticas ... pero volvemos a lo
de siempre: no sirven de nada si se puede atacar un eslabón más débil. El mes
que viene hablaremos de ello. Si es que los de Nintendo no me fulminan antes,
claro.
Pero antes de cerrar este cajón de sastre, un último caso, que aunque sucedió en
2006 solamente se ha hecho público ahora. Según parece, una agente británica del
SOCA (Serious Organized Crime Agency, una especie de FBI británico) puso en
peligro todas las operaciones antidroga en Sudamérica. Dicha agente, que debía
hacer de enlace en Bogotá con agencias tales como el MI5, MI6 y la DEA
norteamericana, descargó información altamente sensible (entre la que se
incluían nombres de agentes e informantes, información sobre el tráfico de
cocaína, detalles de operaciones en curso), lo guardó en un lápiz de memoria,
metió éste en un bolso ... y tontamente se olvidó el bolso en el autobús. Este
error, que no lo superan Anacleto y el Superagente 86 juntos, ha costado, según
algunas estimaciones, más de 100 millones de libras al erario británico, ya que
ha habido que abortar misiones, poner a agentes fuera de peligro, borrar
huellas, etc. Sorprendentemente, la agente (apodada "Agente T") ni siquiera ha
sido despedida. De las pérdidas humanas mejor ni hablar. Claro que lo mismo han
tenido suerte y el lápiz de memoria ha acabado en la basura, o reutilizado y su
información borrada. ¿Pero tan difícil les resulta a los profesionales usar algo
de cifrado? Y esos son los herederos de 007 y de Bletchley Park. Q debe estar
revolviéndose en su tumba.
CRIPTOGRAFÍA HISTÓRICA - El funcionamiento de la bomba polaca
En
boletines pasados (18, 24, 28) explicamos los principales procedimientos que los
polacos desarrollaron y utilizaron en los años 30 para penetrar en los mensaje
cifrados mediante máquina Enigma. Con diversas variantes, se dedicaron a
establecer relaciones matemáticas entre los indicadores de clave. Una de sus
armas más eficaces fue un invento denominado bomba. Veamos aquí su
funcionamiento.
Antes, unas cuantas nociones previas. Para poder cifrar, o descifrar, un mensaje
determinado, la Enigma tenía que ser configurada. Esta configuración (llamada "stellung"
en alemán, o "settings" en inglés, constaba de varios elementos. En primer
lugar, había que escoger qué rotores iban a utilizarse, y en qué orden.
A continuación, debemos recordar que un rotor Enigma constaba de un núcleo donde
iba el cableado, y alrededor de él un anillo que contenía las letras. Dicho
anillo podía ajustarse, es decir, podía girar respecto al núcleo. La posición
del anillo respecto al núcleo se denominaba "configuración de anillo" (ringstellung).
En tercer lugar, el operador tenía que insertar los rotores en la máquina.
Dichos rotores mostraban una letra en una ventanilla. En la imagen
http://cripto.es/museo/enigma-esp/enesp04.jpg, por ejemplo, puede verse cómo
la disposición de los rotores venía dada por la configuración XJDQ (X
corresponde al reflector, que en algunos modelos comerciales también era
ajustable). A esto se le denominaba "configuración básica" (grundstellung).
Finalmente, un tablero de conexiones permitía conectar algunas letras, de forma
que sus señales podían intercambiarse. Dicho tablero, existente únicamente en
las versiones militares, aumentaba el número de configuraciones posibles hasta
niveles astronómicos.
Uno de los éxitos del grupo de polacos fue desarrollar métodos para poder
averiguar los tres primeros elementos (orden de rotores, anillo y orientación)
al margen de cómo estuviese conectado el tablero. La idea crucial consistió en
aprovechar la forma en que los alemanes intercambiaban sus claves.
Para entenderlo, recordemos que los sistemas de clave simétrica tienen el eterno
problema de cómo intercambiar la clave. En equipos como la Enigma, podía
simplemente enviarse a todas las unidades un manual con las claves que debían
utilizarse cada día. Sin embargo, eso conlleva una enorme debilidad. En efecto,
de hacerse así todos los mensajes enviados por todas las Enigmas usarían la
misma clave, lo que da al criptoanalista una cantidad enorme de material con el
que trabajar.
El problema puede aliviarse utilizando más de una clave a lo largo del día, así
como creando sub-redes para zonas o propósitos específicos. Estos métodos se
usaron, de hecho, durante la Segunda Guerra Mundial. Pero incluso en ese caso,
el problema no se alivia. Para que el sistema fuese seguro, tendríamos que
utilizar tantas claves diferentes que cada operador de radio tendría que usar un
libro de claves del tamaño de la enciclopedia Espasa ... !y rezar para que el
enemigo no se haga con una copia!
No, hay que inventar algo mejor. La solución que utilizaron los alemanes es
proporcionar a todas sus unidades una clave diaria, y dejar que los operadores
se inventen sus propias "claves de sesión", diferentes para cada mensaje. El
procedimiento es el siguiente. Digamos que nuestro operador, al que llamaremos
Fritz, ha de enviar un mensaje al Estado Mayor. Toma el manual, y allí aparecen
la "clave maestra" del día, es decir, la orientación del anillo, la disposición
de los rotores y el cableado del tablero de conexiones. Todas las unidades de su
red comparten esos datos.
Bien, ahora imaginemos que la máquina ya está configurada, y que las letras SET
son las que aparecen en la ventanilla de la Enigma. Ahora, Fritz piensa en una
"clave de sesión", escogida al azar. Fritz piensa en su novia, Uli, y decide
usar su nombre como clave. El problema es cómo enviar esa información al
destinatario sin que la capte el enemigo. La solución es fácil: Fritz se limita
a teclear las letras ULI en su Enigma. Digamos que la solución es SFX. Bien,
pues a continuación Fritz ajusta los rotores en la posición ULI y a continuación
cifra el mensaje, y lo envía todo. En el otro extremo de la línea, su
interlocutor (llamémosle Hans) ajusta la máquina de igual forma. Escribe las
tres primeras letras del texto cifrado (SFX) y obtiene ULI. Ajusta los rotores a
la posición ULI, introduce el mensaje cifrado y recupera el texto llano.
Fíjense cómo el esquema se repite en muchos sistemas de cifrado: se usa una
clave "maestra" para todo el mundo, y una segunda clave "de sesión" para cada
mensaje particular.
Si el procedimiento fuese ese, y sólo ese, la máquina Enigma habría resultado
invulnerable para los investigadores polacos. Sin embargo, los alemanes
introdujeron una modificación fatal. Conscientes de que una sola letra puede
recibirse mal por mil y un problemas (mala transmisión, error humano,
interferencias meteorológicas), y ansiosos de evitar los típicos problemas de
"clave mal recibida, repita", decidieron cifrar la clave de sesión una vez, lo
hicieron por partida doble. Es decir, Fritz, en lugar de cifrar ULI para obtener
SFX, lo que hace al comienzo es cifrar ULIULI. Así se obtiene, digamos, SFXUQP.
Cuando Hans lo reciba, tecleará SFXUQP y, si todo va bien, obtendrá ULIULI.
Puede que un error de transmisión le haga recibir SFXUOP, en cuyo caso puede que
obtenga ULIULS, pero incluso así tendrá sólo dos claves de sesión por probar.
Es decir, la clave de sesión se cifra dos veces para evitar errores. Esta
modificación, que parece razonable para poder usar una cifradora en un ambiente
real, resulta que introdujo un error fatal, porque Rejewski comenzó enseguida a
diseñar métodos de recuperar información a partir de ahí.
La idea es la siguiente. El atacante ignora cuál es la disposición de los
rotores. Lo que sí sabe es que, si introduce un conjunto de tres letras, aparece
SFX; y si lo vuelve a introducir, aparece UQP. O dicho de otro modo: en una
configuración dada de la máquina, una letra se cifra como S, y tres pulsaciones
más tarde la misma letra se cifra como U. También sucede algo similar con las
letras segunda y quinta (F,Q), y con la tercera y sexta (X, P). A partir de ahí,
los polacos consiguieron desarrollar un método de permutaciones
para obtener la orientación de los rotores, lo que antes denominamos
configuración básica.
El número de configuraciones básicas era grande: 26*26*26, multiplicado por el
número de posibles ordenaciones de los rotores. Para tres rotores, hay seis
formas de colocarlos, así que el número total sería 6*26*26*26, más de cien mil.
Para automatizar la tarea, los polacos diseñaron un instrumento mecánico llamado
ciclómetro, así como diversas hojas que les ayudaban en la tarea. También
quedaba por averiguar la configuración de anillo y el cableado del tablero de
conexiones, pero había formas de hacerlo (ver Boletín ENIGMA 28 para más
información).
Como verán, todavía no hemos hablado para nada de la bomba. Quería antes
refrescarle al lector la memoria. Vamos a ello. Mientras se mantuvo el sistema
de indicadores descrito antes, todo fue bien para los polacos. Los alemanes
introdujeron modificaciones en su sistema de claves, pero los polacos
consiguieron ponerse a la altura rápidamente. De repente, llegó la crisis de los
Sudetes en Checoslovaquia, y todo cambió. El 25 de Septiembre de 1938, dos
semanas antes de la conferencia de Munich, los alemanes decidieron cambiar el
modo en que se gestionaban las claves.
En lugar de comenzar con las mismas posiciones de los rotores, ahora cada
operador las escoge a su antojo. Es decir, antes Fritz ponía su máquina en la
posición SET, tecleaba ULIULI y obtenía SFXUQP; luego ponía su máquina en la
posición SFX y escribía el mensaje. Ahora lo que hace Fritz es echar mano del
manual de claves, que sigue indicándole el cableado del tablero de conexiones y
la configuración de anillo, pero NO le dice cómo orientar los rotores para
empezar. Eso queda para Fritz. Éste escoge su propio indicador, digamos FRI.
Pone su máquina con los rotores mostrando FRI, y escribe dos veces su "clave de
sesión" ULIULI. Luego ajusta su máquina a ULI y escribe el mensaje. Lo que
transmite es la clave que él ha escogido (FRI), seguido por el mensaje cifrado.
Quizá al lector le extrañe lo que acabo de indicar: ¿cómo es posible que
enviemos FRI en texto llano? ¿Acaso no puede el enemigo leer las tres primeras
letras y poner su propia máquina en la posición FRI para descifrarlo todo? No,
no puede. Es decir, sí puede poner los rotores en FRI, pero ¿cuál es la
configuración de anillo? El "truco" consiste en que el enemigo no sabe cuál es
la orientación del anillo respecto del núcleo, es decir, sabe cómo está colocado
el exterior del rotor pero no el interior.
En apariencia, no parece haber merma en la seguridad. Más al contrario, ahora
los mensajes no tienen una configuración básica común. Y ese es el detalle.
Antes, las seis primera letras de TODOS los mensajes de un período determinado
estaban cifrados con la misma configuración, la que antes llamamos SET. Fritz
puso su máquina en SET, tecleó ULIULI y obtuvo SFXUQP. Hans teclea YYUYYU y
obtiene SLQKJS; Volker teclea AQWAQW y obtiene LLKMHO. Pero todos ellos han
comenzado poniendo su máquina en la posición de rotor SET, lo que significa que
todas esas ristras de seis letras están relacionadas. El método Rejewski usaba
esas relaciones para dar en el blanco (ver Boletín ENIGMA 24 para más
información).
De repente, esa relación desaparece. Como cada operador comienza ajustando la
máquina con la configuración básica que a cada cual le da la gana, ya no hay
relación matemática entre ellos. De repente, los métodos desarrollados por los
polacos resultan inútiles. Solamente pudieron seguir leyendo los mensajes
emitidos por una red de radio del Sicherheitdienst (SD), el servicio de
seguridad del partido nazi, quienes por motivos que desconozco continuó
utilizando el sistema de indicadores antiguo. Todas las demás redes alemanas,
civiles y militares, quedaron cerradas a cal y canto.
Pero incluso en ese caso, los polacos encontraron una forma de burlar el
sistema. La solución alemana a los problemas derivados de errores de transmisión
volvió a ser su gran debilidad. Los alemanes seguían cifrando su clave de sesión
dos veces; y de nuevo resultó ser el camino hacia su perdición. El método
criptoanalítico fue descrito brevemente en el Boletín ENIGMA 28, pero vamos a
intentar explicarlo aquí con algo más de detalle.
Dos son los elementos que permiten el ataque. El primero, el ya comentado de
cifrar dos veces la misma ristra de tres letras. El segundo se basa en que,
aunque no conocemos la posición absoluta de los rotores (ya que la "ringstellung",
es decir, la relación entre el núcleo y el anillo de rotor era desconocida), sí
se sabían las posiciones relativas. Es decir, cuando Fritz comienza su mensaje
con SET, no sé cómo van orientados los núcleos de los rotores, pero sí sé que el
compañero que comience su mensaje con SEU tiene los rotores igual que Fritz,
salvo que el rotor derecho está avanzado una posición respecto al de Fritz.
La idea de partida es la siguiente. Recordemos que Fritz tomó SET, cifró ULIULI
y obtuvo SFXUQP. Yo, el criptoanalista, he captado el mensaje, cuyo
encabezamiento comienza con SETSFXUQP. Yo sé que hay una disposición de anillo
para los tres rotores tales que, cuando yo pongo dicho rotor en la posición SET
y tecleo dos veces la misma secuencia de letras, obtengo SFXUQP. No parece que
eso me de mucha información. Pero fijémonos en las letras primera y cuarta de
SFXUQP. No sé cuál es la "ringstellung" de Fritz, vale. Pero sí sé que, cuando
teclea una letra, aparece S. Posteriormente, cuando el rotor derecho ha avanzado
tres posiciones, teclear la misma letra me da U.
Tampoco eso me sirve de gran cosa. Sin embargo, fijémonos en casos especiales.
Hay veces en los que la primera y cuarta letras no son distintas (como en el
caso de S y U), sino iguales. Supongamos ahora, como ejemplo, que Fritz
utiliza como su posición de partida de los rotores (es decir, la que aparece en
las ventanitas de la máquina) la RTJ. Nuevamente usa la misma posición de anillo
reglamentaria para todos los operadores. Ahora resulta que, al poner los rotores
en la posición RTJ, teclea su clave de sesión (ABC) y obtenemos algo así como
WAH WIK. La primera W proviene de introducir la primera letra de su clave de
sesión al principio, cuando los rotores estaban en la posición RTJ. Cuando toque
introducir A por segunda vez, los rotores estarán ahora en la posición RTM, y de
nuevo volveremos a obtener una W.
Posición
rotores
Pulsación Resultado
RTJ A
W
RTK B
A
RTL C
H
RTM A
W
RTN B
I
RTO C
K
Cuando esto sucede, los polacos lo denominaron "hembra," término que en el
Boletín ENIGMA 28 prometí aclarar pero que nunca hice. Se trata de un juego de
palabras. Los criptoanalista, además de instrumentos electromecánicos,
utilizaban hojas Zigalski (hojas perforadas usadas como ayuda para la obtención
de las claves Enigma, y de las que no hablaremos aquí), que había que usar una
sobre otra de tal forma que algunas perforaciones coincidiesen, es decir,
estuviesen en los mismos lugares. Parece que en polaco, la expresión "los
mismos" se dice "te same", que recuerda fonéticamente a la palabra "samiczki"
(hembras). Es decir, en polaco la palabra "hembras" recuerda fonéticamente a una
alineación de aperturas. Al menos, esta es la versión que presenta Wladislaw
Kozaczuk en su libro "Enigma." Llevar más lejos la analogía para relacionar a
las mujeres con aperturas de agujeros circulares alineadas es una tentación en
la que mejor es no caer. En cualquier caso, no parece haber otra explicación
oficial u oficiosa del término, y es curioso comprobar que los anglosajones se
limitaron a copiarlo, aunque imagino que sin conocer su posible origen.
Chismes aparte, sigamos adelante. Hemos supuesto que ni el rotor central ni el
izquierdo giran durante el proceso, de forma que tras RTL tenemos los rotores en
RTM en lugar de en RUM. La suposición no es mala, ya que el rotor central sólo
girará una vez de cada 26 pulsaciones. Si a pesar de eso, resulta que gira, pues
mala suerte. Pero crucemos los dedos, y sigamos adelante.
La tabla anterior contiene muchos puntos desconocidos para el criptoanalista.
Seguimos sin saber la posición de anillo, y por supuesto no sabemos que la clave
de sesión es ABC. Pero sí sabemos que pulsar una tecla determinada con los
rotores en una posición dada (RTJ) da el mismo resultado que hacerlo con los
rotores tres posiciones más adelantadas (RTM).
El razonamiento de Rejewski es, por tanto de una sencillez aplastante, al menos
en concepto. Simplemente, tomemos una Enigma con los rotores en la posición de
anillo ZZZ, y pongamos los rotores en la posición AAA, tecleamos la letra que
nos dé una W cifrada; luego ponemos los rotores en la posición AAD, tecleamos la
misma letra y observamos si nos da de nuevo una W. Luego hacemos lo mismo con la
posición inicial AAB, luego con la AAC, y así hasta agotar las 26*26*26 posibles
posiciones iniciales del rotor, y las seis posibles formas de ordenar dichos
rotores. De momento, supongamos que sabemos cuál es dicha ordenación, y luego
resolveremos ese último detalle.
En un mundo ideal, habría una y sólo una posición de los rotores donde
obtuviésemos W dos veces. Digamos que dicha posición es KAZ. Como KAZ se
corresponde con la disposición de anillo ZZZ, hallar la disposición de anillo
correspondiente con la posición RTJ es un juego de niños. Y como la disposición
de anillo es la misma para todos los operadores, ya hemos descubierto la "clave
maestra" que nos permitirá reventar todos los mensajes del día.
Para verlo más gráficamente, supongamos que ponemos una Enigma con los rotores
en la posición p,q,r. Representemos la máquina con el corchete [p,q,r], de tal
forma que el proceso de cifrar se pueda representar como:
A ---> [p,q,r] ---> W
La Enigma es una máquina recíproca, de modo que si tecleamos A y obtenemos W,
también resulta que al teclear W obtendríamos A.
W ---> [p,q,r] ---> A
Esto es importante, porque el criptoanalista no conoce que la tecla A es A. Como
es desconocida para él, la llamará a1 (debería llamarla "alfa sub 1", pero estoy
escribiendo en texto sencillo así que imaginaos una alfa sub 1 cuando yo escriba
a1). Tenemos así:
W ---> [p,q,r] ---> a1
La situación es la misma si tenemos el rotor derecho de la Enigma desplazado
tres posiciones (ya que hemos cifrado tres letras), de modo que también
tendríamos:
W ---> [p,q,r+3] ---> a1
Con lo cual, hay que encontrar las posiciones (p,q,r) que cumplan
simultáneamente las dos condiciones, a saber:
W ---> [p,q,r] ---> a1
W ---> [p,q,r+3] ---> a1
donde a1 es una letra desconocida, pero es la misma para ambos casos.
Pero hay dos pegas. La primera es que tenemos que probar esas 26*26*26 posibles
posiciones iniciales del rotor, y eso es mucho. En segundo lugar, hemos dicho
"en un mundo ideal". En el mundo real, habrá muchas posiciones de rotores que
nos den el resultado descrito antes. Para paliar este segundo problema, lo que
hizo el grupo de Rejewski es ir más allá. Hasta ahora sólo nos hemos fijado en
la primera y cuarta letras del indicador cifrado (las W de WAKWIK). ¿Pero qué
pasa con la segunda y la quinta; o la tercera y la sexta? ¿No pueden usarse de
forma parecida? La respuesta es sí, se puede. Pero no en el mismo mensaje.
Encontrar un caso en el que, al cifrar dos veces una cadena de tres letras,
obtuviésemos algo del tipo WZPWZP sería estadísticamente improbable.
Pero sí podemos tomar distintos mensajes y buscar hembras con la misma letra
pero en distintas posiciones. Por ejemplo, vemos que el operador Volker envió un
mensaje con los rotores en la posición DQW, y obtuvo DWJ MWR. Una hora más
tarde, Herman escogió la posición HPN para sus rotores y obtuvo RAW KTW:
Mensaje 1 RTJ WAH WIK
Hembra 1-4
Mensaje 2 SQJ DWJ MWR
Hembra 2-5
Mensaje 3 HPN RAW KTW
Hembra 3-6
Seguimos teniendo que probar todas las posibles posiciones de los rotores, pero
ahora disponemos de más asideros. Vamos a usar el truco de las hembras tres
veces. Primero, probemos con todas las posibles orientaciones de los rotores
para el primer caso. Llamemos a dichas orientaciones [p1, q1, r1]. Esto nos
daría lo siguiente:
W ---> [p1,q1,r1] ---> a1
W ---> [p1,q1,r1 +3] ---> a2
Si a1 no es igual a a2, [p1,q1,r1] no es la posición correcta de los rotores,
así que probaremos otra. Pero si a1=a2, entonces pasaremos a la siguiente fase.
Tomamos el mensaje 2, y volvemos a probar. Y aquí viene un punto crucial. Si los
mensajes 1 y 2 fuesen independientes, tendríamos que probar todas y cada una de
las posibles orientaciones del rotor para el caso 2, a las que llamaremos
[p2,q2,r2]. Es decir, tendríamos que ir haciendo pruebas del tipo:
W ---> [p2,q2,r2] ---> b1
W ---> [p2,q2,r2 +3] ---> b2
De nuevo, si b1 es distinto a b2, pasamos a la siguiente posibilidad. En caso
contrario, probamos con el mensaje 3, lo que nos daría pruebas del tipo
W ---> [p3,q3,r3] ---> b1
W ---> [p3,q3,r3 +3] ---> b2
Es decir, habría que probar las 26*26*26=17.576 posibles combinaciones
[p1,q1,r1] Y ADEMÁS las 17.576 posibles combinaciones [p2,q2,r2] Y ADEMÁS las
17.576 posibles combinaciones [p3,q3,r3]. !Eso nos daría un total de cinco
billones de posibilidades! Sin embargo, no tenemos que probar tantas, porque las
posiciones de los tres rotores son relativas entre sí, lo que reduce el número
de incógnitas.
Para entenderlo, vean las posiciones iniciales de los rotores para los mensajes
1 y 2: RTJ y SQJ, respectivamente. Fíjense que el tercer rotor en ambos casos
está en la misma posición. Esto significa que r1=r3. Asimismo, la primera
posición de ambos rotores (R, S) están separadas por una sola unidad, es decir,
r1+1=r2; finalmente, las posiciones entre los rotores centrales (T,Q) también
están relacionados, en este caso, r1=r2-3. Esto significa que todas esas
incógnitas son dependientes la una de la otra: [p2, q2, r2] y [p3, q3, r3] con
conocidas si sabemos [p1, q1, r1] y conocemos las diferencias relativas entre
las posiciones de los rotores de los tres mensajes.
Este último dato lo conocemos porque los alemanes son tan amables como para
transmitir en claro la posición de sus rotores. Así que solamente hemos de
probar las 17.576 combinaciones [p1, q1, r1].
Nace así la máquina polaca llamada Bomba. En esencia, su elemento básico está
formado por tres grupos de rotores que representan tres máquinas Enigma. El
primer grupo de rotores probará todas las combinaciones [p1, q1, r1] posibles;
el segundo, con una orientación relativa conocida, irá probando simultáneamente
las combinaciones [p2, q2, r2]; y la tercera, claro, probará las combinaciones
[p3, q3, r3]. En forma algorítmica, el esquema sería algo así:
Para toda combinación [p1, q1, r1]
- Fijar combinaciones [p2, q2, r2]
- Cifrar con la siguiente secuencia:
W
---> [p1,q1,r1] ---> a1
W ---> [p1,q1,r1 +3] ---> a2
W ---> [p2,q2,r2]
---> b1
W ---> [p2,q2,r2 +3] ---> b2
W ---> [p3,q3,r3]
---> c1
W ---> [p3,q3,r4 +3] ---> c2
- Si a1=a2 Y b1=b2 Y c1=c2, parar la máquina y llamar a los humanos para darle
la combinación correcta [p1, q1, r2]. A partir de ahí, ellos siguen la tarea
- En caso contrario, continuar con otro valor de [p1, q1, r1]
Un par de detalles más. En primer lugar, hemos supuesto que conocemos cómo están
colocados los rotores. Pero no sabemos esa información. En principio, con tres
rotores habría 6 posibles formas de ordenarlos, como hemos dicho antes. Eso
significa que hemos de probar lo anterior para esas seis ordenaciones posibles.
La solución es obvia: construir seis bombas.
En segundo lugar, hemos supuesto que ni el rotor central ni el izquierdo se
movían, solamente el central. Si hubiese sido ese el caso (lo que los ingleses
llamaban un "turn-over", no serviría lo que hemos hecho. Sin embargo, los
alemanes se lo pusieron en bandeja a los polacos. Resulta que el giro de cada
rotor se efectúa mediante una muesca ubicada en el anillo exterior. Puede el
lector ver dicha muesca en
http://www.cripto.es/museo/enigma-esp/enesp07.jpg. La información sobre
dónde está dicha muesca es conocida, de forma que los criptoanalistas podían
escoger hembras donde sabían de antemano que no se iba producir un turn-over o
no. Por ese lado, todo controlado.
Luego tenemos el problema del tablero de conexión (stecker). Este era un añadido
que cambiaba unas letras por otras al final del proceso de cifrado, y no podía
ser reproducido por la Bomba. Los polacos contaban con que las letras que
formaban las hembras no estaban alteradas por el tablero. De hecho, el proceso
descrito hasta ahora no requería necesariamente tomar la misma letra para las
tres hembras. Podíamos haber tomado hembras con letras distintas, como por
ejemplo: (WAH WIK), (ALE QLZ) y (MUS LKS). El motivo de tomar la misma letra
para las tres hembras era precisamente para minimizar la posibilidad de
encontrarnos con una alteración en el tablero.
Los polacos usaron dos tácticas para evitar el problema. En primer lugar, cruzar
los dedos, es decir, suponer que la W no es una de las letras alteradas en el
tablero, y ver qué pasa. La segunda es darse cuenta de que las alteraciones del
tablero son iguales para todos los operadores. Si las instrucciones dicen que
hay que alterar la W en el tablero, el criptoanalista no sabrá cuál es la letra
en la que se convierte, pero sí que es la misma en todos los mensajes enviados
por cualquier operador. De hecho, se llegó a convertir en un "bonus". Recordemos
los indicadores del ejemplo:
Mensaje 1 RTJ WAH WIK
Hembra 1-4
Mensaje 2 SQJ DWJ MWR
Hembra 2-5
Mensaje 3 HPN RAW KTW
Hembra 3-6
Como ven, en el primer mensaje la primera letra escogida por Fritz (R) es
responsable de la hembra 1-4; en el mensaje 2, es la Q, y en el mensaje 3, es la
N. Bien, pues resulta que la bomba permitía averiguar si el tablero de
conexiones alteraba las letras R,Q,N, y en caso afirmativo, en cuáles.
Con tan imaginativos métodos, la Bomba polaca permitió al equipo Rejewski
obtener la disposición de la Enigma alemana (rotores, anillo, prácticamente
todo), y al gobierno polaco estar informado sobre las intenciones alemanas. Toda
una hazaña, y más si consideramos que el cambio en el sistema de indicadores
Enigma fue introducido por las autoridades alemanas el 15 de Septiembre de 1938,
y las seis bombas estaban ya listas y funcionando en Noviembre. Eran capaces de
obtener la clave maestra en una dos horas, y a partir de ahí descifrar los
mensajes era juego de niños.
Sin embargo, la potencia alemana acabó imponiéndose. El 15 de Diciembre,
introdujeron dos nuevos rotores. De repente, el número de posibles combinaciones
de tres rotores paso de seis a sesenta. Eso significaba multiplicar por diez el
número de bombas ya existentes, además de representar la preparación de una
cantidad gigantesca de hojas Zigalsky. .Si los polacos tenían suerte, y ese día
los alemanes usaban los rotores antiguos, todavía podían trabajar, pero eso sólo
sucedería en promedio un día de cada diez.
Fabricar nuevas bombas era en principio factible, pero inviable en la práctica.
El coste estimado hubiese sido de unos 350.000 dólares USA, una suma enorme en
aquella época. El esfuerzo de interceptación requería asimismo construir
estaciones receptoras y líneas de comunicación seguras para re-transmitir los
mensajes recibidos. Demasiado para una nación cuyo tiempo se estaba acabando.
En 1939 se intensificaron los contactos anglo-franco-polacos, que culminaron en
Julio con la famosa reunión de Pyry, donde los polacos, conscientes sin duda de
lo que se les venía encima, compartieron con sus aliados sus más íntimos
secretos criptográficos. Poco tiempo después, Polonia fue invadida. Sus
criptógrafos lograron a duras penas refugiarse en Rumanía, para después pasar a
Francia e Inglaterra. En cuanto a las bombas, fueron destruídas para evitar que
el secreto pasase a manos alemanas. Era ahora el turno de los aliados.
CRIPTOGRAFÍA HISTÓRICA - Enigma A: la conexión argentina
[Recordará el lector del Boletín ENIGMA cómo, en el número 67, dimos noticia del
descubrimiento de diversos ejemplares de máquinas Enigma en el Cuartel General
del Ejército Español. Estas Enigmas, reliquias de la Guerra Civil, no son las
únicas que "salen del armario" (o, más bien, del altillo. Gabriel, Uno de
nuestros lectores argentinos, nos comunica el descubrimiento de una Enigma
modelo A, la primera jamás comercializada. El próximo mes incluiremos algunas
fotografías de este raro y espectacular modelo. Mientras tanto, he aquí una
historia sobre las máquinas cifradoras y su relación con el ejército argentino.
Cedo la palabra a Gabriel]
La hoy histórica y célebre máquina “Enigma” fue creada en el año 1923 por el
ingeniero alemán Arthur Scherbius, luego de analizar las enseñanzas y los
requerimientos dejados pendientes por la I. Guerra Mundial. Como en ese tiempo
el mundo vivía un período de posguerra, el invento de Scherbius no pasó de ser
una mera curiosidad comercial que una firma berlinesa ofrecía al modesto precio
de 144 dólares la unidad. De esa manera los siempre atentos (?) ojos de los
agentes secretos del SIS, al parecer, nunca se detuvieron en esos avisos
publicitarios; nunca sospecharon nada, y nunca propusieron nada al respecto. Y
uno no puede dejar de pensar ¿pudo haber sucedido eso?
Pero en otras partes había otros ojos, tal vez no tan famosos como los del SIS,
pero si más sagaces y efectivos. Unos fueron los ojos de los especialistas
polacos, que dieron origen a toda la leyenda sobre la apropiación en 1929 de una
máquina “Enigma”, de su estudio y reproducción de sus mecanismos en Varsovia, y
del periplo de esos secretos, primero a Francia y luego a Gran Bretaña, donde
con la ayuda de técnicos u científicos como Alan Mathison Turing, se creo el
gran mito de la reconstrucción y descriptamiento de la máquina “Enigma”.
Otros ojos, también profesionales y atentos, aunque no tan famosos y
promocionados como los europeos, estaban aquí, en Buenos Aires, sin ninguna
tradición pero, por la que veremos, de mayor altura y eficacia que los de los
británicos y polacos.
LOS OJOS ARGENTINOS
En efecto, como durante los años de la I. Guerra Mundial resultaba virtualmente
imposible adquirir y renovar los obsoletos materiales y equipos de nuestro
Ejército, debido a que toda la producción de las principales fábricas europeas
era absorbida por las necesidades de la conflagración, y sus gobiernos habían
terminantemente prohibido las exportaciones de tales elementos a otros países no
involucrados en el conflicto, el 30 de marzo de 1921 el Poder Ejecutivo
Nacional, ejercido entonces por el Dr. Hipólito Yrigoyen, otorgó las
autorizaciones del caso para recuperar el tiempo perdido y poco después dispuso
la formación de una Comisión Técnica Permanente de Armamentos, a la que se
subordinó una Comisión de Adquisiciones en el Extranjero, la cual partió para
Europa a principios del año 1924, estando ya en el gobierno el Dr. Marcelo T. De
Alvear, siendo su ministro de Guerra el coronel (luego general) Agustín P,
Justo, con la misión de seleccionar y enviar al país pequeñas partidas de
elementos y materiales para ser ensayados. La Comisión comenzó, entonces, a
desarrollar una intensa labor, con los ojos bien abiertos y profesionales.
Figuraba en esa Comisión un inquieto y competente oficial del arma de
ingenieros, el recientemente ascendido capitán Adolfo Carlos Camilo Udry, de
ascendencia suiza, que pronto se había especializado en los progresos de las
radiocomunicaciones y que ostentaba desde el 24 de marzo de 1917 el brevet N°
112 de piloto argentino. Ese mismo año de 1917 llevó a cabo el primer reglaje
del tiro de artillería en tiempo real, desde el avión que manejaba, mediante
enlace radiotelegráfico. Al año siguiente (1918), al revistar en la Inspección
de Radiotelegrafía editó el Manual del Radiotelegrafista Militar, 1ra. Parte, y
luego creó y organizó el Laboratorio Radioeléctrico del Ejército, que
inicialmente se llamó “Sección Experiencias”. Por sus investigaciones obtuvo la
Patente de Invención N° 21315, por los transformadores de baja frecuencia que
fueron construidos personalmente por el mismo Udry, para ser instalados en la
primera serie de radiorreceptores con amplificador (llamados “Modelo E.A. 23”)
para ondas continuas que se construyeron en aquellos talleres.
El caso fue que el entonces capitán Udry tomó contacto en Europa con el Dr.
Scherbius y, atraído por las posibilidades de encriptamiento de textos que
ofrecían sus productos, se interesó por las máquinas “Enigma”, adquiriendo los
dos primeros ejemplares del modelo 126, los cuales llegaron al país en
“ENIGMA” EN ARGENTINA
Con esas máquinas los técnicos argentinos hicieron los primeros ensayos de
cifrado y descifrado. Como consecuencia de los buenos resultados obtenidos, se
dispuso la adquisición de otras unidades, a las cuales se les introdujeron
notables modificaciones que resultaron originando el modelo reconocido como
“Modelo Argentino 126 A”.
Las originales “Enigma” eran portátiles (pesaban unos 12 kilos), eran contenidas
en cajas de madera, con tapa, cierre y asa de cuero para su transporte, siendo
sus dimensiones exteriores 30 centímetros de frente, por 25 de fondo y 15 de
alto. Su funcionamiento era eléctrico a base de una corriente continua de 110
V., pero también podía conectarse a una corriente alterna empleándose en este
caso un transformador-reductor de 220/110 V., y una válvula rectificadora a
vapor de mercurio que suministraba la intensidad de 1 A., para el trabajo.
Modelos posteriores permitían el empleo de baterías o tomar la corriente de los
vehículos sobre los cuales podían ser montadas las "Enigmas".
Los textos se escribían mediante un teclado de 26 teclas dispuestas en 3
hileras, en forma semejante a los teclados de las máquinas de escribir alemanas,
y a cada tecla correspondía una bombilla eléctrica tipo linterna de 3,8 V., y
0,20 A., que al accionarse la tecla, se encendía y señalaba el nuevo valor de la
letra cifrada.
Esos primeros ejemplares utilizaban tres rodillos cifradores que contenían otros
tantos alfabetos cifradores, integrados por las 26 letras del alfabeto
telegráfico internacional, lo cual permitía trabajar con 26x26x26 combinaciones
alfabéticas distintas, o sean 17576 combinaciones diferentes. De otra manera,
podían combinarse y usar 17576 alfabetos incoherentes y recíprocos sucesivos
antes de que se repitiera en el texto un mismo valor para una letra cifrada.
Los alfabetos eran inversos y recíprocos porque, por ejemplo, si se apretaba la
tecla cifradora A y se encendía la bombilla de ciframiento M, recíprocamente en
el mismo alfabeto si se apretaba la tecla M, la máquina respondía encendiendo la
letra A en el otro alfabeto. Asimismo, eran incoherentes porque el orden de las
letras de los alfabetos no seguía el orden de los alfabetos normales: A, B, C,
D, E... sino otra sucesión diferente: por ejemplo M, Z, K, L, O...
El funcionamiento del “Modelo Argentino 126” de tres rodillos cifradores era muy
interesante: al oprimir una tecla se producía una inversión del circuito
eléctrico, a la vez que mecánicamente provocaba un veintiséis avo de vuelta en
el primer rodillo de la derecha; era necesario “teclear” 26 letras para que el
rodillo central avanzara 1/26 de vuelta. Las conexiones se cruzaban en los
rodillos con cada movimiento. Para complicar aún más la operación de cifrado,
podía cambiarse la conexión del cableado lo cual permitía alterar los caminos de
los impulsos eléctricos a través del panel de conexiones, lo que permitía
456.176 combinaciones extras, asegurando así una asombrosa seguridad en la
transmisión de las comunicaciones. De tal manera, sólo quien poseyera un
equipamiento similar podría intentar descriptar los mensajes cifrados con una
“Enigma”.
Posteriormente, en 1930, se recibieron en Argentina las máquinas “Enigma modelo
para Comandos Superiores”, que eran más complicadas y de manejo algo lento, ya
que al cifrar era necesario dar tiempo a los electroimanes para que accionaran
el complejo mecanismo de los rodillos conmutadores y funcionaran las letras de
inscripción, pues imprimía el texto como las máquinas de escribir, y en vez de
los tres rodillos que empleban los modelos 125 A., se empleaban ocho, lo que
permitía combinar una clave basada en una palabra de ocho letras, como podía ser
CALABOZO, mientras que con las anteriores, de sólo tres rodillos, la palabra
clave sólo podía ser de tres letras, por ejemplo CAL.
Si bien con los ocho rodillos se permitían casi 209 millones de variantes,
finalmente los alemanes sucesores de Arthur Scherbius –quien había fallecido en
1929 en un tonto accidente de tránsito al ser arrollado por un caballo
desbocado- se decidieron en 1942 por modificar a “Enigma” introduciéndole un
rodillo cifrador más (4 en total) e insistir en la modificación del cableado,
con lo que lograron un equipo muy semejante al anterior pero con la increíble
capacidad de 150 billones de combinaciones cifradoras.
OTRAS MÁQUINAS CIFRADORAS
Los atentos ojos argentinos no se quedaron fijos en las “Enigma”. En efecto,
tiempo después, entre los años 1934 y 1945, se adquirieron otros modelos más
prácticos, sencillos y económicos que se accionaban preferentemente en forma
manual. Cabe citar entre dichos ejemplares los desarrollados por el ingeniero
alemán von Kryha, quien había perfeccionado dos sistemas: uno liviano denominado
“Liliput”, que pesaba sólo 300 gramos, cuyos alfabetos y números de cifrado se
deslizaban circularmente mediante el accionamiento de un botón igual a los de
dar cuerda de los antiguos relojes de bolsillo, y otro más pesado (unos 5 kilos)
denominado “Standard”, contenido en una caja metálica de forma semicircular,
transportable en un estuche de cuero, cuya principal característica consistía en
que su mecanismo interior era accionado por una poderosa cuerda de resorte
semejante a las de los relojes de pared. Llevaba dos discos, uno interior fijo,
en el que se tomaban las letras o números del texto a cifrar, y otro exterior
giratorio, en el que se leían las letras correspondientes del texto cifrado.
Asimismo, la firma Kryha proporcionó un equipo más grande y pesado, que era
operado eléctricamente en forma muy parecida al sistema “Enigma”.
Se proveyeron también equipos construidos por la firma A. B. Crytoteknik de
Estocolmo, así como de la firma Hagelin, cuyo modelo más perfeccionado, el
C.48A, fuera finalmente perfeccionado y adoptado por los norteamericanos bajo la
designación M.209, que también adoptaría más tarde nuestro Ejército.
De todo lo que acabamos de describir se desprende que ya en los comienzos de la
década de los años 30 el Ejército Argentino contaba con equipos criptadores
“Enigma”, adquiridos gracias a la sagacidad profesional y técnica del entonces
capitán Adolfo Carlos Camilo Udry, sin ningún acto novelado de espionaje y sin
drama ni leyenda alguna.
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