Decía, en el post anterior sobre la novela "La jangada" de Julio Verne, que una curiosidad adicional era que su primera publicación fue por entregas en 'Le magazine d'éducation et de récréation', desde el 1 de enero de 1881 hasta el 1 de diciembre del mismo año, y que se dice que en octubre de 1881 un joven lector logró descifrar el criptograma antes de que se publicara la solución. También decía que aunque no se especifica qué método empleó para ello, se especula que fue mediante el método Kasiski, que fue publicado en 1863, es decir, 18 años antes que la novela.
Pues bien, yo creo que es muy probable que esto ocurriera realmente y que el método empleado fuera el indicado, y en esta entrada me propongo demostrar que pudo ser así y, por tanto, que tanto el juez Vicente Jarríquez como Julio Verne se equivocaban :), ya que no es necesario conocer la clave para descifrar el criptograma.Recordar (ver el post anterior) que en la novela el juez Vicente Jarríquez consigue descifrar el criptograma porque alguien le proporciona un nombre (Ortega) a partir del cuál obtiene la clave. Con esa palabra probable (en terminología critoptoanalítica, 'crib') el juez realiza un ataque de texto claro conocido ('known plaintext attack') y, como efectivamente ese nombre figuraba en el texto en claro y consigue encajarlo en el lugar correcto del criptograma, obtiene directamente la clave.
Lo anterior, darle al juez el nombre del firmante del documento a descifrar, es como darle directamente la clave, pues para obtenerla basta con comparar éste con los seis últimos caracteres del criptograma, lugar donde lógicamente se espera que aparezca el nombre del firmante.
Realmente, yo creo que en la novela ni siquiera se explica muy bien o, al menos, de forma convincente cómo el juez llega a la conclusión de que el cifrado utilizado es uno del tipo de sustitución simple polialfabética, y menos aún de que se trate del cifrado de Gronsfeld, pero entiendo perfectamente que en la novela sea así, porque si se hubiera puesto lo que me dispongo a explicar a continuación la novela hubiera sido de un aburrimiento absoluto.
Dicho todo lo anterior, como digo no es necesario conocer directamente, o casi directamente, la clave para descifrar el criptograma, y para demostrarlo me pongo en los zapatos del joven lector que logró descifrar el criptograma antes de que se publicara la solución y me pegunto a mí mismo: ¿Cómo hubiera yo descifrado este criptograma, incluso sin saber nada más de él que el propio criptograma?
Phyjslyddqfdzxgasgzzqqehxgkfndrxujugiocytdxvksbxhhuypohdvyrymhuhpuyd
kjoxphetozsletnpmvffovpdpajxhyynojyggaymeqynfuqlnmvlyfgsuzmqiztlbqgyug
sqeubvnrcredgruzblrmxyuhqhpzdrrgcrohepqxufivvrplphonthvddqfhqsntzhhhn
fepmqkyuuexktogzgkyuumfvijdqdpzjqsykrplxhxqrymvklohhhotozvdksppsuvjhd
Lo primero que voy a hacer es intentar averiguar de qué tipo de criptosistema se trata. Para ello, voy a utilizar el Índice de Coincidencia (IC), aunque soy consciente de que éste no podrían haberlo empleado ni el juez ni el joven lector que descifro el criptograma antes de que se publicara la solución, ya que esta técnica de criptoanálisis no fue inventada por William F. Friedman hasta 1920, por cierto, uno de los grandes genios de la criptografía y el criptoanálisis cuya vocación por estas materias se despertó leyendo "El escarabajo de oro" de Edgar Allan Poe.El Índice de Coincidencia (IC) del criptograma, es decir, la probabilidad de que dos letras tomadas al azar del criptograma resulten ser iguales, si no me he equivocado al calcularlo, es:
IC = 0,044374177
Lo que está muy alejado del que le correspondería a un texto escrito en: francés, portugués, español o inglés (se esperaría que éste estuviera alrededor o fuera mayor que 0,0685) y está mucho más cercano al de un texto escrito de forma aleatoria, por lo que puedo descartar tanto un cifrado de transposición como uno simple de sustitución monoalfabética, y también un cifrado que combine ambos tipos, ya que si esto fuera así la frecuencia de las letras del texto en claro se habría trasladado al criptograma y, por tanto, el IC estaría entorno o sería superior al indicado.
Por tanto, por la época en la que se escribe el criptograma, primera mitad del siglo XIX, yo diría que se trata, casi con total seguridad, de un cifrado simple de sustitución polialfabética y, muy probablemente del cifrado de Vigenère o alguna de las variantes de éste que se propusieron y utilizaron en dicho siglo (Gronsfeld, Beaufort...).¿Es importante determinar que el cifrado concreto se corresponde con el método original de Vigenère (aunque realmente su inventor fue Giovan Battista Bellaso) o que, por el contrario, el criptograma se haya cifrado con alguna de sus variantes? Pues yo creo que no, siempre y cuando se trate de un cifrado simple de sustitución polialfabética de clave periódica, es decir, que la clave tenga menor longitud que el texto en claro y se repita para seguir cifrando éste cuando se acaben los caracteres de la misma, ya que si la clave se repite periódicamente siempre se podrá utilizar el método Kasiki (ver este post donde lo explico) e incluso un ataque basado en el Índice de Coincidencia (ver este post donde lo explico) para romper el cifrado.
Lamentablemente, respecto al idioma en el que ésta escrito el texto en claro, si hubiera llegado a la conclusión de que el cifrado utilizado era del tipo de transposición o de sustitución simple monoalfabética o una combinación de ambos tipos, podría haber intentado determinar de qué idioma se trata por el propio Índice de Coincidencia (IC) en relación con los idiomas más probables en los que podría estar escrito el texto en claro, e incluso si fuera de transposición podría apoyarme en otras características referidas a estos últimos, tales como: porcentaje de vocales y consonantes presentes, etc., pero me quedo, de momento, sin saber en qué idioma está escrito el texto en claro.
Bueno, voy a pensar, al igual que el juez en la novela, que el mensaje en claro se cifró utilizando el método Gronsfeld, aunque como digo me daría igual suponer que se usó otro siempre y cuando se trate de un cifrado simple de sustitución polialfabética de clave periódica, y voy a realizar un ataque basado en el método Kasiki, que, al contrario que el criptoanálisis basado en el Índice de Coincidencia (IC), si estaba disponible para el joven lector que consiguió descifrarlo antes de que se publicara la solución. Como decía en este post, Kasiski se percató de la existencia de secuencias de caracteres repetidas en el texto cifrado, lo cual significaba casi con toda probabilidad que dichas secuencias no sólo eran la misma antes del cifrado sino que además la clave debía coincidir en la misma posición, por lo que lo primero que tengo que hacer es detectar secuencias de letras cifradas repetidas, las siguientes:
Phyjslyddqfdzxgasgzzqqehxgkfndrxujugiocytdxvksbxhhuypohdvyrymhuhpuyd
kjoxphetozsletnpmvffovpdpajxhyynojyggaymeqynfuqlnmvlyfgsuzmqiztlbqgyug
sqeubvnrcredgruzblrmxyuhqhpzdrrgcrohepqxufivvrplphonthvddqfhqsntzhhhn
fepmqkyuuexktogzgkyuumfvijdqdpzjqsykrplxhxqrymvklohhhotozvdksppsuvjhd
- 2 cadenas "ddqf" separadas por 186 posiciones.
- 2 cadenas "kyuu" separadas por 12 posiciones.
- 2 cadenas "hhh" separadas por 54 posiciones.- 2 cadenas "rpl" separadas por 60 posiciones.
- 2 cadenas "rym" separadas por 192 posiciones.
- 2 cadenas "toz" separadas por 186 posiciones.
Luego puedo pensar que el número de caracteres de la clave puede ser el MCD(12, 54, 60, 186, 192) = 6. Es decir, la longitud más probable de la clave es seis, que es el máximo común divisor o mayor número entero que divide a todos estos números (posiciones) sin dejar resto. ¿Voy bien?, ¿Cuántas letras tiene "Ortega" y, por consiguiente, cuántos dígitos tiene la clave que se obtiene en la novela a partir de este nombre? :)
Una vez que he averiguado la longitud de la clave (L), lo siguiente que tengo que hacer es dividir el criptograma en L subcriptogramas (en este caso seis), ya que éstos habrían sido cifrados por una misma fila de la letra de la clave (caso del cifrado Vigenère) o dígito de la clave (caso del cifrado Gronsfeld). Para ello, construyo una tabla de seis filas, una por cada subcriptograma, y la voy completando por columnas (de arriba a abajo y de izquierda a derecha) con los caracteres del criptograma, es decir, el primer subcriptograma (C1) contendría los siguientes caracteres del criptograma: 1º, 7º, 13º,.., el segundo subcriptograma (C2) contendría los siguientes caracteres del criptograma: 2º, 8º, 14º,... y el sexto subcriptograma (C6) contendría los siguientes caracteres del criptograma: 6º, 12º, 18º,... A partir de lo que estaría en disposición de realizar un ataque de tipo estadístico monoalfabético.
La frecuencia de aparición de cada carácter observada en cada uno de los subcriptogramas es la siguiente:
Me queda pendiente el tema del idioma en el que estaría escrito el texto en claro, por lo que antes de abordar la última fase del
criptoanálisis pongo una tabla con la frecuencia de aparición de las letras en cada uno de los cuatro idiomas en lo que podría sospechar que se encuentra escrito el texto en claro:
Empiezo por el francés, ya que entiendo que el joven lector francés sospechó, con muy buen criterio :), que éste era el lenguaje en el que estaba escrito el texto en claro correspondiente al criptograma que se publicó en una revista francesa y que era de una novela escrita originalmente en francés y cuyo autor era francés, y en la tabla anterior veo que
las tres letras más frecuentes en este idioma son: 'e', 's', 'a' e 'i', por lo que
considerando que la posición relativa de la letra 'a' es el valor 0, la letra 'e' está 4 posiciones a la derecha de la 'a', la letra 'i' está cuatro posiciones a la derecha de la letra 'e' y la letra "s" está 10 posiciones de la letra 'i', busco en cada subcriptograma (Ci) caracteres frecuentes que cumplan con esa distribución: 0, +4, +4, +10 mod 25 (recordar que la 'w' estaría excluida del alfabeto utilizado):Tal y como se puede observar:
- En C1 la suma mayor de las frecuencias de las cuatro letras que cumplen con la distribución indicada se corresponde con la de las letras 'e', 'i', 'm' y 'x', que serían las candidatas a ser la 'a', 'e', 'i' y 's' en el texto en claro, respectivamente. Por tanto, la primera letra de la clave sería la 'e' (caso del cifrado Vigenère) o, lo que es lo mismo, el '4' (caso del cifrado Gronsfeld).
- En C2 la suma mayor de las frecuencias de las cuatro letras que cumplen con la distribución indicada se corresponde con la de las letras 'd', 'h', 'l' y 'v', que serían las candidatas a ser la 'a', 'e', 'i' y 's' en el texto en claro, respectivamente. Por tanto, la segunda letra de la clave sería la 'd' (caso del cifrado Vigenère) o, lo que es lo mismo, el '3' (caso del cifrado Gronsfeld).
- En C3 la suma mayor de las frecuencias de las cuatro letras que cumplen con la distribución indicada se corresponde con la de las letras 'c', 'g', 'k' y 'u', que serían las candidatas a ser la 'a', 'e', 'i' y 's' en el texto en claro, respectivamente. Por tanto, la tercera letra de la clave sería la 'c' (caso del cifrado Vigenère) o, lo que es lo mismo, el '2' (caso del cifrado Gronsfeld).
- En C4 la suma mayor de las frecuencias de las cuatro letras que cumplen con la distribución indicada se corresponde con la de las letras 'f', 'j', 'n' e 'y', que serían las candidatas a ser la 'a', 'e', 'i' y 's' en el texto en claro, respectivamente. Por tanto, la cuarta letra de la clave sería la 'f' (caso del cifrado Vigenère) o, lo que es lo mismo, el '5' (caso del cifrado Gronsfeld).
- En C5 la suma mayor de las frecuencias de las cuatro letras que cumplen con la distribución indicada se corresponde con la de las letras 'b', 'f', 'j' y 't', que serían las candidatas a ser la 'a', 'e', 'i' y 's' en el texto en claro, respectivamente. Por tanto, la quinta letra de la clave sería la 'b' (caso del cifrado Vigenère) o, lo que es lo mismo, el '1' (caso del cifrado Gronsfeld).
- En C6 la suma mayor de las frecuencias de las cuatro letras que cumplen con la distribución indicada se corresponde con la de las letras 'd', 'h', 'l' y 'v', que serían las candidatas a ser la 'a', 'e', 'i' y 's' en el texto en claro, respectivamente. Por tanto, la sexta letra de la clave sería la 'd' (caso del cifrado Vigenère) o, lo que es lo mismo, el '3' (caso del cifrado Gronsfeld).
Por lo que la clave empleada para cifrar el texto en claro sería 'edcfbd' (caso del cifrado Vigenère) o, lo que es lo mismo, '432513' (caso del cifrado Gronsfeld). ¿Voy bien?, ¿Qué clave obtiene el juez en la novela cuando compara los seis últimos caracteres del último párrafo del criptograma con "Ortega"? :)
Para comprobar si voy bien o no ya sólo me queda intentar descifrar el criptograma con la clave hallada. Para ello, voy a utilizar la herramienta 'on-line' que indiqué en el post anterior: Con lo que ya puedo ver el texto en claro (enmarcado en color rojo en la figura anterior), que efectivamente está escrito en francés, y que voy a intentar traducir al español con la ayuda del traductor:
Texto en claro:
leveritableauteurduvoldesdiamantsetdelassassinatdessoldatsquiescortaientleconvoicommisdanslanuitduvingtdeuxjanviermilhuitcentvingtsixnestdoncpasjoamdacostainjustementcondamneamortcestmoilemiserableemployedeladministrationdudistrictdiamantinouimoiseulquisignedemonvrainomortega
En francés:
le veritable auteur du vol des diamants et de
lassassinat des soldats qui escortaient le convoi commis dans la nuit du
vingtdeux janvier mil huit cent vingtsix nest donc pas joam dacosta injustement condamne a mort cest moi le miserable employe de ladministration
du district diamantin oui moi seul qui signe de mon vrai nom ortega
En Español:
el verdadero autor del robo de los diamantes y del asesinato de los soldados que escoltaban el convoy cometido la noche del veintidós de enero de mil ochocientos veintiséis no es pues joam dacosta injustamente condenado a muerte soy yo el miserable empleado de la administración del distrito diamante sí yo solo quién firma con mi verdadero nombre ortega
Visto lo cual, ya no cabe duda de que el joven lector que se dice que logró descifrar el criptograma antes de que publicaran la solución pudo hacerlo perfectamente utilizando, muy probablemente, el método Kasiski, que fue publicado en 1863, es decir, 18 años antes que la novela.
Lo que creo que también queda claro, al menos para mí, es que Julio Verne no conocía este método y pensó, de forma errónea, que sin conocer el nombre del verdadero culpable, Ortega, nadie iba a poder descifrar el criptograma antes de que él publicara la solución.
Comentarios
Publicar un comentario