El Cifrado Vigenère es un método de cifrado de sustitución polialfabética que utiliza una serie de diferentes cifrados César, basados en las letras de una palabra clave. Fue considerado un método indescifrable durante siglos, ganándose el apodo de "le chiffre indéchiffrable", hasta que fue roto por Charles Babbage y posteriormente por Friedrich Kasiski.
A diferencia del Cifrado César, que utiliza un desplazamiento constante para todo el mensaje, Vigenère utiliza un desplazamiento diferente para cada letra del texto plano, determinado por la letra correspondiente de la clave.
La Matriz de Vigenère o Tabula Recta
La base del cifrado es una tabla conocida como la Tabula Recta. Es una matriz de 26 filas y 26 columnas. La primera fila es el alfabeto estándar (representando el texto plano), y cada fila subsiguiente se desplaza una posición a la izquierda, creando 26 diferentes cifrados César.
Generación de la Clave Periódica
Para cifrar un mensaje, se requiere una palabra clave que se repite periódicamente sobre el texto plano. Si la clave es más corta que el mensaje, se extiende repitiéndola hasta que coincida con la longitud del texto plano.
Ejemplo:
- Texto Plano:
CIFRADOVIGENERE - Clave:
CLAVE
Secuencia de clave final:
CLAVECLAVECLAVE
Esto se conoce como el ataque de la clave periódica, y es la principal debilidad que permite el Criptoanálisis de Vigenère.
Proceso de Cifrado
El cifrado de cada letra se realiza mediante la suma modular. Ambas letras (la del texto plano y la de la clave) se convierten a su valor numérico (A=0, B=1, ..., Z=25).
$E = (P + K) \pmod{26}$
Ees el valor numérico de la letra Cifrada.Pes el valor numérico de la letra del Texto Plano.Kes el valor numérico de la letra de la Clave.
Proceso de Descifrado
El descifrado es el proceso inverso, utilizando la resta modular:
$P = (E - K) \pmod{26}$
Al restar, si el resultado es negativo (por ejemplo, A(0) - F(5) = -5), se le suma 26 para obtener el valor positivo equivalente (21, que es V).
Seguridad y Criptoanálisis
Hoy el Vigenère es vulnerable. Su debilidad principal es la periodicidad de la clave. Un criptoanalista puede usar el Ataque de Kasiski para determinar la longitud de la clave a partir de secuencias repetidas. Una vez conocida la longitud, el cifrado se descompone en varios cifrados César simples, que se rompen fácilmente con análisis de frecuencias.
