cifrados polialfabeticos - Criptohistoria

Una web dedicada a la historia de la criptología española
CRIPTOHISTORIA
Vaya al Contenido
Cifrados polialfabéticos.
 
 
Denominamos así a todos aquellos sistemas de sustitución en los que se utiliza más de un alfabeto para realizar la sustitución. Básicamente, al igual que en las tablas de homófonos, lo que se pretende es acabar con el patrón de frecuencias del alfabeto original. Al contrario que en los sistemas de sustitución simples tenemos varios alfabetos que utilizaremos para cifrar o descifrar. En este tipo de cifrados se suele utilizar una tabla en la que están dispuestos los alfabetos para cifrar, utilizando una palabra clave como elemento para determinar el orden de utilización de los diferentes alfabetos.
 
 
Tabla de Tritemio.
 
 
El Abad Tritemio fue el primero en describir un cifrado polialfabético utilizando una tabla, que él denominó tabula recta. La tabla utilizada por Tritemio tenía en cada fila el alfabeto anterior desplazado una posición. Para cifrar simplemente cifraba cada letra con el alfabeto que coincidía con la posición de la letra módulo n, siendo n el número de letras del alfabeto. La tabla se vería como la siguiente utilizando las letras del español:

Para facilitarnos la tarea hemos añadido una columna a la izquierda que nos indica el número del alfabeto. En este caso la palabra CIEN se cifraría como: CJGP.
 
 
La tabla recíproca de Porta.
 
 
Giovani Battista Della Porta fue el típico estudioso del Renacimiento. Conocedor de varias disciplinas, dejó para el mundo de la criptografía uno de  los primeros métodos de cifrado polialfabético. Consistía en una tabla con 22 filas, cada dos de ellas con un semialfabeto reversible. La tabla se vería como la siguiente:

La cifra indescifrable de Vigenère.
 
 
Sin duda, el cifrado polialfabético más conocido es el de  Blaise de Vigenère, que él denominaba “la cifra indescifrable”. Lo cierto es que en el siglo XVII los criptoanalistas españoles no lo consideraban un método seguro, con lo que, evidentemente sabían romperlo. Sin embargo, el éxito de romperlo se les atribuye a dos nombres famosos del siglo XIX, Charles Babbage y Friedrich Kasiski. La forma de cifrar es muy sencilla. Utilizamos una tabla como la de Tritemio y una palabra o una frase que se utiliza como clave, tan larga como sea posible, y que irá repitiéndose. La intersección de la letra en claro con la clave nos daría la letra cifrada. Por ejemplo, en la tabla siguiente vemos que la letra M con la clave C nos daría la letra Ñ.

En este vamos a cifrar la palabra ATAQUE con la clave CIEN. En primer lugar ponemos la palabra a cifrar y encima la clave repitiéndose tantas veces como haga falta. Luego procedemos a cifrar cada uno de los pares, utilizando la primera fila para posicionar la clave y la primera columna para el texto en claro. El mensaje cifrado quedaría como sigue:

Básicamente lo que se hace es utilizar un cifrado de sustitución simple escogido utilizando el orden numérico de la clave, es decir, la posición en el alfabeto de la letra de la clave utilizada. En el ejemplo anterior los alfabetos utilizados serían el 3º, 9º, 5º, 14º, 3º y 9º respectivamente. Si utilizamos una tabla como la anterior podemos simplemente cifrar utilizando ese número. Es decir, la letra cifrada serie la letra en claro adelantada el número de posiciones que marca la clave menos 1.
 
Matemáticamente si c es la letra cifrada, m es la posición de la letra en claro en el alfabeto, p la posición de la letra de la clave, n el número de elementos y f la función que nos da la letra en el alfabeto en esa posición, tenemos que c = f(m + (p - 1) mod n). Visto de otra forma, la fórmula que rige el cifrado es la siguiente:
 
                                               
 
 
siendo la clave   el conjunto formado por todos los desplazamientos de los caracteres de la clave con respecto al alfabeto básico. El descifrado viene dado por la formula:
 
 
 
 
 
Hemos utilizado alfabetos ordenados y desplazados una posición, que es como se suele utilizar el cifrado de Vigenère, pero nada nos impide el utilizar alfabetos aleatorios y puestos también en posiciones aleatorias, aunque en este caso la formula anterior no sería válida.
 
Para acelerar el cifrado en el siglo XIX y el XX se solía utilizar una regla de Saint Cyr, como la de la imagen siguiente:


Otro método, ya utilizado en el siglo XVI, era utilizar discos concéntricos como los  siguientes:

Variantes del método.
 
 
Cifrado de Beaufort.
 
 
Hay un par de variantes de este método que se han hecho famosas, la más conocida es la del almirante británico Sir Francis Beaufort, aunque, al parecer fue inventada por Jean Sestri en 1710. Consiste básicamente en hacer la sustitución al revés. Es decir, se procede a preparar el par (mensaje, clave) como en el caso anterior, el cifrado se realiza buscando la letra del mensaje en claro en la fila superior. Posteriormente se busca en la columna que apunta esa letra la correspondiente a la clave. El carácter  cifrado es el identificador de la fila encontrada. Por ejemplo la letra C con la clave J se cifrará con la letra H, tal como vemos en la tabla siguiente:


                                               
Matemáticamente, la fórmula que rige el cifrado es la siguiente:
 
siendo la clave  el conjunto formado por todos los desplazamientos de los caracteres de la clave con respecto al alfabeto básico. El descifrado viene dado por la formula:



Cifrado de Gronsfeld.
 
 
Es simplemente una variante del cifrado de Vigenère en la que se utiliza una clave numérica y en la que solo hay 10 filas para el cifrado. Gráficamente se vería como la siguiente:


Para cifrar escogemos una clave numérica y desplazamos la letra tantas posiciones como indique el dígito correspondiente. Por ejemplo, la palabra CIEN con la clave 1943 se cifraría como:



Una web dedicada al estudio  de la criptología, principalmente de la española,  y de su evolución a través de la Historia.
CRIPTOHISTORIA
Regreso al contenido