Los peores algoritmos de cifrado de la historia

Estamos acostumbrados a leer sobre los algoritmos de cifrado más usados y reconocidos por la industria como puede ser el popular cifrado AES (Advanced Encryption Standard), el RSA o Blowfish. Todos ellos son cifrados digitales y relativamente modernos, pero ¿alguna vez te has preguntado qué cifrados son los más vulnerables?

En esta ocasión, vamos a dar un pequeño repaso a la historia de este campo y te mostraré algunos de los peores algoritmos de la historia que se han usado para proteger información.

¿QUÉ ES UN ALGORITMO DE CIFRADO?

Un algoritmo es un conjunto de operaciones que entrelazadas entre sí consiguen resolver un problema.

Dentro del campo de la seguridad de la información podemos hablar de algoritmos de cifrados, que son capaces de transformar datos o información, y convertirlos en ilegibles para cualquiera que no tenga la clave de descifrado. El objetivo de estos algoritmos es proteger la información y mantener la confidencialidad frente a personas o máquinas no autorizadas.

LOS PEORES ALGORITMOS DE LA HISTORIA

La historia de la protección de la información es una disciplina más antigua de lo que te puedes figurar. Tanto, que vamos a tener que remontarnos a más de dos milenios atrás para encontrar los dos primeros algoritmos menos eficaces para proteger información de la historia, pero que en su día fueron muy utilizados.

El cuadrado de Polibio y el cifrado del César

Para conocer el primer algoritmo de cifrado de la historia nos tenemos que remontar a la antigua Grecia donde Polibio (150 a.C), un antiguo historiador griego, ideó un cifrado basado en un rejilla de letras. Para usarlo se asignaba cada letra del alfabeto a una posición en la rejilla, y se usaban números para representar cada letra. De forma que el receptor del mensaje podía descifrar el mensaje utilizando la misma rejilla.

Este tipo de cifrado se denomina cifrados por sustitución simple. Lo verdaderamente sorprendente es que los cifrados por sustitución han estado presentes en el uso militar ¡hasta al menos 1960! Pero he de decirte que este tipo de cifrados están obsoletos y son vulnerables a día de hoy, aunque se intenten reforzar con varias claves de cifrado, como veremos más adelante.

Un siglo después del descubrimiento de Polibio, se sabe que Julio César (50 a.C) también utilizaba este tipo de cifrado por sustitución. La técnica de este emperador romano consistía en remplazar cada letra del mensaje por otra letra que estaba tres lugares más adelante en el alfabeto.

Funcionamiento de la cifra del César

Si analizamos en profundidad el funcionamiento de ambos, podemos deducir que lo que estamos haciendo es ofuscar el mensaje mediante un patrón muy sencillo.

Estos dos simples métodos de cifrado son los más antiguos de los que se tiene constancia y aunque fueran fáciles de descifrar si el atacante deducía el patrón, su uso estuvo vigente más de un milenio.

Cifrado de Vigenère

Antes de ver cómo funciona tengo que comentarte que este cifrado tiene una curiosidad: la primera versión de este algoritmo data de 1540 pero siglos después lo utilizaría un diplomático, criptólogo y químico francés al que se atribuyó erróneamente el nombre de este algoritmo, Blaise de Vigniere. Su creador real fue Giovan Battista Belasso en 1553. Lo que ocurrió realmente es que Vigniere utilizó el algoritmo de Belsasso cambiándola clave de cifrado para que fuera más robusta y atribuyéndole a él su creación.

Pero al margen del error en el nombre este cifrado, al igual que los anteriores, pertenece a la categoría de cifrados por sustitución. Un cifrado de Vigenère, también conocido como la cifra indescifrable, se construye utilizando varios cifrados César en diferentes partes del mensaje, resultando así una versión más compleja del cifrado del César. Esto provoca una ofuscación de la información más efectiva.

La diferencia fundamental es que el cifrado de Vigenère utiliza una serie de tablas de alfabetos diferentes para cifrar un mensaje. Esto se logra mediante el uso de una clave que se repite a lo largo del mensaje, lo que hace que el cifrado sea más resistente a los ataques de criptoanálisis.

El cifrado de Vigenère funciona de la siguiente manera:

  1. Se elige una clave de cifrado, que es una palabra o frase que se repite a lo largo del mensaje.
  2. Luego, se divide el mensaje original en bloques de letras, y se utiliza cada letra de la clave para cifrar cada letra del mensaje original en el mismo bloque utilizando una matriz o tabla de Vigenère.

La tabla de Vigenère es una matriz de letras que se utiliza para determinar el cifrado de cada letra. La tabla se construye utilizando una serie de alfabetos diferentes, cada uno desplazado una letra a la derecha del alfabeto anterior. Para cifrar una letra en particular, se busca la letra en la primera fila de la tabla, y luego se sigue la columna hacia abajo hasta la letra correspondiente de la clave.

Aunque el cifrado de Vigenère fue considerado muy seguro en su época, hoy en día está superado y se considera vulnerable a los ataques de criptoanálisis modernos (descifrado por ordenador).

Hay que destacar que este método de proteger la información ha estado activo durante siglos ya que era muy fácil de implementar y parecía muy difícil de descifrar. Tanto es así que no fue hasta 1917 cuando el criptógrafo británico William Friedman desarrolló un método sistemático para romper el cifrado de Vigenère, conocido como el método de Kasiski.

El método de Kasiski aprovecha el hecho de que la repetición de una clave de cifrado en un mensaje cifrado crea patrones de letras cifradas que se repiten en el mensaje. Al buscar estos patrones y analizar las distancias entre ellos, es posible determinar la longitud de la clave de cifrado. Una vez que se conoce la longitud de la clave, se pueden utilizar técnicas de análisis de frecuencia para descubrir la clave de cifrado en sí misma.

La máquina Enigma

La Máquina Enigma fue una dispositivo de cifrado electromecánico utilizado por el ejército de la Alemania nazi durante la Segunda Guerra Mundial con el objetivo de proteger sus comunicaciones militares. La Enigma fue inventada a finales de la década de 1910 y mejorada a lo largo de los años hasta convertirse en un sofisticado dispositivo de cifrado militar. También fue usado por el ejército español durante la guerra civil por el bando sublevado.

Funcionaba mediante el uso de una serie de rotores, que podían ser colocados en una variedad de posiciones y configuraciones para cifrar y descifrar mensajes. Cada rotor contenía una serie de conexiones eléctricas que permitían la sustitución de letras. Al presionar una tecla en el teclado de la máquina, se iniciaba un circuito eléctrico a través de los rotores, lo que producía una letra cifrada en una lámpara indicadora.

La seguridad de la Máquina Enigma se basaba en la gran cantidad de posibles configuraciones de los rotores, lo que hacía que fuera muy difícil para los criptoanalistas descifrar los mensajes cifrados.

Sin embargo, durante la Segunda Guerra Mundial, los aliados desarrollaron una serie de técnicas y tecnologías para descifrar los mensajes Enigma, lo que permitió a los aliados obtener información valiosa sobre los movimientos y planes militares de los alemanes. Entre los artífices de este hecho estuvo Alan Turin, uno de los padres de la ciencia de la computación.

Cuando el cifrado fue vulnerado, los aliados tuvieron en su poder las comunicaciones del ejército alemán, generando un punto de inflexión decisivo para el transcurso de la guerra y siendo un pilar fundamental para la victoria aliada.

Cuando los aliados rompieron el cifrado de Enigma las máquinas cayeron en el olvido en occidente y fueron vendidas a otras naciones, fundamentalmente en África.

Hoy en día, la Máquina Enigma se considera un hito importante en la historia de la criptografía, y es recordada por su papel en la Segunda Guerra Mundial y su influencia en el desarrollo de técnicas modernas de cifrado y seguridad.

A5/1

El algoritmo A5/ es un algoritmo del tipo cifrado de flujo que fue utilizado para encriptar las redes móviles GSM (Global System for Mobile Communications) con el fin de proteger la privacidad de las comunicaciones entre los dispositivos móviles y las estaciones base. Fue desarrollado en 1987 y se utilizaba en redes GSM de todo el mundo. Aunque el algoritmo A5/1 se sigue utilizando en algunos sistemas de telefonía móvil, su uso se ha ido reduciendo en los últimos años debido a las vulnerabilidades de seguridad que presenta.

La gran debilidad de este algoritmo fue basar su seguridad en el desconocimiento público de cómo funciona, ya que la empresa encargada del desarrollo no divulgó información acerca del mecanismo encargado de cifrar las comunicaciones y lo prefirió mantenerlo en secreto. Precisamente porque era un cifrado muy débil, pero que fue presentado como robusto y rápido a la industria. Una bomba de relojería. Cuando se popularizó su uso, empresas y organizamos todo el mundo utilizando ingeniería inversa descubrieron que era un cifrado muy débil.

A principios de los 2000 dos ingenieros hicieron público un estudio sobre la seguridad de las comunicaciones móviles, en el que incluían un método para romper este cifrado en segundos, vulnerando así las comunicaciones de los teléfonos móviles.

Gracias a este trabajo hoy día sabemos cómo funciona: el algoritmo A5/1 genera una secuencia de bits aleatorios que se combinan con el flujo de datos para producir un flujo de datos cifrado. La clave de cifrado se genera a partir de la clave secreta del usuario y un número de secuencia específico de cada llamada. El flujo de datos cifrado se utiliza para proteger la privacidad de la comunicación entre el dispositivo móvil y la estación base, impidiendo que terceros puedan interceptar y leer las comunicaciones.

En la actualidad, se han desarrollado algoritmos de cifrado más seguros para su uso en la tecnología de telefonía móvil, como el algoritmo A5/3 utilizado en redes 3G y posteriores.