Un cifrado polialfabético es un sistema de sustitución que utiliza varios alfabetos de sustitución. El cifrado Vigenère es probablemente el ejemplo más conocido de un cifrado polialfabético, aunque es un caso especial simplificado. La máquina Enigma es más compleja, pero sigue siendo fundamentalmente un cifrado de sustitución polialfabética.
El trabajo de Al-Qalqashandi (1355-1418), basado en el trabajo anterior de Ibn al-Durayhim (1312-1359), contenía la primera discusión publicada sobre la sustitución y transposición de cifras, así como la primera descripción de una cifra polialfabética, en la que a cada letra del texto simple se le asigna más de un sustituto. [1] Sin embargo, se ha afirmado que los cifrados polialfabéticos pueden haber sido desarrollados por el criptólogo árabe Al Kindi (801-873) siglos antes. [2]
El cifrado Alberti de Leon Battista Alberti, creado en torno a 1467, fue uno de los primeros cifrados polialfabéticos. Alberti utilizaba un alfabeto mixto para cifrar un mensaje, pero siempre que quería cambiaba de alfabeto, indicando que lo había hecho incluyendo una letra mayúscula o un número en el criptograma. Para este cifrado, Alberti utilizó un dispositivo decodificador, su disco de cifrado , que implementaba una sustitución polialfabética con alfabetos mixtos.
Johannes Trithemius —en su libro Polygraphiae libri sex (Seis libros de poligrafía), que se publicó en 1518 después de su muerte— inventó un cifrado polialfabético de clave progresiva llamado cifrado Trithemius . [3] A diferencia del cifrado de Alberti, que cambiaba los alfabetos a intervalos aleatorios, Trithemius cambiaba los alfabetos para cada letra del mensaje. Empezó con una tabula recta , un cuadrado con 26 letras (aunque Trithemius, escribiendo en latín , utilizó 24 letras). Cada alfabeto se desplazaba una letra a la izquierda del que estaba encima y comenzaba de nuevo con la A después de llegar a la Z (véase la tabla).
La idea de Trithemius era cifrar la primera letra del mensaje utilizando el primer alfabeto desplazado, de modo que A se convirtiera en B, B en C, etc. La segunda letra del mensaje se cifraba utilizando el segundo alfabeto desplazado, etc. El disco de cifrado de Alberti implementaba el mismo esquema. Tenía dos alfabetos, uno en un anillo exterior fijo y el otro en el disco giratorio. Una letra se cifra buscando esa letra en el anillo exterior y codificándola como la letra que se encuentra debajo de ella en el disco. El disco comenzaba con A debajo de B y el usuario giraba el disco una letra después de cifrar cada letra.
El cifrado era fácil de descifrar, y la implementación de Alberti en la máquina no era mucho más difícil. En ambos casos, la progresión de las claves no se ocultaba bien a los atacantes. Incluso la implementación de Alberti de su cifrado polialfabético era bastante fácil de descifrar (la letra mayúscula es una pista importante para el criptoanalista). Durante la mayor parte de los siguientes cientos de años, casi todo el mundo pasó por alto la importancia de utilizar múltiples alfabetos de sustitución. Los diseñadores de cifrados de sustitución polialfabética parecen haberse concentrado en ocultar la elección de unos pocos de esos alfabetos (repitiéndolos según fuera necesario), no en la mayor seguridad posible al utilizar muchos y no repetir ninguno.
El principio (en particular los alfabetos de sustitución adicionales ilimitados de Alberti) fue un avance importante, el más significativo en los varios cientos de años que habían transcurrido desde que se desarrolló el análisis de frecuencias . Una implementación razonable habría sido (y, cuando finalmente se logró, lo fue) mucho más difícil de descifrar. No fue hasta mediados del siglo XIX (en el trabajo secreto de Babbage durante la Guerra de Crimea y la divulgación pública generalmente equivalente de Friedrich Kasiski algunos años después), que el criptoanálisis de cifras polialfabéticas bien implementadas llegó a alguna parte. Véase el análisis de Kasiski .
Abramo Colorni describió los cifrados polialfabéticos en su obra de 1593, Scotographia . [4]