Cifrado de Alberti

De Wikipedia, la enciclopedia libre

El cifrado de Alberti es el método de cifrado descrito por Leon Battista Alberti en su tratado De Cifris en 1466. Constituye el primer 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. Estos discos consisten en un armazón fijo en el que está grabado un alfabeto latino convencionalmente ordenado y al final están las cifras 1, 2, 3 y 4. Está 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 manera el usuario puede emparejar, mediante un giro del anillo móvil, 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 grabado un símbolo del alfabeto latino en letras mayúsculas en el orden habitual. A continuación están los números 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 grabado un símbolo del alfabeto latino en letra minúscula o los símbolos '&', 'y', 'k' y 'h'. El orden de las celdas puede ser cualquiera. Este alfabeto se usará para el texto cifrado.

Por tanto, el número de alfabetos 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 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» (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 de 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 descartadas 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 dos algoritmos para cifrar. Para explicarlos veamos un ejemplo de aplicación de ambos.

Ejemplo[editar]

Texto plano[editar]

Texto plano original: «La guerra».

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 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 obtenidos en el preprocesado para cifrar en cada uno de los algoritmos de cifrado.

Primer método de cifrado[editar]

Texto a cifrar: I c o n R e s o u r c e = C : \ P r o g r a m F i l e s \ G o o g l e \ D r i v e F i l e S t r e a m \ 8 5 . 0 . 2 6 . 0 \ G o o g l e D r i v e F S . e x e , 2 5.tarandacuao



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 cómo 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 se 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 cómo 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 mover 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 se realizó el giro, los discos quedan en la posición relativa:

ABCDEFGILMNOPQRSTVXZ1234 Anillo fijo
somqihfdbacegklnprtuz&xy Anillo móvil

Instrumentos similares y desarrollos[editar]

Un instrumento parecido para ayudar a la realización de un cifrado por sustitución, monoalabético o polialfabético, es la tablilla de Saint-Cyr. Tiene la importante diferencia de que no se presenta en forma de disco, sino con una combinación de dos cintas paralelas que pueden correr separadamente.

En el siglo XX, las máquinas criptográficas de rotores, como la máquina alemana Enigma, son aplicaciones electromecánicas de los principios de este cifrado de Alberti.

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.
  • J. G. Carmona, "Tratado de criptografía con aplicación especcial al ejército". Ministerio de Defensa, 2011.