La cifra indecifrable: la historia del método que por cerca de tres siglos se proclamó seguro.

La historia de la criptografía - no podía ser de otra forma - es un conjunto de grandes secretos, confusiones e intrigas. Criptosistemas que prometen ser indescifrables y sufren quiebres estrepitosos. Métodos que se redescubren y reutilizan en diferentes épocas. Grandes genios que están condenados al anonimato.

Un caso interesante es el llamado cifrado de Vigenere. Un método que recibe su nombre de alguien que no lo inventó, que fue declarado indescifrable y fue quebrado al menos dos veces. Incluso, a quien se le atribuye generó un mejor método del que no recibió crédito alguno.


Blaise de Vigenere
El cifrado de vigenere es uno de los primeros métodos de sustitución polialfabético publicados. Es decir que un mismo carácter se codifica con distintos símbolos de a cuerdo a la posición que ocupa en el mensaje y una clave secreta. 

Blaise de Vigenère fue un diplomático Francés que sirvió como secretario del rey Enrique III de Francia. Nació el 5 de Abril de 1523 y murió el 19 de Febrero de 1596. Entre sus labores estaba la necesidad de escribir mensajes secretos. Esto lo hizo interesarse por la criptografía. Publicó en el año 1586 un libro llamado Traicté des Chiffres ou Secrètes Manières d'Escrire. Los métodos descriptos no incluyen, el hoy mal conocido como, "cifrado Vigenere".


Giovan Battista Belloso
Se deben retroceder algunos años al 1553 para encontrar al autor original del método. Giovan Battista Bellaso escribe su manual de criptografía La cifra del. Sig. Giovan Battista Bellaso. Entre sus hojas se encuentra el atribuido a vigenere. Pero incluso hay que retroceder un poco más para encontrar a quien dió el puntapie inicial en los métodos polialfabéticos. Leon Battista Alberti en su libro De cifris de 1466 propone el primer método del que derivaría el resto. Alberti, que es más conocido como arquitecto que como criptografo, fue sin lugar a dudas un hombre de amplios intereses y saberes. Inventó el que luego se conoció como cifrado Alverti durante su trabajo en la corte del Vaticano.

Leo Battista Alberti
Para utillizar el cifrado Alberti se requiere establecer entre el emisor y el receptor un conjunto de alfabetos o tablas de sustitución de caracteres. En cada tabla se define como se codifica cada caracter en otro. Propone utilizar un disco móvil formado por dos partes encimadas que al rotarlas presentan diferentes configuraciones que define el alfabeto a aplicar.
Para intercambiar el mensaje se tienen que poner de acuerdo en la configuración inicial a aplicar. Con ella se codifican 4 (o 5) caracteres del mensaje para luego rotar el disco en una configuración diferente. La definición de que configuración adoptar se encontraba al leer el próximo caracter del mensaje (el 5 o 6). El valor leido define la nueva posición del disco y por lo tanto a nueva tabla de sustituciones a utilizar por los proximos 3 o 4 caracteres..

La gran novedad de este método es que dificulta el análisis de frecuencia del que sufren los métodos monoalfabéticos (es decir que siempre utilizan el mismo alfabeto de sustitución). Cada idioma contiene caracteres que se utilizan más que otros. Observando las frecuencias de los símbolos codificados se puede inferir la letra original. Al ir cambiando regularmente de alfabeto no puede establecerse en forma sencilla que caracter se esta sustituyendo por cual. Por otro lado, el gran problema es que conocido los alfabetos de sustituciones (que eran fijos y mantenidos entre comunicación y comunicación) con solo probar cual es la configuración inicial (generalmente entre un numero de 10 a 26 configuraciones) se puede iniciar el proceso de desencriptación sin mayor problemas. Cuando los primeros 4 o 5 caracteres parecen ser una fragmento o una palabra valida se puede tomar a la siguiente como el caracter que indica la próxima configuración. De esa forma, probando pocas variaciones ya se puede desencriptar el mensaje.

Johanner Trithemius
Belloso parte del método de Alberti pero propone un mecanismo más robusto de encriptación. Reemplaza el disco de alberti por la tabula recta, inventada por Johannes Trithemius en 1508 como una forma sencilla de generar un conjunto de alfabetos. La tabula recta es una matriz donde cada fila representa el caracter a codificar y la columna el alfabeto a utilizar. La celda que une la fila con la columna seleccionada indica el caracter codificado. Luego propone utilizar una palabra clave que debe conocer el emisor y el receptor como mecanismo de determinar que alfabetos seleccionar. Para encriptar el mensaje se debe concatenar la palabra clave consigo misma tantas veces hasta llegar a la longitud del mensaje (la última repetición trunca la palabra clave si se pasa de longitud). Si la clave es "EUREKA" y el mensaje tiene longitud 80 se concatenara "EUREKAEUREKA...." hasta completar la longitud requerida. Empareja cada caracter del mensaje con el de las palabras claves concatenadas y codifica usando la tabula recta. El símbolo encriptado se obtiene al codificar el caracter del mensaje con el alfabeto que determina el caracter de la cadena de palabras claves concatenadas.

Este método es el que se conoce actualmente como el cifrado de Vigenere. También recibió el sobrenombre de le chiffre indéchiffrable (en frances "la cifra indecifrable"). Esto es porque durante muchos años no se publicó un mecanismo de criptoanálisis eficaz. Incluso el matemático y escritor Charles Lutwidge Dodgson (más conocido como Lewis Carroll) lo llamó el cifrado irrompible.

La primera publicación del quiebre del método se conoció por mano y obra de Friedrich Wilhelm Kasiski, oficial del ejercito prusiano, en su libro Die Geheimschriften und die Dechiffrir-Kunst (Escritura secreta y el arte del descifrado) de 1863. Lo que se dio cuenta Kasiski es que el método es básicamente la utilización de un conjunto de alfabetos de cifrado que secuencialmente se repiten en el mismo orden. Con conocer la longitud "n" de la clave y si se contaba con una mensaje cifrado suficientemente extenso se podía transformar la desencripción en "n" problemas de cifrados monoalfabéticos. Entonces realizaba una análisis de frecuencias. El reto, por lo tanto, es descubrir la longitud de la clave. Kasiski propone buscar dentro del mensaje encriptado secuencias de caracteres que se repitan. Deduce que probablemente correspondían a la misma secuencia del caracteres del mensaje sin encriptar y por lo tanto que fueron encriptados por la misma porción de la clave. Luego mide la distancia en caracteres de las repeticiones y supone que es un múltiplo de la longitud de la clave. Prueba para cada valor de longitud posible dividir el mensaje encriptado en "n" mansajes. Para esa separación en cada subconjunto i se toman los i+n*j caracteres con j=0,1,2... A cada conjunto se le aplica un análisis de frecuencias.

Aquí un ejemplo practico de criptoanalisis aplicando la exploracion de Kasiski
Vigenere propuso otro método polialfabético que es una variante más robusta que el criptoanalisado por Kasiski. Hoy día recibe el nombre de Autokey. Este método utiliza una clave acordada por el emisor y el receptor. Luego para encriptar utiliza el mismo método que el cifrado de vigenere, pero en vez de concatenar la clave consigo misma, concatena la clave con el mensaje a encriptar. Utilizando nuevamente la clave "EUREKA" y si el mensaje a encriptar es "TRESTRISTRETIGRES", la clave para encriptar sera "EUREKATRESTRISTET". La ventaja de este método es que rompe la regularidad de rotación del alfabeto de codificación.
Charles Babbage
Autokey se mantuvo también durante siglos "seguro". No dejó de serlo públicamente por deseo de quien lo quebró, que murió sin informarlo. Fue leyendo y revisando sus notas póstumas que el misterio se develó. Charles Babbage matemático inglés y padre de la informática trabajó como agente británico durante la guerra de Crimea. Durante esta contienda integró el equipo de criptoanalistas del gobierno y hay indicios que para 1854 había resuelto el dilema. Lamentablemente el descubrimiento se mantuvo en secreto y recién en 1970 al analizar sus notas salió a la luz.

Lo que Babbage notó es que al encriptar con el mismo mensaje ciertas palabras del idioma de alto uso tenían una probabilidad grande de ser utilizadas. Probando la repetición de palabras cortas de uso frecuente generaba claves ficticias. Esas claves las utilizaba con difefentes corrimientos en el texto encriptado. Luego evaluaba si algunas de las secuencias de caracteres tenía algún sentido. Las que consideraba que lo tenían pasaban a ser probadas con el mismo método para comprobar si daba más información del mensaje.

Aquí un ejemplo práctico del criptoanalisis por el método de Babbage

El poder computacional hoy día hace el quiebre de estos criptosistemas, gracias a Kasiski y Babbage, sean cuestión de pocos minutos. Pero por muchos años fueron métodos que brindaron seguridad a sus usuarios... o al menos eso parece. El mundo de la criptografía guarda muchos secretos.

Comentarios