lunes, julio 19, 2010

Criptografía clásica. Sustituciones monoalbaféticas. Cifrado monoalfabético general.

Cifrado monoalfabético general

Descripción

    El cifrado monoalfabético general consiste en asignar las letras que van a componer el mensaje cifrado a las letras del alfabeto de forma aleatoria. Esto no es más que hacer una permutación de las letras del alfabeto.

En el caso del castellano tenemos 27 letras, así que pedemos formar un total de 27! posibles permutaciones de las mismas. Cada posible permutación es un cifrado monoalfabético diferente.

La llave (clave) de este cifrado es la permutación que se ha usado para cifrar el texto, y debe permanecer secreto, ya que si se hace público, cualquiera podría descifrar el texto de forma fácil, con sólo invertir la permutación.

Como ejemplo de cifrado, consideremos la siguiente permutación de letras:

A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z
P G K I T V J Ñ Z H U M X R A E Q D Y F S O B L N W C

Con esta permutación de las letras se puede cifrar un mensaje cualquiera como "Vuelvo el martes" y obtener como resultado "Botmbe tm xpysft".

Para descifrar un mensaje cifrado, sólo hay que invertir la permutación y aplicarla al mensaje cifrado. La permutación inversa de la anterior es:

A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z
Ñ V Z Q O S B J D G C W L X H U A P N T E K F Y M R I

Si nos encontramos con el texto cifrado "mp omszxp kpfp itm kpxzre", que sabemos que ha sido cifrado con la permutación anterior, no tenemos más que aplicar la permutación inversa y obtenemos "la última casa del camino", que es el texto original.


Criptoanálisis

    El criptoanálisis de textos cifrados con este método no es demasiado complejo. El análisis a fuerza bruta consistiría en probar con todas las permutaciones posibles hasta que el texto cifrado cobrara sentido. No vamos a entrar en él, ya que hay 27! permutaciones.

Como en casos anteriores es menos costoso hacer un análisis estadístico del texto cifrado, ya que todos los cifrados monoalfabéticos mantienen las frecuencias de aparición de las letras del alfabeto. En este caso las frecuencias estarán cambiadas de sitio según la permutación que se haya escogido para cifrar el texto, pero se corresponderán con las del lenguaje.

Supongamos que nos encontramos con el siguiente texto cifrado: 
Ft mmtje p ftrszy pgfemospxtrst syprfqeyspie qey tm mtrse gpmprkte it mp xofzkp, w tm yekt it mp xthzmmp it ktmzp fegyt fo xthzmmp, w tm emey spr vytfke, spr jypse it fo qztm. Tm sztxqe ft ñpgzp itstrzie, re tnzfszp wp. Feme tnzfszpr tmmef ief, orzief, tr fzmtrkze. Ktmzp re ñpgmpgp, re ytzp, re mt seysoypgp wp ker fof gyexpf.
Si hacemos un análisis estadístico del texto tenemos que las letras mas usadas ordenadas por mayor uso son t, p, e, m, f, z, r y s.

Vamos a intentar sustituirlas por las letras más frecuentes en Castellano, a ver si va tomando sentido el texto. Primero vamos a sustituir la t por la e:
Fe mmeje p ferszy pgfemospxerse syprfqeyspie qey em merse gpmprkee ie mp xofzkp, w em yeke ie mp xehzmmp ie kemzp fegye fo xehzmmp, w em emey spr vyefke, spr jypse ie fo qzem. Em szexqe fe ñpgzp ieserzie, re enzfszp wp. Feme enzfszpr emmef ief, orzief, er fzmerkze. Kemzp re ñpgmpgp, re yezp, re me seysoypgp wp ker fof gyexpf.
En la lista de palabras más frecuentes en Castellano, la palabra más usada es de, y en el texto cifrado la palabra más frecuente acabada en e es it (suponiendo que la t se descifre como e). Si sustituimos en el texto cifrado it por de tenemos:
Fe mmeje p ferszy pgfemospxerse syprfqeyspde qey em merse gpmprkee de mp xofzkp, w em yeke de mp xehzmmp de kemzp fegye fo xehzmmp, w em emey spr vyefke, spr jypse de fo qzem. Em szexqe fe ñpgzp deserzde, re enzfszp wp. Feme enzfszpr emmef def, orzdef, er fzmerkze. Kemzp re ñpgmpgp, re yezp, re me seysoypgp wp ker fof gyexpf.
Si nos fijamos en el texto cifrado, hay tres palabras que contienen el bigrama mm: mmtje, xthzmmp y tmmef. En castellano, normalmente cuando aparecen dos letras iguales seguidas en una palabra se trata de ll (lluvia, callar,...), de rr (perro, correr,...) o de la secuencia cc (acceso, acción, ...). Sin embargo, de estos tres casos el único que puede aparecer al principio de una palabra es el de ll. Por tanto lo más seguro es que la palabra cifrada mmtje empiece por ll. Entonces, sustituyendo en el texto cifrado la m por la l tenemos: 
Fe lleje p ferszy pgfelospxerse syprfqeyspde qey el lerse gplprkee de lp xofzkp, w el yeke de lp xehzllp de kelzp fegye fo xehzllp, w el eley spr vyefke, spr jypse de fo qzel. El szexqe fe ñpgzp deserzde, re enzfszp wp. Fele enzfszpr ellef def, orzdef, er fzlerkze. Kelzp re ñpglpgp, re yezp, re le seysoypgp wp ker fof gyexpf.
Si seguimos mirando el texto podemos observar que hay una palabra de dos letras, mp, de la que sabemos que la primera es una l. Teniendo en cuenta que la palabra la es una de las más usadas, que la letra a es la segunda más usada en castellano y que la letra p es la segunda más frecuente en el texto cifrado parece lógico sustituir la p por la a:

Fe lleje a ferszy agfelosaxerse syarfqeysade qey el lerse galarkee de la xofzka, w el yeke de la xehzlla de kelza fegye fo xehzlla, w el eley sar vyefke, sar jyase de fo qzel. El szexqe fe ñagza deserzde, re enzfsza wa. Fele enzfszar ellef def, orzdef, er fzlerkze. Kelza re ñaglaga, re yeza, re le seysoyaga wa ker fof gyexaf.
Ahora nos podemos fijar en que tenemos en el texto cifrado unas cuantas ocurrencias de la palabra cifrada w. Teniendo en cuenta que las palabras más frecuentes en Castellano de una letra son la a y la y y que la a ya la hemos sustituido parece acertado sustituir la w por la y:

Fe lleje a ferszy agfelosaxerse syarfqeysade qey el lerse galarkee de la xofzka, y el yeke de la xehzlla de kelza fegye fo xehzlla, y el eley sar vyefke, sar jyase de fo qzel. El szexqe fe ñagza deserzde, re enzfsza ya. Fele enzfszar ellef def, orzdef, er fzlerkze. Kelza re ñaglaga, re yeza, re le seysoyaga ya ker fof gyexaf.
Nos encontramos en el texto cifrado la palabra ellef, de la que nos quedan por descifrar las dos últimas letras. Esta palabra sólo puede haberse obtenido cifrando ellas o ellos. Como sabemos que la p se descifra por a, podemos descifrar la e por la o y la f por la s:

Se llejo a serszy agsolosaxerse syarsqoysado qoy el lerso galarkeo de la xoszka, y el yoke de la xehzlla de kelza sogye so xehzlla, y el oloy sar vyesko, sar jyaso de so qzel. El szexqo se ñagza deserzdo, ro enzssza ya. Solo enzsszar ellos dos, orzdos, er szlerkzo. Kelza ro ñaglaga, ro yeza, ro le soysoyaga ya kor sos gyoxas.
La penúltima palabra de texto es sos. En castellano, la única palabra por la que tiene sentido descifrarla es por sus, así que cambiamos la o por la u:

Se llejo a serszy agsolusaxerse syarsqoysado qoy el lerso galarkeo de la xuszka, y el yoke de la xehzlla de kelza sogye su xehzlla, y el oloy sar vyesko, sar jyaso de su qzel. El szexqo se ñagza deserzdo, ro enzssza ya. Solo enzsszar ellos dos, urzdos, er szlerkzo. Kelza ro ñaglaga, ro yeza, ro le soysuyaga ya kor sus gyoxas.
Hacia el final del texto aparece la palabra er. Sabemos que empieza por e, pero la segunda letra sigue cifrada. Las candidatas para descifrarla son n, l y s. Como ya hemos asignado anteriormente la l y la s, sustituimos ahora la r por la n:

Se llejo a senszy agsolusaxense syansqoysado qoy el lenso galankeo de la xuszka, y el yoke de la xehzlla de kelza sogye su xehzlla, y el oloy san vyesko, san jyaso de su qzel. El szexqo se ñagza desenzdo, no enzssza ya. Solo enzsszan ellos dos, unzdos, en szlenkzo. Kelza no ñaglaga, no yeza, no le soysuyaga ya kon sus gyoxas.
Una de las últimas palabras del texto cifrado es unzdos, que solo cobra sentido si sustituimos la z por la i:

Se llejo a sensiy agsolusaxense syansqoysado qoy el lenso galankeo de la xusika, y el yoke de la xehilla de kelia sogye su xehilla, y el oloy san vyesko, san jyaso de su qiel. El siexqo se ñagia desenido, no enissia ya. Solo enissian ellos dos, unidos, en silenkio. Kelia no ñaglaga, no yeia, no le soysuyaga ya kon sus gyoxas.
Más o menos al final aparece la palabra silenkio, que indica claramente que debemos sustituir la k por la c:

Se llejo a sensiy agsolusaxense syansqoysado qoy el lenso galanceo de la xusica, y el yoce de la xehilla de Celia sogye su xehilla, y el oloy san vyesco, san jyaso de su qiel. El siexqo se ñagia desenido, no enissia ya. Solo enissian ellos dos, unidos, en silencio. Celia no ñaglaga, no yeia, no le soysuyaga ya con sus gyoxas.
Tal y como está en texto ya, se ven claras las sustituciones: g por b, x por m y s por t
Se llejo a sentiy absolutamente tyansqoytado qoy el lento balanceo de la musica, y el yoce de la mehilla de Celia sobye su mehilla, y el oloy tan vyesco, tan jyato de su qiel. El tiemqo se ñabia detenido, no enistia ya. Solo enistian ellos dos, unidos, en silencio. Celia no ñablaba, no yeia, no le toytuyaba ya con sus byomas.
Realizamos las sustituciones: h por j, y por r, q por p, ñ por h y n por x:

Se llejo a sentir absolutamente transportado por el lento balanceo de la musica, y el roce de la mejilla de Celia sobre su mejilla, y el olor tan vresco, tan jrato de su piel. El tiempo se habia detenido, no existia ya. Solo existian ellos dos, unidos, en silencio. Celia no hablaba, no reia, no le torturaba ya con sus bromas.
Por último realizamos las sustituciones: j por g y v por f:

Se llegó a sentir absolutamente transportado por el lento balanceo de la música, y el roce de la mejilla de Celia sobre su mejilla, y el olor tan fresco, tan grato de su piel. El tiempo se había detenido, no existía ya. Sólo existían ellos dos, unidos, en silencio. Celia no hablaba, no reía, no le torturaba ya con sus bromas.
Este texto ha sido extraído de "Edad prohibida", de Torcuato Luca de Tena.

No hay comentarios: