Ir al contenido principal

Criptografía (XXVIII): ¿Sabías que...? (IV)

Hay multitud de novelas y películas
, muchas de estas últimas como adaptación de las primeras al cine, en las que se hace referencia a la criptología (criptografía y criptoanálisis), e incluso que tratan ésta como parte principal de su trama.

Pongo sólo dos ejemplos que me vienen inmediatamente a la cabeza porque se trata de dos películas relativamente recientes y muy conocidas, aunque como digo hay otros muchos:

- "The Imitation Game" ("Descifrando Enigma" - 2014): película dirigida por Morten Tyldum y protagonizada por Benedict Cumberbatch. Se trata de la adaptación al cine de una biografía novelada de Alan Turing ("The Enigma", escrita por Andrew Hodges) en la que el descifrado de la máquina Enigma utilizada por el ejército alemán en la II Guerra Mundial sirve de base para contarnos la persecución absolutamente injusta que sufrió, pese a ser un héroe de guerra y sus aportaciones a la ciencia, ya que fue acusado de indecencia grave y perversión por su condición de homosexual, lo que fue la causa más que probable de su trágico final.

- "National Treasure: Book of Secrets" ("La Búsqueda 2: el diario secreto" - 2007): película dirigida por Jon Turteltaub y protagonizada por Nicolas Cage en la que aparece un criptograma cifrado mediante el criptosistema de Playfair y que es muy importante descifrar.


Pero en este post me voy a referir al cuento "El escarabajo de oro" ("The Gold Bug") del escritor norteamericano Edgar Allan Poe.

Este relato corto tiene como protagonista a William Legrand, hombre de familia rica al que una serie de infortunios le dejan en la miseria y que para evitar la humillación fija su residencia en la pequeña y solitaria isla de Sullivan, cerca de Charleston, en Carolina del Sur, lugar donde se desarrolla la trama.

El caso es que Legrand encuentra un escarabajo de oro y un trozo de pergamino muy viejo. En este último, al acercarlo por accidente a una chimenea y por efecto del calor, aparece la firma del capitán Kidd y, posteriormente aplicándole más calor, un criptograma que supuestamente indicaría el lugar en el que el famoso pirata habría escondido su tesoro, lo que permitiría a Legrand, en caso de hallarlo, recuperar su posición y fortuna perdidas (cuento completo en pdf).

Lo primero que me llama la atención es que Edgar Allan Poe, al parecer un gran aficionado a la criptología, idea para este cuento un sistema que combina la esteganografía con la criptografía, es decir, el mensaje secreto se oculta en un pergamino, mediante tinta invisible que sólo aparece si se le aplica calor, y una vez que aparece, además, está cifrado. El famoso pirata no tenía ni un pelo de tonto :).

Vamos a intentar descifrar el criptograma en cuestión, que es el siguiente:
Longitud: 203 caracteres.

Lo primero que tenemos que hacer es intentar averiguar el idioma en el que está escrito el texto en claro. Teniendo en cuenta, al menos que yo sepa, que todas las obras de Edgar Allan Poe, y ésta en concreto, están escritas en inglés, creo que no es mucho suponer que el texto en claro también está escrito en inglés (máxime, además y si no estoy equivocado, cuando creo que el famoso capitán Kidd era un pirata escocés :) ).

Lo segundo es saber de qué tipo de cifrado se trata. Considerando que el criptograma aparece en un cuento, aunque como ya he dicho Edgar Allan Poe era un gran aficionado a la criptología y podía haberlo puesto mucho más difícil, creo que tampoco es mucho suponer que se trata casi con toda seguridad de un criptosistema de sustitución monoalfabética simple, es decir, un sistema en el que cada letra del mensaje en claro se sustituye siempre por el mismo símbolo en el critograma, pero hagamos una pequeña comprobación por si acaso.

Para ello utilizaremos el Índice de Coincidencia (ver este post donde lo explico), que nos servirá para conocer si el criptosistema empleado consiste en una sustitución monoalfabética simple o no. Es decir, si el Índice de coincidencia (IC) del criptograma, o probabilidad de que dos letras escogidas al azar del texto cifrado resulten ser iguales, está cercano o supera al IC del idioma inglés (0,0685) podremos concluir que, con casi total seguridad, se trata de un sistema de sustitución monoalfabética simple.

Si no me he equivocado al calcularlo, el IC del criptograma es 0,0787, por lo que se confirmaría que se trata de un sistema de sustitución monoalfabética simple.

Una vez que hemos determinado estas dos cuestiones previas, veamos qué resultados obtenemos con un análisis de frecuencias (letras, bigramas, trigramas,...):

1.- La frecuencia relativa de aparición de cada uno de los símbolos en el criptograma se muestra en la tabla de la izquierda y la de las letras en un texto claro en inglés (fuente: wikipedia.org) en la de la derecha:
Aún con tan pocos caracteres en el criptograma (203), el análisis de frecuencias de las letras nos proporciona una pista muy importante sobre qué símbolo podría corresponderse con la letra más frecuente en un texto en inglés (el símbolo "8" aparece en 33 ocasiones, lo que representa un 16,26%, y por tanto es el candidato a ser la "E" en el texto en claro) y, en este caso, incluso sobre aquel que se correspondería con la segunda letra más frecuente (el símbolo ";" aparece 26 vece, un 12,81%, y por tanto podría ser la "T" en el texto en claro).

A la vista de los resultados realizamos una primera aproximación a lo que podría ser el texto en claro:
Del análisis de frecuencias de las letras, con tan pocos símbolos en el criptograma, no me atrevo a sacar muchas más conclusiones, aunque nos servirá para apoyar las que extraigamos más adelante.

2.- Los dos bigramas más frecuentes en inglés son "TH" y "HE", y el trigrama más frecuente es "THE" (que coincide, además, con la palabra más frecuente), por lo que, a simple vista, el símbolo "4" (que sigue a la "T" en 11 ocasiones, precede a la "E" 8 veces y formaría el trigrama "THE" en 7 ocasiones) es el candidato más probable a ser la "H".

Por tanto, en una segunda aproximación el texto en claro podría quedar como sigue:
3.- Y ahora, como sospechamos que el texto en claro está escrito en inglés, es cuando se complica la cosa para mí (si estuviera en español sería mucho más fácil), pero, si no nos hemos equivocado hasta el momento, yo diría que el símbolo "(" es el candidato más probable a ser la "R", ya que no se me ocurre otra letra que encaje con significado en la cadena de símbolos: "...(‡9THET(EETH(‡...", es decir, creo que lo más probable es que el texto en claro se refiera a: "...(‡9 THE TREE TH(‡..." ("... EL ÁRBOL ...").

Si esto fuera así, en una tercera aproximación tendríamos:
4.- Con lo que ya se pueden intuir otras palabras y, a partir de ellas, ir obteniendo otras hasta obtener casi la totalidad del texto en claro. Por ejemplo, la cadena de símbolos: "...1R‡9THETREETHR‡?3HTHE)HT161T:1EET‡?T", quedaría en el texto en claro: "...FROMTHETREETHROUGHTHE)HOTF6FT:FEETOUT...", es decir, "...FROM THE TREE THROUGTH)HOTF6FTFEET OUT".

A partir de las palabras que se van intuyendo y de las que sucesivamente podemos ir completando vamos obteniendo un texto en claro casi completo (si se sabe más inglés que yo seguro que completo):
Es decir:

"A GOOD GLASS IN THE 2ISHO.S HOSTEL IN THE DEVIL´S SEAT FORTY ONE DEGREES AND THIRTEEN MINUTES NORTHEAST AND 2Y NORTH MAIN 2RAN_H SEVENTH LIM2 EAST SIDE SHOOT FROM THE LEFT EYE OF THE DEATH´S HEAD A2EE LINE FROM THE TREE THROUGTHE SHOFIFTY FEET OUT".

Y para finalizar, aún con mi escaso inglés, creo que el símbolo "2" se correspondería con la "B" y, con ayuda del traductor, "." con la "P" y "_" con la "C".

Con lo que el texto en claro sería:

"A GOOD GLASS IN THE BISHOP´S HOSTEL IN THE DEVIL´S SEAT FORTY ONE DEGREES AND THIRTEEN MINUTES NORTHEAST AND BY NORTH MAIN BRANCH SEVENTH LIMB EAST SIDE SHOOT FROM THE LEFT EYE OF THE DEATH´S HEAD A BEELINE FROM THE TREE THROUGTHE SHOFIFTY FEET OUT".

En español y otra vez con ayuda del traductor, creo que el texto en claro sería algo parecido a lo siguiente:

"UN BUEN VASO EN EL HOSTAL DEL OBISPO EN EL ASIENTO DEL DIABLO CUARENTA Y UN GRADOS Y TRECE MINUTOS NORESTE Y POR EL NORTE TRONCO SÉPTIMA RAMA LADO ESTE TIRAR DESDE EL OJO IZQUIERDO DE LA CALAVERA UNA LINEA RECTA DESDE EL ÁRBOL A TRAVÉS DEL TIRO CINCUENTA PIES FUERA".

Ahora bien, a la vista del texto en claro, yo me quedaría exactamente igual que antes de haber descubierto que el pergamino ocultaba un mensaje secreto y de conseguir descifrar éste. Ahora hay que interpretar correctamente este galimatías. Como digo el famoso pirata no tenía ni un pelo de tonto. ¿Consiguió Legrand hallar finalmente dónde se encontraba el tesoro del capitán Kidd?. Para el que no conozca este breve relato y esté interesado en saberlo le recomiendo la lectura del cuento completo (en pdf).

Comentarios

  1. Me puede ayudar y explicarme
    El siguiente mensaje ha sido cifrado mediante el método de Vigenére con un alfabeto de 26 caracteres (ABCDEFGHIJKLMNOPQRSTUVWXYZ) y con clave tcpip.

    LGVCGBFPL SX NDA HBUIMBTU XVUHTBIIBEDA N WG RWBNPXKPVKDV.

    ResponderEliminar
    Respuestas
    1. Sabiendo la clave es muy fácil. Te explico:

      Clave: TCPIP
      Criptograma o mensaje cifrado: LGVCGBFPL SX NDA HBUIMBTU XVUHTBIIBEDA N WG RWBNPXKPVKDV

      Para descifrar sigue los pasos que indiqué en este post: http://mikelgarcialarragan.blogspot.com/2015/03/criptografia-i.html

      Es decir:

      1º Busca en la tabla de Vigenère la fila que se corresponde con la primera letra de la clave (en este caso la 'T') y dentro de ella la celda con la primera letra del criptograma (en este caso la 'L'), la primera letra del texto en claro o mensaje descifrado será la letra de esa columna (la que está en el encabezado, en este cao la 'S').

      2º Busca en la tabla de Vigenère la fila que se corresponde con la segunda letra de la clave (en este caso la 'C') y dentro de ella la celda con la segunda letra del criptograma (en este caso la 'G'), la segunda letra del texto en claro o mensaje descifrado será la letra de esa columna (la que está en el encabezado, en este cao la 'E').

      Y así sucesivamente hasta terminar con todos los caracteres del criptograma o texto cifrado (cuando se te acaben los caracteres de la clave continúas con el resto de caracteres del criptograma comenzando de nuevo con por el primer carácter de la clave).

      Si haces esto obtendrás como texto en claro o mensaje descifrado el siguiente:

      SEGURIDAD DE LOS SISTEMAS INFORMATICOS Y DE COMUNICACION

      También lo puedes hacer con alguna herramienta online, tal y como ésta:

      https://www.dcode.fr/vigenere-cipher

      1.- Arriba metes el criptograma o mensaje cifrado (es más cómodo copiarlo y pegarlo ahí).
      2.- En el lenguaje del texto en claro en claro o mensaje descifrado ('PLAINTEXT LANGUAGE') seleccionas Español.
      3.- Introduces la clave en 'KNOWING THE KEY PASSWORD'.
      4.- Pulsa sobre el botón 'DECRYPT'

      En 'Results' (arriba a la izquierda) verás el texto en claro o mensaje descifrado que te he indicado antes, es decir:

      SEGURIDAD DE LOS SISTEMAS INFORMATICOS Y DE COMUNICACION

      Eliminar

Publicar un comentario

Entradas populares de este blog

Criptografía (I): cifrado Vigenère y criptoanálisis Kasiski

Hace unos días mi amigo Iñaki Regidor ( @Inaki_Regidor ), a quien dedico esta entrada :), compartió en las redes sociales un post titulado "Criptografía: el arte de esconder mensajes"  publicado en uno de los blogs de EiTB . En ese post se explican ciertos métodos clásicos para cifrar mensajes , entre ellos el cifrado de Vigenère , y , al final del mismo, se propone un reto consistente en descifrar un mensaje , lo que me ha animado a escribir este post sobre el método Kasiski  para atacar un cifrado polialfabético ( conociendo la clave descifrar el mensaje es muy fácil, pero lo que contaré en este post es la forma de hacerlo sin saberla ). El mensaje a descifrar es el siguiente: LNUDVMUYRMUDVLLPXAFZUEFAIOVWVMUOVMUEVMUEZCUDVSYWCIVCFGUCUNYCGALLGRCYTIJTRNNPJQOPJEMZITYLIAYYKRYEFDUDCAMAVRMZEAMBLEXPJCCQIEHPJTYXVNMLAEZTIMUOFRUFC Como ya he dicho el método de Vigenère es un sistema de sustitución polialfabético , lo que significa que, al contrario que en un sistema de

Criptografía (XXIII): cifrado de Hill (I)

En este post me propongo explicar de forma comprensible lo que he entendido sobre el cifrado de Hill , propuesto por el matemático Lester S. Hill , en 1929, y que se basa en emplear una matriz como clave  para cifrar un texto en claro y su inversa para descifrar el criptograma correspondiente . Hay tres cosas que me gustan de la criptografía clásica, además de que considero que ésta es muy didáctica a la hora de comprender los sistemas criptográficos modernos: la primera de ellas es que me "obliga" a repasar conceptos de matemáticas aprendidos hace mucho tiempo y, desgraciadamente, olvidados también hace demasiado tiempo, y, por consiguiente, que, como dice  Dani , amigo y coautor de este blog, me "obliga" a hacer "gimnasia mental"; la segunda es que, en la mayoría de las ocasiones, pueden cifrarse y descifrase los mensajes, e incluso realizarse el criptoanálisis de los criptogramas, sin más que un simple lápiz y papel, es decir, para mi es como un pasat

¿Qué significa el emblema de la profesión informática? (I)

Todas o muchas profesiones tienen un emblema que las representa simbólicamente y en el caso de la  informática: " es el establecido en la resolución de 11 de noviembre de 1977  para las titulaciones universitarias superiores de informática, y  está constituido por una figura representando en su parte central  un  núcleo toroidal de ferrita , atravesado por  hilos de lectura,  escritura e inhibición . El núcleo está rodeado por  dos ramas : una  de  laurel , como símbolo de recompensa, y la otra, de  olivo , como  símbolo de sabiduría. La  corona  será la  de la casa real  española,  y bajo el escudo se inscribirá el acrónimo de la organización. ". Veamos los diferentes elementos tomando como ejemplo el emblema del COIIE/EIIEO (Colegio Oficial de Ingenieros en Informática del País Vasco/ Euskadiko Informatikako Ingeniarien Elkargo Ofiziala ) . Pero no sólo el COIIE/EIIEO adopta el emblema establecido en dicha resolución, sino que éste se adopta también como im