Ir al contenido principal

Criptografía (CLIX): Solución Reto id0-rsa "Rail Fence"

Solución de otro de los retos de la plataforma id0-rsa, la cual está dedicada exclusivamente a desafíos de criptografía.

Se trata de otro de los retos de criptografía clásica que en ella aparecen y, como dije en el post anterior, lo voy a resolver tanto de forma manual ("lápiz y papel") como de forma automatizada mediante la utilización de una herramienta.

El reto en cuestión lleva por título "Rail Fence" y, en mi opinión, presenta un nivel de dificultad muy bajo (☆☆☆).

Su enunciado dice lo siguiente: 'Personally I would never rail a fence'.

El criptograma a descifrar es el siguiente:

WAPSD EXTCO EEREF SELIO RSARC LIETE OIHHP VASTF EGBER IPAPN TOEGI AIATH DDHIY EACYE RQAEN OHRTE TEVME BGHMF EIOWS GFHCL XEUUC OMTOT LERES SDEWW ORCCS HEURE ATTEG ALSEB APXET IURWV RTEEH IOTLO SNACN NULCV LCMTH HHCOH TIOTD ASNAL TSANA CASOR LEKAS TATCW INTLO TRYER YLTND RILER AOMAX OITDE ECOIA HAALS TYIOA DAEHI OTSTE IEYES HHSNG EHCAT SOUAC EHSST TCODN FSOTS TIIGN LTTNL DUBST TCMIM EHTAO IUUPF TSTTI PUEAY OAEOA EEALA LWGWM GNHYU IAAHD TORYA OLVMH RHTGY IHNNM UAARL MMHID HYFCP GRAET MTCNT HIIIO RCVCL BOTSA OFRNR YEHTG IFHEA WLYSC EEEEY UVEIM SOEUE TAYHN NITEK AERAW DSIAE QTDIE HET

Solución:

a) De forma manual:

Tal y como nos cuenta wikipedia, el cifrado rail fence es un criptosistema de transposición en el que el texto plano se escribe en diagonal en un número determinado de raíles de una cerca imaginaria.

El texto en claro se comienza a escribir en la primera posición del raíl (fila o nivel) superior, pasándose, tras escribirse un carácter, al raíl inmediatamente inferior, en el que se escribe otro carácter en la diagonal (siguiente posición vertical respecto al carácter del raíl anterior), y así sucesivamente. Cuando se llega al último raíl (última fila o nivel) se escribe hacía arriba también en diagonal, y cuando se llega de nuevo al raíl superior el texto en claro se sigue escribiendo hacia abajo y en diagonal, y así sucesivamente hasta que se escribe todo el texto plano. Una vez realizado ésto el criptograma se obtiene leyendo los caracteres por filas y de arriba a abajo.

Para descifrar un criptograma se debe conocer el número de raíles (filas o niveles) utilizados, ir disponiendo en cada uno de ellos los caracteres del criptograma de forma consecutiva y, al finalizar, obtener el texto en claro leyendo diagonalmente de la forma anteriormente indicada.

Si no se conoce el número de raíles siempre nos queda la fuerza bruta :). En nuestro caso voy probando con diferentes números de raíles hasta que con 17 consigo descifrar el criptograma. Para ello, dispongo en la siguiente plantilla, fila a fila y de arriba a abajo, los caracteres del criptograma:
Es decir:
Y leyendo diagonalmente obtengo el texto en claro:

WE ATTACK AT DAWN IS A COMMON EXAMPLE PLAIN TEXT SO I FIGURE WE CAN USE IT HERE TO PROVE THAT YOU HAVE DECRYPTED THIS MESSAGE SUCCESSFULLY SUBMIT THE WORD BIRDCAGE WHICH IS A MOVIE THAT IS ON TV WHILE I AM WRITING THIS I AM ADDING A LOT OF TEXT HERE TO HELP THOSE OF YOU THAT DECIDE TO DO CHARACTER FREQUNCY ANALYSIS WHICH IS HONESTLY A PRETTY GOOD STRATEGY HOPEFULLY YOU ALREADY HAVE BUILT OR HAVE ACCESS TO A SOMETHING THAT CAN ANALYSE TEXT AND DETERMINE IF THE CHARACTER FREQUENCIES MATCH THE ENGLISH LANGUAGE BECAUSE IT MAY TAKE A WHILE TO ROLL ONE FROM SCRATCH WHILE TRYING TO SOLVE THIS PROBLEM

Con lo que la solución a este resto es: "BIRDCAGE".

b) De forma automatizada:

Utilizo una de las muchas herramientas 'online' existentes sobre el cifrado rail fence:
obtengo el mismo resultado que en el descifrado manual.

Comentarios

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...

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...

Criptografía (CLXXXIV): Soluciones Retos criptografía de CyberOlympics 2017

En este post pongo las soluciones a los retos de  criptografía que he ido resolviendo de la edición del año 2017 de CyberOlympics , competición en modalidad  'on-line' , estilo  'Capture the Flag'  y formato  'Jeopardy'  dirigida a centros educativos y organizada por el Instituto Nacional de Ciberseguridad (INCIBE) en el marco de la actividad llamada CyberCamp. En esta edición la mayoría de los retos presentaron un  nivel  de dificultad bajo  ( ★ ★ ☆☆☆ ) , lo que entiendo adecuado por el colectivo al que van dirigidos. Las soluciones al resto de desafíos de criptografía de esta edición, cuyos archivos asociados tenga (no me han pasado todos) y que consiga resolver, las pondré en otra entrada. Reto 1 (Criptografía) : Enunciado : Todas las mañanas cuando me despierto, me miro en el espejo y no entiendo lo que veo. Hoy me he levantado dando un salto mortal y no voy a apartarme de mi “otro yo” hasta que no descubra el mensaje. Parece q...