viernes, 4 de septiembre de 2015

Ejemplo criptoanálisis Kasiski cifrado Vigenère

Me pide una persona en twitter a ver si le puedo ayudar a criptoanalizar un mensaje cifrado con el método de Vigenère, ya que le surgen algunas dudas.

Pues bien, como es muy largo de explicar por twitter y por si le puede servir de ayuda, escribo este post con el criptoanálisis que he realizado sobre ese mensaje, que es el siguiente:


Lo primero que hay que averiguar es la longitud de la clave. Ya expliqué cómo en un post anterior, pero como la persona que me pide ayuda ya sabe que es 14 me salto este paso.

Después, lo que hay que hacer es dividir el criptograma en 14 subcriptogramas:

- C1: contendrá los caracteres del texto cifrado en las posiciones 1, 15, 29,..., 827.
- C2: contendrá los caracteres del texto cifrado en las posiciones 2, 16, 30,..., 828.
- C3: contendrá los caracteres del texto cifrado en las posiciones 3, 17, 31,..., 815.
...
- C14: contendrá los caracteres del texto cifrado en las posiciones 14, 28, 42,..., 826.

Es decir:


A partir de aquí estamos en disposición de realizar un ataque estadístico monoalfabético sobre cada uno de estos subcriptogramas.

Como el texto en claro está escrito en inglés tendremos que considerar la frecuencia de aparición de los caracteres en dicho idioma, que es la siguiente ordenada de mayor a menor porcentaje de aparición (fuente: wikipedia):
La frecuencia de estos caracteres (número de ellos) observada en cada uno de los subcriptogramas es la siguiente:
Y ahora ya basta con buscar en cada subcriptograma las 4 letras que cumplan con la distribución más frecuente de las letras en inglés, que conforme a la tabla indicada anteriormente son: "E", "T, "A" y "O".

Para ello, considerando que la posición relativa de la letra "A" es el valor 0, la letra "E" está 4 espacios a la derecha de la "A", la letra "O" está 10 de la "E" y la letra "T" a 5 de la "O", buscaremos en cada subcriptograma los caracteres más frecuentes que cumplan con esa distribución: 0, +4, +10, +5 mod 26.

Haciendo esto en una tabla de Excel a mí me da lo siguiente:
Como se observa en la figura anterior: para el primer subcriptograma los caracteres más frecuentes que cumplen con esa distribución son (T, X, H, M), para el segundo (H, L, V, A) y así sucesivamente.

Con lo que ya tendríamos la clave. Aunque para los subcriptogramas 11 y 12 hay dos letras que cumplen con esa distribución, vistos el resto de los caracteres de la clave no hay duda de que ésta es: THECHESHIRECAT (que entiendo que se refiere al gato de Cheshire; el personaje ficticio creado por Lewis Carroll).

Con esa clave y utilizando la tabla del método de Vigenère (ver post anterior), el mensaje en claro sería:

THISWASTHEPOEMTHATALICEREADJABBERWOCKYTWASBRILLIGANDTHESLITHYTOVESDIDGYREANDGIMBLEINTHEWABEALLMIMSYWERETHEBOROGOVESANDTHEMOMERATHSOUTGRABEBEWARETHEJABBERWOCKMYSONTHEJAWSTHATBITETHECLAWSTHATCATCHBEWARETHEJUBJUBBIRDANDSHUNTHEFRUMIOUSBANDERSNATCHHETOOKHISVORPALSWORDINHANDLONGTIMETHEMANXOMEFOEHESOUGHTSORESTEDHEBYTHETUMTUMTREEANDSTOODAWHILEINTHOUGHTANDASINUFFISHTHOUGHTHESTOODTHEJABBERWOCKWITHEYESOFFLAMECAMEWHIFFLINGTHROUGHTHETULGEYWOODANDBURBLEDASITCAMEONETWOONETWOANDTHROUGHANDTHROUGHTHEVORPALBLADEWENTSNICKERSNACKHELEFTITDEADANDWITHITSHEADHEWENTGALUMPHINGBACKANDHASTTHOUSLAINTHEJABBERWOCKCOMETOMYARMSMYBEAMISHBOYOFRABJOUSDAYCALLOOHCALLAYHECHORTLEDINHISJOYTWASBRILLIGANDTHESLITHYTOVESDIDGYREANDGIMBLEINTHEWABEALLMIMSYWERETHEBOROGOVESANDTHEMOMERATHSOUTGRABEITSEEMSVERYPRETTYSHESAIDWHENSHEHADFINISHEDITBUTITSRATHERHARDTOUNDERSTAND

Es decir:

THIS WAS THE POEM THAT ALICE... SEEMS VERY PRETTY SHE SAID WHEN SHE HAD FINISHED IT BUT ITS RATHER HARD TO UNDERSTAND.

No hay comentarios:

Publicar un comentario