Cifrado de Alberti

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

El cifrado de Alberti es el método de cifrado descrito por Leon Battista Alberti en su tratado 'De Cifris' en 1466. Constituye el primero cifrado por sustitución polialfabético conocido. El modo en el que se cambiaba de alfabeto no era periódico (a diferencia de otros cifrados posteriores como el de Vigenère. Para facilitar el proceso de cifrado/descifrado propone unos artilugios conocidos como 'discos de Alberti'.

Discos de Alberti[editar]

Figura 1:Disco de Alberti

Los discos de Alberti son artilugios que sirven de herramienta para realizar el cifrado de Alberti. Estos discos consisten en un armazón fijo en el que está grabado un alfabeto latín convencional ordenado y al final están las cifras 1, 2, 3 y 4. Unido a él por una pieza circular concéntrica y móvil con otro alfabeto grabado de forma que este círculo podía moverse con respecto al otro. De esta forma el usuario puede, mediante un giro del anillo móvil, emparejar el alfabeto del círculo de arriba con tantos alfabetos del círculo de abajo como giros distintos del anillo dé, hasta un máximo igual a los caracteres del alfabeto empleado.

El anillo fijo tiene 24 celdas iguales y en cada una de ellas hay grabada un símbolo del alfabeto latino en letras mayúsculas en el orden habitual. A continuación están los número 1, 2, 3, 4 por este orden. Este alfabeto se usará para el texto en claro

El anillo móvil tiene 24 celdas iguales y en cada una de ellas hay grabada un símbolo del alfabeto latino en minúscula o los símbolos '&', 'y', 'k' y 'y'. El orden de las celdas puede ser cualquiera. Este alfabeto se usará para el texto cifrado.

Por tanto la el número de alfabeto distintos usables para un disco de Alberti determinado es de 24.

Código de recifrado y caracteres nulos[editar]

En el anillo fijo (el del alfabeto del texto en claro) aparecen las cifras del 1 al 4. Alberti aprovecha todas las combinaciones de de 2, 3 y 4 cifras de estos números (336=4^2+4^3+4^4 grupos) para poder establecer un código y así aumentar la seguridad del sistema. A este código se le llama código de recifrado (y en inglés superencipherment). Para aprovechar esta potencialidad tanto el receptor como el emisor deben compartir un libro de códigos que indique el significado del cada código usado. En este libro de códigos estarían aquellas palabras o frases de especial trascendencia en el ámbito de uso del cifrado, y por tanto a las que hay que dar mayor seguridad. Por ejemplo el libro de códigos podría atribuir al código '21' el significado 'Lanzar ataque' y al código '23' asignar el significado 'Replegarse'.

Por otro lado las cifras son introducidas para despistar y serán descartados cuando el receptor realice el descifrado. Por eso se dice que son caracteres nulos.

Algoritmo de cifrado/descifrado[editar]

La clave del sistema viene definida por el orden de los símbolos en el anillo móvil y por la situación inicial relativa de los dos anillos. Para descifrar el receptor tiene que realizar operaciones inversas a las que realiza el que cifra. Para ello los giros que hay que ir realizando en el anillo móvil se indican en el texto cifrado siguiendo cierto convenio que el que descifra tiene que ir siguiendo. Hay 2 algoritmos para cifrar. Para explicarlos veamos un ejemplo de aplicación de ambos.

Ejemplo[editar]

Texto plano[editar]

Texto plano original: “La guerra si farà ...”

Preprocesado[editar]

Para adaptar el texto plano a las posibilidades de nuestro cifrador es necesario realizar un proceso de preprocesado. En este proceso convertimos al alfabeto del texto plano, aplicamos el código de recifrado (en este caso vamos a suponer que el libro de códigos no es aplicable) y si es necesario usamos caracteres nulos.

En un primer paso pasamos obtenemos el texto plano: 'LAGVERRASIFARA' Vemos que la R doble puede producir problemas y entonces podemos considerar dos estrategias: eliminarla o introducir un carácter nulo. Con la primera estrategia obtendremos 'LAGVERASIFARA' y con la segunda 'LAGVER2RASIFARA'.

Cifrado[editar]

Vamos a usar uno de los dos textos obtenido en el preprocesado para cifrar en cada uno de los algoritmos de cifrado.

Primer método de cifrado[editar]

Texto a cifrar : 'LAGVER2RASIFARA'.

Clave:

El orden del disco móvil es 'gklnprtuz&xysomqihfdbace'
Se elige una letra del disco móvil como índice, únicamente conocido por el emisor y el receptor. Supongamos que es la 'g'.

Se hace coincidir la 'g' con la letra del disco móvil que queramos, por ejemplo la 'A'. Por tanto los discos quedan así:

ABCDEFGILMNOPQRSTVXZ1234 Anillo fijo
gklnprtuz&xysomqihfdbace Anillo móvil

El mensaje cifrado comenzará con la letra 'A' elegida para indicar como están los discos y se continúa sustituyendo hasta que se decide girar el disco. En ese momento se vuelve a poner la letra que coincide con la 'g' y vuelta a empezar. Por tanto si ciframos con la posición anterior de los discos hasta que pasamos a cifrar la letra 'S' y ahí cambiamos giramos y ponemos la 'g' en la 'Q' obtenemos el texto cifrado:

_LAGVER2RA_SIFARA texto a cifrar
AzgthpmamgQlfiyky texto cifrado

Observar que cuando realizó el giro los discos quedan en la posición relativa:

QRSTVXZ1234ABCDEFGILMNOP Anillo fijo
gklnprtuz&xysomqihfdbace Anillo móvil
Segundo método de cifrado[editar]

Texto a cifrar : 'LAGVERASIFARA'.

Clave:

El orden del disco móvil es gklnprtuz&xysomqihfdbace
Se elige una letra del disco fijo como índice, únicamente conocido por el emisor y el receptor. Supongamos que es la letra 'A'

Se hace coincidir la 'A' con la letra del disco móvil que queramos, por ejemplo la 'm'. Por tanto los discos quedan así:

ABCDEFGILMNOPQRSTVXZ1234 Anillo fijo
mqihfdbacegklnprtuz&xyso Anillo móvil

El mensaje cifrado comenzará con la letra 'm' elegida para indicar como están los discos y se continúa sustituyendo hasta que se decide girar el disco. En ese momento se cifra el número '3' que indicará al receptor que hay que mover el anillo. El anillo se moverá de tal forma que el resultado de cifrar el '3' sea alineado con nuestra clave.

Por tanto si queremos móvil el anillo móvil en la letra 'S' lo que tenemos que cifrar es 'LAGVERA3SIFARA'. Por tanto el mensaje cifrado quedará:

_LAGVERA3SIFARA texto a cifrar
mcmbufpmsndhsls texto cifrado

Observar que cuando realizó el giro los discos quedan en la posición relativa:

ABCDEFGILMNOPQRSTVXZ1234 Anillo fijo
somqihfdbacegklnprtuz&xy Anillo móvil

Referencias[editar]

  • Francisco Martínez Navarro,'La máquina Enigma y otros dispositivos de encriptación'.
  • Alberti, Leon Battista, A Treatise on Ciphers, trans. A. Zaccagnini. Foreword by David Kahn, Galimberti, Torino 1997.
  • Buonafalce, Augusto, “An Exercise in Solving the Alberti Disk”. The Cryptogram LIV, 5, ACA, Plano 1999.
  • Richard A. Mollin, "Codes The Guide to Secrecy from Ancient to Modern Times". Chapman & HALL/CRC, 2005.