sábado, 26 de agosto de 2017

Criptografía (LV): ¿Sabías que...? (XI)

En el post anterior conté cómo dos de los protagonistas de la novela "Viaje al centro de la tierra" de Julio Verne, el profesor Otto Lidenbrock y su sobrino Axel, consiguen descifrar un criptograma escrito en un alfabético rúnico por el alquimista islandés Arne Saknussemm y que ocultaba el secreto de la entrada al camino a seguir para llegar al centro de la tierra (un cráter concreto de un volcán también islandés).

En mi opinión el proceso de descifrado de dicho criptograma, como no podía ser de otra forma, está muy bien contado en la novela por su genial autor, desde la conjetura inicial realizada por el profesor sobre la lengua en la que estaría escrito el texto en claro, pasando por la identificación del método de cifrado utilizado (transposición de columnas simple) y la determinación de la disposición de los caracteres incluidos en cada una de las columnas de la tabla empleada, hasta la resolución final del enigma (escritura inversa del texto en claro antes de la transposición, es decir, en sentido contrario al habitual, y que no deja de ser otro sistema de transposición más, aunque el más básico; alteración del orden de los caracteres del texto en claro siguiendo un criterio predeterminado para lograr el efecto de difusión en un criptograma).

Tal y como decía en el post anterior, el criptograma que aparece en la novela y el texto obtenido tras sustituir cada carácter rúnico por el correspondiente a nuestro alfabeto son los siguientes (el primer carácter rúnico se corresponde con una doble "m"):
¿Cómo intentaría yo descifrar este criptograma?.

Considerando que cada carácter del criptograma se corresponda con un único carácter del texto en claro, y viceversa, cosa que yo supondría que es lo más probable, lo primero que yo me preguntaría es qué tipo de criptosistema utilizó Arne Saknussemm para ocultar su secreto: transposición, sustitución monoalfabética o sustitución polialfabética, y para dar respuesta a esta primera pregunta calcularía el Índice de Coincidencia (IC) del criptograma, es decir, la probabilidad de que dos caracteres tomados al azar del criptograma resulten ser iguales.

Si no me he equivocado al calcularlo: IC = 0,0697.

Con lo que creo que se puede descartar la sustitución polialfabética, ya que este IC es muy superior al de una distribución uniforme (aquella en la que cada símbolo o carácter del alfabeto ocurre con la misma frecuencia), valor al que se aproximaría en el caso de haberse empleado un criptosistema de sustitución polialfabética, y, por tanto, podemos pensar que el tipo de cifrado es de transposición o de sustitución monoalfabética simple, o una combinación de ambos.

El profesor no tiene ninguna duda de que cada carácter de nuestro alfabeto en el texto en claro se corresponde con su correspondiente carácter rúnico en el criptograma, pero esto no tendría que ser necesariamente así. Pensemos, por ejemplo, en un cifrado tipo César en el que hubiera una sustitución de cada carácter de nuestro alfabeto por el carácter rúnico que se encuentre tres posiciones más adelante con respecto a la que le corresponda a su equivalente en el alfabeto rúnico. De esta forma, por ejemplo, el carácter "a" de nuestro alfabeto sería sustituido en el criptograma por el símbolo correspondiente a la "d" en el alfabeto rúnico.

Si esto fuera como piensa el profesor la utilización del alfabeto rúnico, en mi opinión, no aportaría ningún valor criptográfico al sistema de cifrado utilizado (lo único es que sería más fácil descifrar el criptograma si se conoce dicho alfabeto, aunque ni siquiera esto sería estrictamente necesario, y que envuelve a este en un cierto halo de misterio), mientras que si hubiera una sustitución de los caracteres de nuestro alfabeto por otro distinto de su equivalente en el alfabeto rúnico se conseguiría un cierto efecto de confusión en el criptograma, dotando de mayor robustez al cifrado.

¿Podríamos intentar averiguar si cada carácter de nuestro alfabeto se sustituye en el criptograma por su equivalente?, o, lo que creo que es lo mismo, ¿Podríamos saber si no se ha utilizado un sistema de sustitución monoalfabética?.

Para ello yo acudiría a un análisis de frecuencias, de la siguiente manera:
En la novela el profesor establece la hipótesis de que la lengua en la que está escrito el texto en claro es el latín. Pues bien, comparando la frecuencia de aparición de los caracteres rúnicos en el criptograma con la frecuencia de aparición de sus caracteres equivalentes en nuestro alfabeto, se observa que el porcentaje de aparición de los primeros se aproxima bastante, salvo algún caso que comentaré después, al de los segundos en un texto escrito en latín, español o inglés, lo que creo que puede decir que cada carácter rúnico del criptograma se corresponde con su carácter equivalente en nuestro alfabeto. Así, por ejemplo, el carácter rúnico que se corresponde con la "e" es el que significativamente más veces aparece en el criptograma y el significativamente más frecuente en los tres idiomas considerados, por lo que obtengo la conclusión de que se puede descartar también la sustitución monoalfabética como criptosistema empleado en el cifrado, y, por tanto, conjeturar que lo más probable es que el tipo de este sea de transposición.

La hipótesis del profesor se basa en parte en la proporción de vocales frente a consonantes, ya que esta es mayor en las lenguas meridionales que en los idiomas del norte, mucho más ricos en consonantes, y, efectivamente, ese es un buen indicador si el sistema empleado en el cifrado es el de transposición, lo que tal y como digo es lo más probable. Si esto último fuera así, el porcentaje de vocales del criptograma, y como el sistema usado sería de transposición también en el texto en claro, en comparación con el que se espera encontrar en un texto escrito en cada uno de los tres idiomas citados sería:
Lo que unido a que en el análisis de frecuencias anterior la letra "t" aparece en el criptograma con una frecuencia bastante superior a la que se esperaría en un texto en español y la "h" no aparece en el criptograma siendo una letra muy frecuente en inglés, creo que puede indicar que el profesor tenía razón, es decir, el latín es la lengua más probable en la que se encontraría escrito el texto en claro.

Pero yo haría un último intento para confirmarlo. Para ello acudiría otra vez al Índice de Coincidencia:
Como se observa el IC del criptograma está un poco más próximo al del latín (como no lo he encontrado en Internet, lo he estimado a partir de un fragmento con 27.890 caracteres de la Eneida de Virgilio). Aunque la diferencia no es significativa creo que esta circunstancia, junto con la anterior más la observación realizada por el profesor de que como Saknussemm era un hombre instruido, al no haberlo escrito en su lengua nativa (el islandés), es de suponer que podría haber utilizado preferentemente el latín (en boga entre las personas cultas en el siglo XVI), puede también indicar que, efectivamente, lo más probable es que esta sea la lengua en la que está escrita el texto en claro.

Recapitulemos: hasta el momento no he hecho más que ratificar, aunque utilizando algunos argumentos adicionales, las conclusiones a las que llega el profesor en la novela; el criptosistema empleado es de transposición y la lengua más probable en la que está escrito el texto en claro es el latín.

Puede que parezca que ambas hipótesis no son gran cosa, pero son la base para intentar un criptoanálisis con éxito.

A partir de aquí el profesor deduce que el sistema de cifrado empleado es el de transposición por columnas simple; entiendo que debido a que el criptograma está divido en bloques o grupos (21) de caracteres, los primeros con una longitud de 7 símbolos y los últimos de 6, lo que le lleva, tal y como expliqué en el post anterior, a dar con la disposición correcta de los caracteres del texto en claro antes del cifrado por transposición de columnas simple (se habría utilizado una tabla de 7 filas y 21 columnas).

Lástima que no se diera cuenta de que antes de ello, en una fase previa de cifrado, Saknussemm había utilizado la escritura inversa del texto en claro (otro método de transposición), de lo que sólo se percata por pura casualidad su sobrino Axel y lo que a mi me lleva a concluir que el criptoanálisis no es una ciencia exacta, es decir, no es únicamente método, sino que se necesitan además grandes dosis de intuición y, por qué no decirlo, de suerte.

No hay comentarios:

Publicar un comentario