Cifrado Vigenère
Blaise de Vigenère
El cifrador polialfabético más conocido es el sistema de Vigenère. Este algoritmo cuenta con dos formas de implementación: usando Aritmética Modular o la Tabla de Vigenère (cuadrado de Tritemio).
Este método pertenece al criptólogo italiano Giovan Battista Bellaso (1505-?) y en el siglo XIX fue asignado a Blaise de Vigenère (1523-1596), un diplomático francés y criptógrafo. Vigenère publicó el cifrado original de Battista Bellaso y propuso una clave mucho más fuerte, de tal forma que este cifrado se consideró inquebrantable hasta el siglo XIX cuando se publicó la primera ruptura.
Cifrado
Aritmética Modular
El algoritmo utiliza el mismo método que el cifrado César, esto es una sustitución por desplazamiento de caracteres en el texto, con la diferencia de que dicho desplazamiento viene indicado por el valor numérico asociado a uno de los caracteres de una clave que se escribe cíclicamente bajo el mensaje. Tomando en cuenta el alfabeto {A, B, C,..., Y, Z} de 27 caracteres, a cada uno de ellos se le asigna un número del 0 al 26. El siguiente paso para obtener el texto cifrado es realizar la siguiente operación.
Dónde
- es el carácter del texto cifrado resultante
- es la letra de la posición del texto claro
- es el valor del carácter de la llave
- es el tamaño del alfabeto
Por Ejemplo:
Llave: | s | e | c | r | e | t | o | s | e | mod 27 |
19 | 4 | 2 | 18 | 4 | 20 | 15 | 19 | 4 | ||
Mensaje claro: | h | o | l | a | m | u | n | d | o | |
7 | 15 | 11 | 0 | 12 | 21 | 13 | 3 | 15 | ||
Texto cifrado: | Z | S | N | R | P | Ñ | B | V | S | |
26 | 19 | 13 | 18 | 16 | 14 | 1 | 22 | 19 |
Tabla de Vigenère
En este esquema, el conjunto de reglas de sustitución monoalfabética relacionadas consta de 27 cifrados César, con desplazamientos de 0 a 26. Cada cifrado se denota por una letra clave, que es la letra de texto cifrado que sustituye a la letra a de texto plano. Por lo tanto, un cifrado César con un desplazamiento de 3 se denotará con el valor clave d.
Para ayudar a entender el esquema y ayudar en su uso, se construye una matriz conocida como tabla Vigenère. Cada uno de los 27 cifrados se presenta horizontalmente, con la letra clave para cada cifrado a su izquierda. Un alfabeto normal para el texto plano corre a través de la parte superior.
El proceso de encriptación es simple: dada una letra clave x y una letra de texto plano y, la letra de texto cifrado está en la intersección de la fila x y la columna y. En este caso el texto cifrado es V.
Para cifrar un mensaje, se necesita una clave que sea tan larga como el mensaje. Normalmente, la clave es una palabra clave repetitiva.
Por ejemplo, si la palabra clave es secreto, el mensaje claro hola mundo se cifra de la siguiente manera:
Llave: | s | e | c | r | e | t | o | s | e |
Mensaje claro: | h | o | l | a | m | u | n | d | o |
Texto cifrado: | Z | S | N | R | P | Ñ | B | V | S |
Descifrado
Aritmética Modular
Para el proceso de descifrado se siguen los mismos pasos que en el proceso de cifrado con la excepción de que se utiliza la siguiente fórmula.
Dónde
- es la letra del texto claro resultante
- es la letra de la posición del texto cifrado
- es el valor del inverso aditivo del carácter de la llave
- es el tamaño del alfabeto
Por Ejemplo:
Llave: | s | e | c | r | e | t | o | s | e | mod 27 |
8 | 23 | 25 | 9 | 23 | 7 | 12 | 8 | 23 | ||
Texto cifrado: | Z | S | N | R | P | Ñ | B | V | S | |
26 | 19 | 13 | 18 | 16 | 14 | 1 | 22 | 19 | ||
Mensaje claro: | h | o | l | a | m | u | n | d | o | |
7 | 15 | 11 | 0 | 12 | 21 | 13 | 3 | 15 |
Tabla de Vigenère
Utilizando la letra de la clave se identifica la fila. Una vez ubicada la fila se recorre la misma hasta encontrar la letra del texto cifrado. Se recorre esa columna y la letra que se encuentra al inicio de la misma corresponde a la letra del texto claro.Referencias
- Stallings, William. (2005). Classical Encryption Techniques. En Cryptography and Network Security(46-47). Prentice Hall.
- Ramió, J. (1999). Aplicaciones Criptográficas. Dpto. de Publicaciones EUI-UPM: Dpto. de Publicaciones EUI-UPM.