Cifrado de Vigenère

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

El cifrado Vigenère es un cifrado basado en diferentes series de caracteres o letras del cifrado César formando estos caracteres una tabla, llamada tabla de Vigenère, que se usa como clave. El cifrado de Vigenère es un cifrado de sustitución simple polialfabético.

El cifrado Vigenère se ha reinventado muchas veces. El método original fue descrito por Giovan Battista Belasso en su libro de 1553 La cifra del Sig. Giovan Battista Belasso. Sin embargo, fue incorrectamente atribuido más tarde a Blaise de Vigenère, concretamente en el siglo XIX, y por ello aún se le conoce como el "cifrado Vigenère".

Este cifrado es conocido porque es fácil de entender e implementar, además parece irresoluble; esto le hizo valedor del apodo el código indescifrable (le chiffre indéchiffrable, en francés).

Historia[editar]

El primer cifrado polialfabético fue el llamado cifrado de Alberti, creado por Leone Battista Alberti hacia 1467. Para facilitar los cálculos se aprovechaba de un disco de metal que permitía cambiar fácilmente entre los diferentes alfabetos disponibles. El sistema de Alberti sólo cambiaba entre alfabetos después de muchas palabras, y los cambios se indicaban escribiendo la letra del correspondiente alfabeto en el mensaje cifrado. Más tarde, en 1508, Johannes Trithemius, en su trabajo Poligraphia, inventó la tabula recta, que es básicamente la tabla de Vigenère. Trithemius, sin embargo, sólo proporcionó un progresivo, rígido y predecible sistema de cambio entre alfabetos.

Cuadro Vigènere con las 27 letras del castellano

Lo que ahora se conoce como el cifrado de Vigenère fue originalmente descrito por Giovan Battista Belasso en su libro 1533 La cifra del Sig. Giovan Battista Belasso, quien construyó el cifrado basándose en la tabula recta de Trithemius, pero añadió una clave repetida para cambiar cada carácter entre los diferentes alfabetos.

Blaise de Vigenère publicó su descripción de un cifrado de autoclave parecido, pero más robusto, antes del reinado de Enrique III de Francia, en 1586. Más tarde, en el siglo XIX, la invención del cifrado dejó de atribuirse a Vigenère.

El cifrado Vigenère ganó una gran reputación por ser excepcionalmente robusto. Incluso el escritor y matemático Charles Lutwidge Dodgson (Lewis Carroll) dijo que el cifrado Vigenère era irrompible en el artículo "The Alphabet Cipher" para una revista de niños.

En 1917, "Scientific American" describió el cifrado Vigenère como imposible de romper. Esta reputación fue mantenida hasta que el método Kasiski resolvió el cifrado en el siglo XIX y algunos criptoanalistas habilidosos pudieron romper ocasionalmente el cifrado en el siglo XVI.

El cifrado Vigenère es lo suficientemente simple si se usa con discos de cifrado. Los Estados confederados de América, por ejemplo, utilizaron un disco de cifrado para implementar el cifrado Vigenère durante la Guerra Civil estadounidense. Los mensajes confederados fueron poco secretos, ya que los miembros de la Unión solían descifrar los mensajes.

Gilbert Vernam trató de arreglar el cifrado (creando el cifrado Vernam-Vigenère en 1918), pero no importa lo que hiciera, el cifrado sigue siendo vulnerable al criptoanálisis. (No confundir con el cifrado de Vernam)

Funcionamiento[editar]

mensaje:    P A R I S  V A U T  B I E N  U N E  M E S S E 
clave:      L O U P L  O U P L  O U P L  O U P  L O U P L 
criptograma:A O M X D  K U K E  P C T X  J H T  W S N I O 

En este abecedario solo existen 27 letras donde A=0, B=1 , C=2 ... Z=26

En términos matemáticos puede expresarse como:

Yi= (Xi+Zi) mod T

Donde Xi es el número de ubicación de la letra, es decir, que P le corresponde al número 16 en modo horizontal y Zi la L en modo vertical le corresponde al número 11, y la letra T es el total de números del alfabeto.

Entonces, para P y L la ecuación quedará de la siguiente manera: Yi= (16 + 11) mod 27. El resultado es: 0, donde 0 es igual a A en modo horizontal. Para A y O la ecuación quedará como: Yi = (0 + 15) mod 27. El resultado es 15, donde 15 es igual a O en modo horizontal. Para R y U la ecuación quedará como: Yi = (18 + 21) mod 27. El resultado es 12, donde 12 es igual a M en modo horizontal.

Otra manera es viendo la tabla, por ejemplo buscamos la P en la primera fila horizontal y la L en la primera columna vertical, en su intersección encontramos la letra A.

Para descifrar hacemos la operación inversa, al resultado A le restamos la clave L y tenemos Xi = (Yi - Zi) mod 27, lo que nos da 16, correspondiente a la P que habíamos encriptado antes. Así hacemos con las demás letras.

Para descifrar con la tabla, buscamos la clave en la primera fila horizontal, en este caso la L y bajamos verticalmente hasta encontrar la A del mensaje cifrado. De ahí nos vamos horizontalmente a la izquierda hasta la primera columna y tenemos la P que se había cifrado anteriormente.

con Xi = P, A, R, I y Zi = L, O, U, P, alternativamente, siendo T el número de letras del alfabeto.

Se observa que a una misma letra en el texto claro le pueden corresponder diferentes letras en el texto cifrado.

Véase también[editar]