Tabula recta
En criptografía, la tabula recta (del latín tabula rēcta) es una tabla cuadrada de alfabetos, cada fila de la cual está formada por desplazando el anterior a la izquierda. El término fue inventado por el autor y monje alemán Johannes Trithemius en 1508 y utilizado en su Cifrado Trithemius.
Cifrado de Tritemio
El cifrado de Trithemius fue publicado por Johannes Trithemius en su libro Polygraphia, al que se le atribuye ser el primer trabajo impreso publicado sobre criptología.
Trithemius usó la tabula recta para definir un cifrado polialfabético, que era equivalente al disco de cifrado de Leon Battista Alberti, excepto que el orden de las letras en el alfabeto de destino no se mezcla. A menudo se hace referencia a la tabula recta cuando se habla de cifrados anteriores a la computadora, incluido el cifrado de Vigenère y el cifrado de clave automática menos conocido de Blaise de Vigenère. Todos los cifrados polialfabéticos basados en el cifrado César pueden describirse en términos de la tabula recta.
La tabula recta usa un cuadrado de letras con las 26 letras del alfabeto seguidas de 26 filas de letras adicionales, cada una desplazada una vez hacia la izquierda desde la que está arriba. Esto, en esencia, crea 26 cifrados César diferentes.
El texto cifrado resultante aparece como una cadena aleatoria o un bloque de datos. Debido al cambio variable, las frecuencias de letras naturales están ocultas. Sin embargo, si un descifrador sabe que se ha utilizado este método, se vuelve fácil de descifrar. El cifrado es vulnerable a los ataques porque carece de una clave, lo que viola el principio de criptología de Kerckhoff.
Mejoras
En 1553, Giovan Battista Bellaso desarrolló una extensión importante del método de Trithemius, que ahora se llama el cifrado de Vigenère. Bellaso agregó una clave, que se usa para dictar el cambio de alfabetos cifrados con cada letra. Este método se atribuyó erróneamente a Blaise de Vigenère, quien publicó un cifrado de clave automática similar en 1586.
El cifrado Trithemius clásico (usando un cambio de uno) es equivalente a un cifrado Vigenère con ABCDEFGHIJKLMNOPQRSTUVWXYZ como clave. También es equivalente a un cifrado César en el que el desplazamiento aumenta en 1 con cada letra, comenzando en 0.
Uso
Dentro del cuerpo de la tabula recta, cada alfabeto se desplaza una letra hacia la izquierda con respecto al que está arriba. Esto forma 26 filas de alfabetos desplazados, que terminan con un alfabeto que comienza con Z (como se muestra en la imagen). Aparte de estos 26 alfabetos, hay una fila de encabezado en la parte superior y una columna de encabezado a la izquierda, cada una de las cuales contiene las letras del alfabeto en orden de la A a la Z.
La tabula recta se puede utilizar de varias formas equivalentes para cifrar y descifrar texto. Más comúnmente, la columna de encabezado del lado izquierdo se usa para las letras de texto sin formato, tanto con cifrado como con descifrado. Ese uso se describirá en este documento. Para descifrar un cifrado de Trithemius, primero se ubican en la tabula recta las letras a descifrar: primera letra en la primera columna interior, segunda letra en la segunda columna, etc.; la letra directamente en el extremo izquierdo, en la columna del encabezado, es la letra de texto sin formato descifrada correspondiente. Suponiendo un cambio estándar de 1 sin utilizar ninguna clave, el texto cifrado HFNOS se descifraría a HOLA (H->H, F->E, N->L, O->L, S->O). Entonces, por ejemplo, para descifrar la segunda letra de este texto, primero busque la F dentro de la segunda columna interior, luego muévase directamente hacia la izquierda, hasta la columna del encabezado más a la izquierda, para encontrar la letra del texto sin formato correspondiente: E.
Los datos se cifran de forma opuesta, ubicando primero cada letra del texto sin formato del mensaje en la columna de encabezado más a la izquierda de la tabula recta y asignándola a la letra correspondiente apropiada en las columnas interiores. Por ejemplo, la primera letra del mensaje se encuentra dentro de la columna del encabezado de la izquierda y luego se asigna a la letra directamente en la columna encabezada por "A". La siguiente letra se asigna a la letra correspondiente en la columna encabezada por 'B', y esto continúa hasta que se cifra todo el mensaje. Si se piensa que el cifrado de Trithemius tiene la clave ABCDEFGHIJKLMNOPQRSTUVWXYZ, el proceso de cifrado también se puede conceptualizar como encontrar, para cada letra, la intersección de la fila que contiene la letra que se cifrará con la columna correspondiente a la letra actual de la clave. La letra donde se cruzan esta fila y columna es la letra del texto cifrado.
Programáticamente, el cifrado es computable, asignando A=0,B=1...{displaystyle A=0,B=1...}, entonces el proceso de cifrado es ciphertext=()plaintext+keSí.)()mod26){displaystyle ciphertext=(plaintext+key)!!!{pmod {26}}. El desciframiento sigue el mismo proceso, intercambiando el cifertexto y el texto. clave puede definirse como el valor de una carta de un cifertexto compañero en un cifrado clave en funcionamiento, una constante para un cifrado César, o un contador basado en cero con algún período en el uso de Trithemius.
Contenido relacionado
Analizador LL
Base de datos de Berkeley
Entropía (teoría de la información)