Analizando las claves
LA II GUERRA MUNDIAL
Siguiendo con la trayectoria bélica, la II Guerra Mundial fue otro de los escenarios donde la criptografía fue protagonista. Se construyeron varias máquinas de cifrado, como las máquinas Enigma y Lorentz en Alemania. Hubo otras, como Púrpura y Jade en Japón.
Por su popularidad e importancia en la historia se va a ahondar más en el cifrado de la máquina Enigma. Esta máquina se utilizó durante la Segunda Guerra Mundial para cifrar y descifrar los mensajes que se intercambiaban durante la guerra.

En la foto se muestra un ejemplar de máquina Enigma. Como puede verse, es parecida a una máquina de escribir. Está compuesta por un tablero de clavijas, el teclado, un panel luminoso en el que aparece iluminada la letra a la que se corresponde cifrada la tecla pulsada, además de los modificadores y rotores.
Es una máquina que realiza varias operaciones para el cifrado de cada carácter, lo que hace que el número de combinaciones posibles sea ciertamente elevado. Además, se utilizaba una clave de cifrado que cambiaba cada 8 horas, lo que complicaba aún más su criptoanálisis.
Alan Turing, considerado uno de los padres de la computación, junto a otros expertos, fueron protagonistas en el proceso de criptoanálisis de la máquina Enigma para descifrar los códigos nazis. Fue en Bletchley Park donde construyeron la llamada “bomba de Turing” y junto a su potencia y algunos fallos en el uso de Enigma fue posible descifrar los mensajes de los alemanes en la Segunda Guerra Mundial. Se estima que este hecho fue capaz de acortar en 2 o 3 años la duración de la guerra.
Píldora formativa 8: ¿Qué relación existe entre Alan Turing y la criptografía?
Otra de las técnicas usadas durante la Segunda Guerra Mundial fue la utilización de lenguas poco extendidas para ocultar de esta forma los mensajes secretos. En particular se usó el idioma de los indios navajos. Se estima que lo hablaban únicamente unos 4000 indios, por lo que era una lengua bastante desconocida y difícil de entender por el resto del mundo. El código estaba hecho a de palabras o frases en idioma navajo, que luego era traducido al inglés.
Éstos son algunos de los aspectos más destacables de la historia de la criptografía, aunque obviamente hay muchos más que no se han reflejado aquí en pro de no extenderse demasiado. El alumno interesado puede investigar más por su cuenta.
Todos estos hechos forman parte de lo que se llama la criptografía precientífica, la cual tenía en cierta medida una componente artística. Es a partir de que Shannon en 1949 propusiera sus postulados cuando se empieza a hablar de la criptografía científica. Estos aspectos se estudiarán con más detalle en el resto de esta asignatura.
SEGURIDAD CRIPTOGRÁFICA
En relación a la seguridad criptográfica se puede distinguir entre los siguientes conceptos:
- Incondicional (teórica). El sistema es seguro frente a atacantes con tiempo y recursos computacionales ilimitados. Actualmente el único sistema conocido que cumple estas características es el cifrado de Vernam.
- Computacional (práctica). Es seguro frente a atacantes con tiempo y recursos computacionales limitados. Un ejemplo de este tipo de sistemas es RSA.
- Seguridad probable. No se puede demostrar su seguridad pero el sistema no ha sido violado. Un ejemplo es el algoritmo DES.
- Seguridad condicional. Los demás sistemas. Por ejemplo, los algoritmos clásicos, que eran seguros mientras que un atacante no tenía medios para romperlos. Una de las diferencias entre la criptografía clásica y la moderna es que la primera ofrecía sistemas con seguridad probable mientras que, a día de hoy, con los avances en el criptoanálisis y la capacidad cada vez mayor de los sistemas computacionales es necesario que la seguridad sea matemáticamente demostrable.
CRIPTOANÁLISIS
Como se comentó el criptoanálisis persigue romper el cifrado y obtener ilegítimamente el mensaje original a partir del criptograma.
Antiguamente, para preservar la seguridad de los mensajes intercambiados, el funcionamiento del procedimiento criptográfico se escondía para evitar que los atacantes conocieran el método y pudieran emplearlo para leer los mensajes. La desventaja que tiene este método es que, si el algoritmo de cifrado fuese revelado, filtrado o se utilizase ingeniería inversa, un atacante podría tomar ventaja de esto y comprometer el mensaje original.
Para evitar esto en el S XIX se enunció el principio de Kerckhoffs, que dice lo siguiente:
“El atacante tiene pleno conocimiento del método de cifrado con excepción de la clave”.
Esto da un vuelvo al concepto anterior. De hecho, a día de hoy se garantiza la seguridad de los algoritmos de cifrado al hacerlos públicos y retar a que se rompan. De este modo la seguridad reside únicamente en la clave de cifrado y no en el ocultismo del modo de funcionamiento del algoritmo.
Los ataques pueden clasificarse en función a varios criterios. La primera clasificación diferencia entre los ataques pasivos y los activos.
- Los ataques pasivos son aquellos en los que el atacante monitoriza el canal de comunicación (ataque a la confidencialidad) pero no interviene sobre la información.
- Ataques activos. A diferencia de los anteriores, en este caso el atacante intenta modificar la información intercambiada, añadiendo, borano o alterando los mensajes enviados (esto supone un ataque a la confidencialidad, integridad y autenticidad).
Otra clasificación es la siguiente:
- Ataque sobre texto cifrado únicamente. En este ataque pasivo el atacante solo tiene acceso al criptograma. Tiene un conocimiento mínimo del mensaje original (como el idioma). Un buen método de cifrado no debería ser vulnerable a este ataque.
- Ataque sobre texto claro conocido. En este caso el atacante conoce una porción del texto claro, así como su correspondiente texto cifrado. Partiendo de esta información el atacante tiene como objetivo el deducir la clave o descifrar una nueva fracción del texto claro.
- Ataque adaptativo. Este ataque es una variante del anterior. En este caso el atacante puede obtener nuevo texto cifrado en función de otros criptogramas obtenidos anteriormente. Todos los textos cifrados corresponden a textos claros de su propia elección. Aunque este escenario no es muy realista tiene interés teórico.
La eficacia de un ataque criptoanalítico se mide por varios factores:
- Cantidad de pares texto claro y texto cifrado necesarios.
- Tiempo para criptoanálisis.
- Probabilidad de éxito del ataque.
EJEMPLO DE CRIPTOANÁLISIS
Un ejemplo de criptoanálisis se encuentra en el libro “El escarabajo de oro”, escrito por Edgar Alan Poe en 1843. Este libro explica detalladamente cómo se puede romper un procedimiento de cifrado mediante técnicas estadísticas. La obra relata una historia en la que se debe descifrar un mensaje secreto para encontrar la localización de un tesoro escondido.
El criptograma que aparece en el libro es el siguiente:
53‡‡†305))6;4826)4‡.)4‡);806;48†8¶
60))85;1‡(;:‡8†83(88)5†;46(;8896?;
8)‡(;485);5†2:‡(;49562(5-4)8¶8
;4069285);)6†8)4‡‡;1(‡9;48081;8:8‡1;48
†85;4)485†528806*81(‡9;48;(88;4(‡?34
;48)4‡;161;:188;‡?;
Vamos a ver de qué manera es posible criptoanalizar este criptograma.
Realizando un análisis de frecuencias se sabe que la letra más usada en la lengua inglesa es la letra “e”.
Analizando el criptograma se puede ver que el carácter más repetido es el “8”, por tanto se hace la asociación e → 8. De esta forma se sustituyen todas las apariciones de 8 en el criptograma por la letra “e”. El texto quedaría como sigue:
53‡‡†305))6;4e26)4‡.)4‡);e06;4e†e¶ 60))e5;1‡(;:‡e†e3(ee)5†;46(;ee96?;
e)‡(;4e5);5†2:‡(;49562(5-4)e¶e
;40692e5);)6†e)4‡‡;1(‡9;4e0e1;e:e‡1;4e
†e5;4)4e5†52ee06*e1(‡9;4e;(ee;4(‡?34
;4e)4‡;161;:1ee;‡?;
Para continuar se tiene en cuenta que la palabra “the” es la más habitual en el idioma inglés. Por tanto, se debe buscar en el criptograma el patrón 8, siendo * cualquier carácter. Se ve que en el criptograma aparece 7 veces repetido el patrón “;48”, de lo cual se deduce la siguiente asociación
t → ; h → 4 e → 8
En el criptograma se puede ver “;(88;4”. Tenemos todos los caracteres correspondientes excepto “(“. Como la “h” la asociamos a “4”, se deduce que el “(” no es “h”. Entonces se reduce a “;(88”. Esto encaja con la palabra “tree”, lo cual relaciona
r->(
Sustituyendo se obtiene: “the tree thrh the”. De donde se deduce la palabra “trough” que da lugar a las
asociaciones o → ‡ u → ? g
->3
Buscando en el texto se encuentra 83(88) egree. Asociando la palabra degree se obtiene una nueva letra d → +
Luego se ve la combinación 46 (; 88. Sustituyendo se obtiene th rtee*, lo cual sugiere la palabra “thirteen” y que permite obtener más asociaciones i → 6 n → *
De “5good” se deduce a → 5 Sustituyendo los símbolos en el criptograma se obtiene el texto original:
“A good glass in the bishop’s hostel in the devil’s seat forty-one degrees and thirteen minutes northeast and by north main branch seventh limb east side shoot from the left eye of the death’s-head a bee line from the tree through the shot fifty feet out.”
Lo cual nos lleva a la localización del tesoro ☺
CONDICIONES DE SECRETO PERFECTO
En 1949 Shannon enunció las condiciones de secreto perfecto, las cuales reflejan en forma matemática la seguridad de un sistema criptográfico. Estas condiciones se basan en dos hipótesis fundamentales
- La clave se utilizará solamente una vez.
- El atacante sólo tiene acceso al criptograma.
Tomando esto como base, se dice que un sistema criptográfico cumple las condiciones de secreto perfecto si el texto claro X es estadísticamente independiente del criptograma Y, para todos los posibles textos claros y todos los posibles criptogramas.
Matemáticamente se expresa como P(X = x | Y = y) = P(X = x)
Esto refleja que el valor tomado por la variable X es el mismo con o sin el conocimiento de la variable Y. Dicho de otra manera, el criptograma no aporta información sobre el texto claro a un criptoanalista, independientemente de los recursos y tiempo de los que disponga.
Shannon, conocido como padre de la teoría de la información, introdujo el concepto de entropía. Ésta mide la incertidumbre de una fuente de información y es un concepto bastante usado en criptografía. Basándose en la entropía, Shannon determinó cuál era la longitud mínima de la clave para que se pudieran dar las condiciones de secreto perfecto. El resultado es que la longitud de la clave tiene que ser al menos tan larga como la longitud del texto claro. Esto es, K >= M, siendo K la longitud de la clave y M la del mensaje original.
CIFRADORES ADITIVOS
Los cifradores aditivos módulo L verifican las condiciones de cifrado perfecto.
Dado un alfabeto {0, 1, …, L-1} para el texto claro y criptograma, sea X el texto claro, Y el texto cifrado, Z la clave, M la longitud del texto claro, N la longitud del criptograma y K la longitud de la clave.
Debe darse que M=K=N.
La clave Z debe elegirse de forma aleatoria.
La transformación de cifrado se realiza aplicando una operación XOR entre cada elemento del texto claro y la clave.
A cada texto claro X le puede corresponder, con igual probabilidad, cualquiera de los LM posibles criptogramas. Por tanto, la información aportada por el criptograma sobre el texto claro es nula, esto es, X e Y son estadísticamente independientes.
CONCLUSIONES
La criptografía está relacionada códigos secretos, con cómo cifrar y descifrar mensajes de modo que sólo el destinatario pueda acceder al mensaje, de modo que se proteja la información.
La criptografía tiene origen alrededor del S. V a. C. y ha ido evolucionando a lo largo del tiempo, dando lugar a sistemas cada vez más sofisticados. Ha habido muchos sistemas criprotográficos a lo largo de la historia y en este capítulo se han repasado algunos de los más importantes, analizando su funcionamiento y características, así como los puntos débiles que los pueden hacer sucumbir ante un ataque criptoanalítico.
Se han repasado también conceptos relativos al criptoanálisis y las condiciones de secreto perfecto así como el funcionamiento de los cifradores aditivos un repaso de cuáles son las aplicaciones más importantes de la criptografía.