Cifrados de sustitución polialfabeto

Como ya se vio en el apartado dedicado a los criptosistemas monoalfabéticos, su principal debilidad es que el texto cifrado mantiene la misma distribución de frecuencia de caracteres que tiene el texto claro original, lo que hace que los cifrados monoalfabeto sean criptoanalizables por métodos estadísticos sencillos. Una posible mejora de los cifrados por sustitución es intentar métodos que destruyan esa correspondencia de frecuencias entre el mensaje en claro y el criptograma. Por ejemplo, utilizando varios alfabetos a la vez para el cifrado.

En los cifrados polialfabéticos la sustitución aplicada a cada caracter varía en función de la posición que ocupe este dentro del texto claro. En realidad corresponde a una aplicación cíclica de n cifrados de sustitución monoalfabeto.

Cifrado de Vigenère

Es un ejemplo típico de cifrado polialfabético cuya invención fue imputada erróneamente a Blaise de Vigenère, y que data del siglo XVI. La clave está constituida por una secuencia de símbolos del alfabeto K = {k0, k1, ... ,kd-1}, de longitud d, y que emplea la siguiente transformación congruente lineal de cifrado:

Ek (mi) = mi + k (i mod d) (mod n)

siendo mi el i-ésimo símbolo del texto claro y n el cardinal (longitud) del alfabeto de entrada. Como clave se puede utilizar cualquier palabra de una longitud por ejemplo entre 6 y 8 caracteres, que no tenga letras repetidas.

Para ver mejor esto, supongamos que con nuestro alfabeto español de 27 símbolos, queremos cifrar el texto en claro "PLAN", y que para el cifrado utilizamos como clave la palabra "SOL". La primera letra del mensaje , la P se cifrará con la primera letra de la clave, S, lo que indica que tenemos que hacer la sustitución monoalfabeto E("P") = E(16) = (16 + 19) mod 27 = 8 = "I", ya que si A ocupa la posición 0, S ocupa la posición 19 en nuestro alfabeto. La letra L del mensaje se cifrará usando la letra O de la clave, y la letra A del mensaje se cifrará usando la letra L de la clave. Para la última letra del mensaje (N) volveremos a usar a primera letra de la clave (S).

Por lo tanto tenemos como resultado:
Mensaje P L A N
Clave S O L S
Cifrado I Z L F

Para facilitar las operaciones con este criptosistema, se dispone el llamado cuadro de Vigenère, que está formado por una matriz cuadrada de 27x27 en el caso de un alfabeto de 27 letras como el español. La primera fila de la matriz está formada por el alfabeto empezando por la letra A y acabando en la letra Z, la segunda por el alfabeto que empieza por la B y acaba en A, y así hasta la última fila, la 27ª, que empieza por las letras ZAB... y acaba con la letra Y.

Cuadro de Vigenère

Correr aplicación Aplicación de ejemplo: El cifrado Vigenère

Criptoanálisis del cifrado Vigenère

Para criptoanalizar este tipo de cifrado es necesario con efectuar d análisis estadísticos independientes agrupando los símbolos del criptograma en grupos distintos según la ki empleada para codificarlos; cada grupo estará codificado con el mismo alfabeto de cifrado. Para estimar la longitud d de la clave, (o sea, el número de alfabetos distintos empleados en el cifrado) buscaremos la periodicidad de los patrones comunes que puedan aparecer en el texto cifrado. Obviamente, para el criptoanálisis, necesitaremos al menos d veces más cantidad de texto cifrado que con los métodos monoalfabéticos.


Anterior Arriba Siguiente