
En criptografía , la tabula recta (del latín tabula rēcta ) es una tabla de alfabetos cuadrada, cada fila de la cual se forma desplazando la anterior hacia la izquierda. El término fue inventado por el autor y monje alemán Johannes Trithemius [1] en 1508, y utilizado en su cifrado Trithemius .
Cifrado de Trithemius
El cifrado Trithemius fue publicado por Johannes Trithemius en su libro Polygraphia , al que se le atribuye ser el primer trabajo impreso publicado sobre criptología . [2]
Trithemius utilizó 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 está mezclado. La tabula recta se menciona a menudo al hablar de cifrados anteriores a la informática, 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 se pueden describir en términos de la tabula recta .
La tabula recta utiliza un cuadrado con las 26 letras del alfabeto, seguido de 26 filas de letras adicionales, cada una desplazada una vez hacia la izquierda con respecto a la que está encima. Esto, en esencia, crea 26 cifras César diferentes . [1]
El texto cifrado resultante aparece como una cadena aleatoria o un bloque de datos. Debido al desplazamiento de las variables, las frecuencias naturales de las letras quedan ocultas. Sin embargo, si un descifrador de códigos sabe que se ha utilizado este método, resulta fácil descifrarlo. El código es vulnerable a ataques porque carece de una clave , lo que viola el principio de criptología de Kerckhoff . [1]
Mejoras
En 1553, Giovan Battista Bellaso desarrolló una importante extensión del método de Trithemius , ahora llamado cifrado de Vigenère . [3] Bellaso agregó una clave, que se usa para dictar el cambio de alfabetos cifrados con cada letra. Este método fue atribuido erróneamente a Blaise de Vigenère , quien publicó un cifrado de clave automática similar en 1586.
El cifrado clásico Trithemius (que utiliza un desplazamiento 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 se incrementa 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 se encuentra encima. 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. Lo más habitual es que se utilice la columna de encabezado del lado izquierdo para las letras de texto simple, tanto con cifrado como con descifrado. Ese uso se describirá en este documento. Para descifrar un cifrado Trithemius, primero se localizan en la tabula recta las letras que se van a descifrar: primera letra en la primera columna interior, segunda letra en la segunda columna, etc.; la letra que se encuentra directamente a la izquierda, en la columna de encabezado, es la letra de texto simple descifrada correspondiente. Suponiendo un desplazamiento estándar de 1 sin utilizar ninguna clave, el texto cifrado HFNOS se descifraría a HELLO (H->H, F->E, N->L, O->L, S->O). Así, por ejemplo, para descifrar la segunda letra de este texto, primero hay que buscar la F dentro de la segunda columna interior, luego hay que moverse directamente a la izquierda, hasta la columna de encabezado situada más a la izquierda, para encontrar la letra de texto simple correspondiente: E.
Los datos se cifran de forma opuesta, primero localizando cada letra del texto simple del mensaje en la columna de encabezado más a la izquierda de la tabla recta y asignándola a la letra correspondiente en las columnas interiores. Por ejemplo, la primera letra del mensaje se encuentra dentro de la columna de encabezado izquierda y luego se asigna a la letra directamente al otro lado de la columna encabezada por "A". La siguiente letra se asigna entonces a la letra correspondiente en la columna encabezada por "B", y así sucesivamente hasta que se cifra todo el mensaje. [4] Si se piensa que el cifrado Trithemius tiene la clave ABCDEFGHIJKLMNOPQRSTUVWXYZ, el proceso de cifrado también puede conceptualizarse como la búsqueda, para cada letra, de la intersección de la fila que contiene la letra que se va a cifrar con la columna correspondiente a la letra actual de la clave. La letra donde se cruzan esta fila y esta columna es la letra del texto cifrado.
Programáticamente, el cifrado es computable, asignando , luego el proceso de cifrado es . El descifrado sigue el mismo proceso, intercambiando texto cifrado y texto simple. La clave puede definirse como el valor de una letra de un texto cifrado complementario en un cifrado de clave en ejecución , una constante para un cifrado César o un contador basado en cero con algún período en el uso de Trithemius. [5]
Referencias
Citas
- ^ abc Salomon, Privacidad de datos, página 63
- ^ Kahn, David (1996). Los descifradores de códigos (2.ª ed.). Scribner. pág. 133. ISBN 978-0-684-83130-5.
- ^ Salomon, Codificación de datos, página 249
- ^ Rodríguez-Clark, Dan, Cifrados de sustitución polialfabética, Crypto Corner
- ^ Kahn, página 136
Fuentes
- Salomon, David (2005). Codificación de datos y comunicaciones informáticas . Springer. ISBN 0-387-21245-0.
- Salomon, David (2003). Privacidad y seguridad de datos . Springer. ISBN 0-387-00311-8.
- King, Francis X. (1989). Magia ritual moderna: el auge del ocultismo occidental (2.ª ed.). Prism Press. ISBN 1-85327-032-6.
- Kahn, David (1996). Los descifradores de códigos . Simon and Schuster. ISBN 0-684-83130-9.
Enlaces externos
- Cifrado de un texto secreto con el cifrado Vigenère y la Tabula recta en YouTube - Un vídeo que muestra y explica cómo utilizar la Tabula recta para el cifrado Vigenère