✖

Cifrado de Vigenère

El cifrado de Vigenère es un cifrado famoso que utiliza varios alfabetos de cifrado, y por eso resiste mucho mejor el análisis de frecuencias clásico.

Cómo se cifra y se descifra

Podemos explicar el procedimiento de cifrado con ayuda del cifrado César. La clave del cifrado de Vigenère es cualquier palabra formada por letras del alfabeto inglés, es decir, de la a a la z (por eso escribimos las palabras sin tildes y sin la ñ). La clave puede ser, por ejemplo, la palabra «bcf». Para cifrar, escribimos el texto en claro y justo debajo la clave, que repetimos hasta que tenga la misma longitud que el texto en claro. Para el texto en claro «buenasnoches» quedaría así:

Texto en claro:buenasnoches
Clave:bcfbcfbcfbcf

Ahora ciframos todas las letras del texto en claro con el cifrado César usando la clave correspondiente, es decir, la que está en la misma columna. El cifrado César es un cifrado por desplazamiento: la clave indica cuántas letras hay que desplazar la letra del texto en claro, contando a partir de la letra «a». La letra «b», por ejemplo, indica un desplazamiento de una letra «hacia la derecha» en el alfabeto. La letra «d» indica un desplazamiento de tres letras hacia la derecha. La palabra «hola» la ciframos con el cifrado César y la clave «b» como «ipmb».

Mientras que en el cifrado César ciframos todo el texto con una sola letra, en el cifrado de Vigenère solemos cifrar con varias letras. El cifrado del texto «buenasnoches» con la clave «bcf» quedaría así:

Texto en claro:buenasnoches
Clave:bcfbcfbcfbcf
Texto cifrado:cwjocxoqhigx

La primera letra, «b», la ciframos con la clave «b», es decir, con un desplazamiento de una letra, así que el resultado es la letra «c». La letra «u» la ciframos con la clave «c», es decir, con un desplazamiento de dos letras, y el resultado es la letra «w». Etc.

Se descifra exactamente igual, solo que en lugar de desplazar las letras «hacia la derecha», las desplazamos «hacia la izquierda».

Herramienta en línea para cifrar y descifrar con el cifrado de Vigenère

Texto:
Clave:

El cuadro de Vigenère

Todo el procedimiento de cifrado y descifrado se puede explicar también con el cuadro de Vigenère, una ayuda que podemos usar mientras ciframos. El cuadro de Vigenère es una tabla de 26 filas y 26 columnas. En cada fila está escrito el alfabeto, y cada fila está desplazada una letra respecto a la anterior:

Si tenemos un cuadro de Vigenère así, el cifrado sería de este modo: tomaríamos una letra del texto en claro y buscaríamos la fila con esa letra. Luego tomaríamos la letra de la clave y buscaríamos su columna. La letra del texto cifrado sería la letra que está en el cruce de esa fila y esa columna.

En el ejemplo anterior ciframos «buenasnoches» con la clave «bcf». Buscamos, pues, la fila que empieza por «b» y la columna que empieza por «b». En el cruce de esa fila y esa columna está la letra «c», que es la letra del texto cifrado.

Para descifrar procederíamos al revés. Si quisiéramos descifrar la letra «e» con la clave «b», buscaríamos la columna «b», en ella buscaríamos la fila que contiene la letra «e», y la letra que está al principio de esa fila sería la letra del texto en claro.

La principal fortaleza del cifrado de Vigenère

¿Por qué era el cifrado de Vigenère tan fuerte en su época? Porque dificultaba mucho el análisis de frecuencias clásico. Por ejemplo, en el cifrado César dos letras iguales del texto en claro se cifran siempre como la misma letra del texto cifrado. Pero esto en el cifrado de Vigenère no ocurre, al menos no siempre.

Si ciframos el texto «Bueno bueno bueno» con la clave «stan», obtenemos el texto cifrado «tneag uurfh bhwgo». Vemos que, aunque el texto en claro contiene tres palabras iguales, en el texto cifrado cada palabra parece totalmente distinta. La palabra del medio, «uurfh», incluso contiene dos letras «u», que sin embargo proceden de dos letras distintas del texto en claro: «bu».

Elección de la clave

La seguridad del cifrado de Vigenère depende muchísimo de la clave que elijamos. Mientras que en el cifrado César daba igual qué letra eligiéramos, siempre que fuera distinta de «a», en el cifrado de Vigenère las distintas claves dan lugar a niveles de seguridad muy diferentes.

  • Una clave formada por una sola letra reduce el cifrado de Vigenère de nuevo al cifrado César.
  • Una clave formada por varias letras iguales, por ejemplo «mmm», lleva de nuevo al cifrado César.
  • Un texto cifrado con una clave corta será muy fácil de descifrar sin la clave.
  • Un texto cifrado lo bastante largo, cifrado con una clave no demasiado corta (de unos cincuenta caracteres), también será muy fácil de descifrar sin la clave. Con un ordenador, en cuestión de segundos.
  • Un texto cifrado con una clave totalmente aleatoria y tan larga como el propio texto será imposible de descifrar sin la clave.