Criptografía mecanizada: ENIGMA (I)
Boletín Enigma nº 2 4 Abril 2002
Ult. rev. 05-01-2023
EDITORIAL
He aquí el segundo número del boletín ENIGMA. Si usted está leyendo estas líneas, significa que no se ha quedado en un proyecto de un solo número. Quisiera que se convirtiese en un boletín quincenal, o incluso semanal, pero el tiempo dirá. No es, ciertamente, por falta de material interesante, ni -espero- de lectores ávidos de bits. El problema es el del tiempo, que quien lo inventó puso solamente veinticuatro horas en un día, y tras trabajar, dormir y lujos similares no queda mucho.
Con todo, aquí estamos. En este segundo ejemplar, aparece por primera vez la máquina cuyo nombre he tomado prestado (es un decir) para mi boletín. Enigma es el nombre de una máquina alemana de cifrado que formó parte destacada durante la Segunda Guerra Mundial. Incluso hoy día se están reescribiendo capítulos de la historia reciente, de la batalla del Atlántico al desembarco en Normandía. Es una historia fascinante desde todos los puntos de vista: histórico, épico, militar y ciertamente criptográfico.
Espero ir desvelando historias Enigmáticas boletín a boletín, incluyendo material de investigación inédito hasta ahora. Paciencia. Mientras tanto, el siglo XXI sigue reclamando nuestra atención, con la LSSI a la cabeza.
Un apunte más, antes de comenzar. Desde la aparición del boletín 1, este servidor se ha liado a la cabeza la manta periodística. Algunos de los artículos que leeréis aquí han sido publicados en el diario digital www.libertaddigital.com, bajo la columna "Mundo Internet." Así que ya sabéis dónde podéis acudir entre un boletín y otro (y si mi estilo os cautiva, ya tardáis en decírselo a mi redactor jefe, para que me aumente el sueldo).
Criptografía mecanizada: ENIGMA (I)
[Del curso "Introducción a la criptografía convencional. Criptografía simétrica" de Arturo Quirantes. Primera edición: 1999]
Tras el término de la Primera Guerra Mundial, parecía que los criptoanalistas llevaban las de ganar. Sistema tras sistema había caído bajo sus ataques, y en su caída arrastraron a naciones enteras. David Kahn, en su extensa obra The Codebreakers (los rompecódigos) incluye diversos ejemplos. Los éxitos de los criptoanalistas en su tarea contribuyeron, por ejemplo, a que Alemania mantuviese una ventaja militar en el frente del Este contra fuerzas rusas superiores en número. Precipitó la entrada de Estados Unidos en la guerra, al descifrar un mensaje en el que Alemania inducía a Méjico a entrar en la guerra a cambio de importantes ganancias territoriales (el famoso telegrama Zimmermann). Y en 1918, cuando los ejércitos alemanes se aproximaban a París, el desciframiento de un mensaje permitió al mando aliado descubrir dónde se produciría la siguiente ofensiva, permitiendo con ello resistirla y detener la última gran embestida alemana.
Sin embargo, hacia los años 20, la situación comenzaba a cambiar. Por un lado, las extensas oficinas de descifrado fueron reducidas en personal y presupuesto (la gran crisis económica de 1929 aceleró ese proceso). Por otro, los criptógrafos comenzaban a usar sistemas mecanizados para la codificación de mensajes. De entre los muchos que aparecieron, vamos a mencionar como ejemplo una máquina de cifrado denominada Enigma. La Enigma, y máquinas similares, se basaban en elementos llamados rotores. Un rotor es, sencillamente, un disco de material no conductor en cada una de cuyas caras se encuentran 26 botones metálicos, uno por cada carácter del idioma que se usará (al ser alemán, no contaremos la ñ). Cada botón de una cara está unida con un botón de la otra cara mediante cables conductores. El rotor va, a su vez, conectado a dos teclados, uno de entrada y otro de salida. Así, al pulsar la tecla A en el primer teclado, obtendremos la letra D en el segundo teclado, la B nos da la Y, la C se empareja con la E y así sucesivamente. Es decir, relaciona un alfabeto con otro mediante una sustitución monoalfabética.
Hasta ahora, nada nuevo, salvo que la sustitución tiene lugar gracias a máquinas en lugar de a mano. Ahora supongamos que tenemos no uno, sino dos rotores, unidos entre sí por un eje. En ese caso, al pulsar la tecla A en el teclado de entrada, el primer rotor la convierte en D; a continuación, el segundo rotor convierte la D en otra letra (digamos, por ejemplo, la V). Esencialmente no hemos ganado nada, ya que seguimos teniendo una sustitución monoalfabética: la letra A se ha convertido ahora en la V.
Pero ahora viene lo diabólico: después haber cifrado la primera letra, giraremos el segundo rotor una posición. ¿Qué significa eso? Pues que si intentamos cifrar de nuevo la letra A, el primer rotor seguirá transformándolo en la D, pero ahora el segundo rotor la convertirá en otra letra distinta, digamos la Q. Cada vez que ciframos una letra, el segundo rotor gira una posición.
De ese modo, tenemos una sustitución polialfabética de período 26, ya que se usan 26 alfabetos. Al cabo de 26 cifrados, el segundo rotor vuelve a la posición de partida. Y ahora, seguro que alguno se estará imaginando lo que sigue. En efecto: cuando el segundo rotor haya efectuado una vuelta completa, el primer rotor gira una posición. De esa manera, ahora el primer rotor no transformará una A en una D, sino en otra letra distinta (digamos, la K), y el segundo rotor la transformará en una letra (digamos la U) distinta a la de hace 26 posiciones.
De repente, tenemos una sustitución de tipo polialfabético, pero con un período 26*26=676. Es decir, si cifrásemos un mensaje compuesto por la misma letra, obtendríamos un mensaje cifrado que se repetiría cada 676 caracteres. Cabe imaginarse lo que hace tanta transformación a los métodos criptoanalíticos de frecuencias y otros usados hasta entonces.
Este es el diseño básico de muchas de las máquinas de cifrado aparecidas en el intervalo de entreguerras. Reviste particular importancia la Enigma por su papel durante la Segunda Guerra Mundial, ya que fue adoptada por las fuerzas armadas alemanas para la transmisión de sus mensajes. La versión original de la Enigma es esta:
La señal (es decir, la letra), tras ser escrita en el teclado de entrada, pasa por tres rotores, que funcionan de la forma descrita anteriormente: con cada letra, el último rotor gira una posición, y cada vez que un rotor efectúa una vuelta completa, el rotor anterior gira una posición, como los dígitos del cuentakilómetros de un coche.
Tras salir del tercer rotor, la señal va a parar a un reflector, que no es más que un rotor fijo que devuelve la señal al rotor, pero por una ruta diferente. La señal vuelve a pasar por los tres rotores, en orden inverso al anterior. Finalmente, la señal sale por el tablero de salida. El uso del reflector permite que los procesos de cifrado y descifrado sean iguales. Es decir, si al introducir M obtenemos C, al introducir C obtenemos el mensaje original M.
Una búsqueda exhaustiva de la solución requeriría colocar cada uno de los rotores en todas las posiciones iniciales posibles: 26*26*26 = 17.576. Por supuesto, podrían añadirse más rotores. Pero el creador de la Enigma ideó diversos trucos para la versión militar.
Criptografía mecanizada: ENIGMA (II)
Boletín Enigma nº 3 6 Mayo 2002
EDITORIAL
No hay nada como meterse en proyectos ambiciosos uno tras otro, sin mesura ni limitaciones. Te mantiene la mente al cien por cien, te hace sentir que estás marcando la diferencia y te saca de monotonía en que a veces se convierte la vida. Y en lo que respecta a no tener un minuto libre, mejor ni os cuento.
Este mes ha sido un reto para el boletín ENIGMA. Y no es por falta de interés o de asuntos. Sencillamente, tiene que competir por mi tiempo y atención con otros proyectos, unos en marcha y otros en fase de desarrollo. Precisamente el fracaso temporal de uno de ellos ha hecho posible que ahora estéis leyendo estas líneas.
Hay mucho que escribir, pero demasiadas noticias o comentarios son de asuntos de actualidad que no pueden esperar un mes. Por eso, como ya os comenté el mes pasado, este que escribe también os deleita desde libertaddigital.com. !Quién me mandaría meterme en ese berenjenal! Escribo tan rápido como puedo, ellos me publican artículos a razón de dos por semana ... y aún así se quedan muchos temas interesantes en la bandeja de salida. Escribirlos todos significaría quedarme sin poder dormir, comer o llevar a los enanos al colegio, y no sólo de bits vive el hombre.
Pero que nadie crea que el boletín enigma languidece. Al contrario, es uno de mis proyectos favoritos y espero poder dedicarle toda la atención que se merece. Para empezar, un par de artículos estilo "cuéntame" aplicados a la criptografía. Seguiremos con una pieza rescatada del baúl de los recuerdos, pero que en mi opinión conserva todo su valor, y ahora más que nunca. Por supuesto, no nos olvidamos de nuestra ley favorita, la LSSI, que está a punto de salir aprobada (lo que no quiere decir que nos la traguemos sin más). Y un apartado sobre los entresijos del Taller de Criptografía y de éste que os escribe.
Queda una sección en blanco para incluir los comentarios, críticas y aportaciones de los lectores. Así que no se corte, venga y participe. A ver quién de vosotros inaugurará los comentarios enigmáticos.
Criptografía mecanizada: ENIGMA (II)
[Del curso "Introducción a la criptografía convencional. Criptografía simétrica" de Arturo Quirantes. Primera edición: 1999]
En primer lugar, hizo que los tres rotores fuesen intercambiables. Un operador autorizado tendría ahora que conocer las posiciones iniciales de los rotores junto con el orden en que han de insertarse. Como hay seis posibles ordenaciones de los rotores, el número de posibilidades es de 17.576*6 = 105.456. Versiones posteriores, como la naval, tenía cinco y hasta siete rotores diferentes entre los que elegir.
En segundo lugar, entre el tablero y el primer rotor se introdujo un tablero adicional de conexión (clavijero), cuyo papel es el de intercambiar ciertas letras por otras antes de que entrasen en el primer rotor. Actúa como una especie de rotor fijo ajustable. Típicamente, el clavijero intercambiaba seis pares de letras, lo que da una cantidad enorme de posibilidades (del orden de los cien mil millones).
Finalmente, cada operador puede elegir la posición inicial de los rotores. De ese modo, aún si el enemigo conociese todos los entresijos del sistema (el cableado de los rotores), e incluso si supiese cuál es el tipo de conexiones en el clavijero, necesitaría conocer qué rotores se utilizan en un momento dado y cuál es su posición inicial. Esos datos constituyen la "clave" del mensaje.
La fortaleza del sistema Enigma se basa, por tanto, en el número de posibles claves, pero también en la forma en que todos sus elementos se combinan. El clavijero permite un número enorme de conexiones, pero si nos paramos a pensarlo es simplemente una sustitución monoalfabética, en la que ni siquiera se sustituyen todas las letras sino solamente seis. Por otro lado, los rotores tienen un número mucho menor de posibles combinaciones, pero funcionan como una especie de sustitución polialfabética de período muy largo. Es la combinación de ambos elementos (clavijero y rotores) lo que convierte a la Enigma en un sistema prácticamente invulnerable.
O, al menos, es lo que parece en teoría. De hecho, a finales de los años treinta tanto franceses como británicos consideraban Enigma como un sistema indescifrable. Pero en la amenazada Polonia, grupos de criptógrafos y matemáticos aunaron sus esfuerzos para intentarlo. Y consiguieron éxitos parciales. Posteriormente, Gran Bretaña tomó el relevo y consiguió a duras penas derrotar al sistema.
La historia de la lucha entre los criptógrafos de Enigma y los criptoanalistas aliados merece ocupar el mismo lugar en la historia que gestas como la invasión de Normandía o la batalla de El Alamein. Algunos historiadores calculan que la ruptura de los códigos alemanes Enigma acortó la duración de la Segunda Guerra Mundial en entre uno y dos años. Contribuyó poderosamente a ganar la Batalla del Atlántico. Y sin embargo, cincuenta años después de que ocurriese, apenas si se están comenzando a conocer los detalles de ese frente de batalla. Libros como "Seizing the Enigma" de David Kahn y "Códigos secretos" de Simon Singh detallan ahora los pormenores de la victoria sobre Enigma.
No fue un camino fácil ni largo, pero para resumir, diremos que ni la máquina ni los hombres que la usaban eran perfectos. Enigma era lo más cerca que se había acercado el hombre a la criptografía invencible y fácil de usar, pero los criptógrafos obtuvieron pistas sobre su funcionamiento gracias a diversas fuentes. Algunas máquinas y sus rotores (y, más importante aún, las claves que usaban) fueron capturados durante la guerra. Con frecuencia, los operadores de radio eran imprudentes, escogiendo claves fáciles de adivinar, enviando el mismo mensaje cifrado de dos formas (una de ellas sencilla de criptoanalizar) y fallos similares. Y las brillantes mentes reunidas en Varsovia y posteriormente Londres detectaron sutiles pero aprovechables puntos débiles del sistema matemático subyacente a Enigma.
Tras la Segunda Guerra Mundial un velo de secreto envolvió a todas las operaciones relacionadas con el criptoanálisis aliado. Churchill en persona ordenó la destrucción por motivos de seguridad de la máquina Colossus, construida para ayudar a descifrar mensajes enemigos y que ahora es considerada como el primer ordenador de la historia. Así, Enigma conservó su reputación de invulnerabilidad, lo cual favoreció a Estados Unidos y Gran Bretaña, quienes podían así leer los mensajes que salían de las máquinas Enigma usadas por muchos países.