miércoles, 10 de enero de 2018

El cifrado de Vigenère

Pues ya hemos arrancado el nuevo año, han pasado sus majestades los Reyes Magos y si tienes niños, como yo, seguro que lo habrás pasado en grande con ellos.

Todo el mundo habla de propósitos en el nuevo año etc... pero seguro que, y si estás leyendo este blog, es que te sigue interesando el tema de la seguridad informática y los CTF.

En mi entrada anterior hablaba del Cifrado Cesar, en esta ocasión os voy a explicar cómo funciona otro tipo de cifrado, el cifrado Vigenère, muy usado también en los CTF.

Comencemos con un poco de información sobre dicho cifrado, no obstante en la WikiPedia podéis encontrar la historia de dicho cifrado.

Al igual que el cifrado Cesar estamos ante otro sistema de cifrado por sustitución por desplazamiento pero utiliza una "clave", por consiguiente es un cifrado de clave simétrica, este tipo de cifrado es polialfabético.

Básicamente este cifrado se este cuadro a modo de mapa o tablero:



La verdad es que visto así es un .... vamos a aclarar su funcionamiento.

¿Cómo funciona esto?

En realidad es sencillo, en la fila superior pondremos el alfabeto al completo, la igual que en la primera columna, ahora lo que hacemos es crear una matriz y completaremos el alfabeto comenzando por la letra correspondiente a la fila o a la columna, os pongo un ejemplo:

Si empezamos la letra B, la siguiente en el alfabeto sería la C, no? pues así hasta el final.
Con eso obtenemos nuestro mapa.

Una vez que tengamos nuestro mapa, supongamos que quiero cifrar la siguiente palabra:

Palabra a cifrar: HACKER

Ahora necesito la clave a utilizar, dicha clave lo que hará, y en base a ese mapa que hemos generado, indicarnos los desplazamientos necesarios.

Clave de cifrado: CAESAR
Palabra Cifrada: JAGCEI

¡¡¡ La clave de cifrado ha de tener la misma longitud que la palabra a cifrar, si fuera más corta la repetiríamos !!! 

** en el caso de que la clave sea más corta que la palabra a cifrar repetiríamos esta, es decir:

- Palabra a cifrar fuera PepitoPalote 
- Clave: hack

Para transponerla al cuadro habría que repetir la clave de la siguiente forma:
PepitoPalote
hackhackhac


La aplicación matemática de todo esto sería:

E = m + k mod 27
m: sería la posición de la letra a cifrar
k: posición de la letra cifrada

Venga vale, todo esto está muy bien, pero no me entero........

Yo soy muy práctico y muy vago y las mates no es que me apasionen, así que os voy a explicar cómo lo hago yo y seguro que lo vais a entender a la primera :)

¿Sabéis jugar a Hundir la Flota?

Si recordáis el juego de hundir la flota, lo que hacemos es trazar una línea en la posición X e Y, verdad? Pues aquí vamos a hacerlo igual.

Nos volvemos al tablero y ahora lo que si tenemos que tener claro es que cada letra de la palabra a cifrar estará en la línea superior, mientras que su equivalente cifrado estará en la primera columna. 

Es decir:

¿A que es el juego de los barquitos? XDDD 
Pues así continuaríamos hasta sustituir cada letra de la palabra a cifrar.

Bueno espero que hayáis entendido cómo funciona este tipo de cifrado, aunque seguro que buscáis herramientas en línea para hacerlo (que hay unas pocas).


Sed buenos!
@jdangosto

0 comentarios:

Publicar un comentario