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}$

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.