En criptografía , un cifrado clásico es un tipo de cifrado que se utilizó históricamente pero que, en su mayor parte, ha caído en desuso. A diferencia de los algoritmos criptográficos modernos, la mayoría de los cifrados clásicos se pueden calcular y resolver prácticamente a mano. Sin embargo, también suelen ser muy fáciles de descifrar con la tecnología moderna. El término incluye los sistemas simples utilizados desde la época griega y romana, los cifrados elaborados del Renacimiento, la criptografía de la Segunda Guerra Mundial, como la máquina Enigma , y más allá.
Por el contrario, la criptografía fuerte moderna se basa en nuevos algoritmos y computadoras desarrollados desde la década de 1970.
Los cifrados clásicos a menudo se dividen en cifrados de transposición y cifrados de sustitución , pero también existen cifrados de ocultación .
En un cifrado de sustitución, las letras o grupos de letras se reemplazan sistemáticamente a lo largo del mensaje por otras letras, grupos de letras o símbolos.
Un ejemplo conocido de cifrado por sustitución es el cifrado César . Para cifrar un mensaje con el cifrado César, cada letra del mensaje se reemplaza por la letra que se encuentra tres posiciones más adelante en el alfabeto. Por lo tanto, A se reemplaza por D, B por E, C por F, etc. Finalmente, X, Y y Z se reemplazan por A, B y C respectivamente. Así, por ejemplo, "WIKIPEDIA" se cifra como "ZLNLSHGLD". César rotó el alfabeto en tres letras, pero cualquier número funciona.
Otro método de cifrado por sustitución se basa en una palabra clave. Se eliminan todos los espacios y las letras repetidas de una palabra o frase, que el codificador utiliza como inicio del alfabeto cifrado. El final del alfabeto cifrado es el resto del alfabeto en orden sin repetir las letras de la palabra clave. Por ejemplo, si la palabra clave es CIPHER, el alfabeto cifrado se vería así:
Los ejemplos anteriores fueron todos ejemplos de cifrados de sustitución monoalfabéticos, en los que se utiliza un solo alfabeto cifrado. También es posible tener un cifrado de sustitución polialfabético , en el que se utilizan varios alfabetos cifrados. El codificador crearía dos o más alfabetos cifrados utilizando las técnicas que elija y luego codificaría su mensaje, alternando el alfabeto cifrado que se utiliza con cada letra o palabra. Esto hace que el mensaje sea mucho más difícil de decodificar porque el descifrador tendría que descifrar ambos alfabetos cifrados.
Otro ejemplo de un cifrado de sustitución polialfabética que es mucho más difícil de descifrar es el cuadrado de Vigenère , un método de codificación innovador. Con el cuadrado, hay 26 alfabetos cifrados diferentes que se utilizan para cifrar texto. Cada alfabeto cifrado es simplemente otro desplazamiento César hacia la derecha del alfabeto original. Así es como se ve un cuadrado de Vigenère:
ABCDEFGHIJKLMNOPQRSTUVWXYZ BCDEFGHIJKLMNOPQRSTUVWXYZA CDEFGHIJKLMNOPQRSTUVWXYZAB DEFGHIJKLMNOPQRSTUVWX YZABC EFGHIJKLMNOPQRSTUVWXY ZABCD FGHIIJKLMNOPQRSTUVWXYZ ABCDE GHIJKLMNOPQRSTUVWXYZA BCDEF HIJKLMNOPQRSTUVWXYZABCDEFG IJKLMNOPQRSTUVWXYZABC DEFGH JKLMNOPQRSTUVWXYZABCD EFGH KLMNOPQRSTUVWXYZABCDEFGHIJ LMNOPQRSTUVWXYZABCDEF GHIJK MNOPQRSTUVWXYZABCDEFGHIJKL NOPQRSTUVWXYZABCDEFGH IJKLM OPQRSTUVWXYZABCDEFGHI JKLMN PQRSTUVWXYZABCDEFGHIJ KLMNO QRSTUVWXYZABCDEFGHIJKLMNOP RESPUESTO: NO SE PUEDE USAR OPCIONES DE RESERVA UVWXYZABCDEFGHIJKLMNOPQRST VWXYZABCDEFGHIJKLMNOP QRSTU WXYZABCDEFGHIJKLMNOPQ RSTUV XYZABCDEFGHIJKLMNOPQRSTUVW YZABCDEFGHIJKLMNOPQRSTUVWX ZABCDEFGHIJKLMNOPQRST UVWXY
Para utilizar el cuadrado de Vigenère para cifrar un mensaje, el codificador elige primero una palabra clave y luego la repite hasta que tenga la misma longitud que el mensaje que se va a codificar. Si la palabra clave es LEMON , cada letra de la palabra clave repetida indicará qué cifrado (qué fila) utilizar para cada letra del mensaje que se va a codificar. El alfabeto cifrado de la segunda fila utiliza B para A y C para B, etc. Ese es el alfabeto cifrado 'B'. Cada alfabeto cifrado se nombra por la primera letra que lo compone. Por ejemplo, si la palabra clave es LEMON y el mensaje que se va a codificar es ATTACKATDAWN , entonces la codificación es:
Algunos cifrados de sustitución implican el uso de números en lugar de letras. Un ejemplo de esto es el Gran Cifrado , en el que se utilizaban números para representar sílabas. También existe otro cifrado de sustitución de números [ ¿cuál? ] que implica tener cuatro opciones de pares de números diferentes para una letra en función de una palabra clave.
En lugar de números, también se pueden utilizar símbolos para reemplazar letras o sílabas. Un ejemplo de esto es el alfabeto del zodíaco , donde se usaban los signos del zodíaco para representar diferentes letras, por ejemplo, los símbolos del sol representaban la A, Júpiter representaba la B y Saturno representaba la C. También se podían usar puntos, líneas o guiones, un ejemplo de esto es el código Morse , que no es un cifrado, pero usa puntos y guiones como letras de todos modos. El cifrado pigpen usa un sistema de cuadrícula o líneas y puntos para establecer símbolos para las letras. Hay varios otros métodos que implican la sustitución de letras del alfabeto con símbolos o puntos y guiones.
En un cifrado de transposición, las letras en sí se mantienen inalteradas, pero su orden dentro del mensaje se altera de acuerdo con un esquema bien definido. Muchos cifrados de transposición se realizan de acuerdo con un diseño geométrico. Un cifrado simple (y, una vez más, fácil de descifrar) sería escribir cada palabra al revés. Por ejemplo, "Hola, mi nombre es Alice" sería ahora "olleH ym eman si ecilA". Un scytale es una máquina que ayuda en la transposición de métodos.
En un cifrado en columnas, el mensaje original se organiza en un rectángulo, de izquierda a derecha y de arriba a abajo. A continuación, se elige una clave y se utiliza para asignar un número a cada columna del rectángulo para determinar el orden de reorganización. El número correspondiente a las letras de la clave se determina por su lugar en el alfabeto, es decir, A es 1, B es 2, C es 3, etc. Por ejemplo, si la palabra clave es GATO y el mensaje es EL CIELO ES AZUL, el mensaje se organizaría de la siguiente manera:
GATO 3 1 20 EL CIELO BSI LUE
A continuación, se toman las letras en orden numérico y así se transpone el mensaje. Primero se toma la columna debajo de A, luego la columna debajo de C, luego la columna debajo de T, como resultado el mensaje "El cielo es azul" se ha convertido en: HKSUTSILEYBE
En el método de transposición del cifrado chino, las letras del mensaje se escriben de derecha a izquierda, en columnas de arriba hacia abajo para mezclarlas. Luego, comenzando por la primera fila, se toman las letras en orden para obtener el nuevo texto cifrado . Por ejemplo, si el mensaje que se necesita cifrar es EL PERRO CORRIÓ LEJOS, el cifrado chino se vería así:
RRGT AOH-Oro FNDE
El texto cifrado dice entonces: RRGT AAOH FNDE
Muchos cifrados de transposición son similares a estos dos ejemplos, y generalmente implican reorganizar las letras en filas o columnas y luego tomarlas de manera sistemática para transponerlas. Otros ejemplos incluyen el cifrado paralelo vertical y el cifrado de doble transposición.
Se pueden formar algoritmos más complejos mezclando sustitución y transposición en un cifrado de producto ; los cifrados de bloque modernos como DES iteran a través de varias etapas de sustitución y transposición.
En términos simples, un cifrado de ocultación o nulo es cualquier cifrado que involucra una cantidad de letras nulas o señuelo. Un cifrado nulo podría ser palabras de texto simple con letras nulas ubicadas en áreas designadas o incluso un mensaje de texto simple dividido en diferentes posiciones con una letra nula al final de cada palabra. [1] [2] Sin embargo, un mensaje con solo un par de letras nulas (por ejemplo, una al principio y otra al final) no es un cifrado nulo.
Por ejemplo, durante la Guerra Civil Inglesa, el realista Sir John Trevanian recibió ayuda para escapar de un castillo puritano en Colchester gracias a este mensaje: [3]
EspañolDigno señor John, la esperanza, que es el mejor consuelo para los afligidos, me temo que no puedo ayudaros mucho ahora. Lo único que quiero deciros es esto: si alguna vez puedo pagaros lo que os debo, no os detengáis en pedírmelo. No es mucho lo que puedo hacer, pero lo que puedo hacer, estad seguros de que lo haré. Sé que si llega la muerte, si los hombres comunes la temen, a vosotros no os asusta, pues consideráis un gran honor recibir semejante recompensa por vuestra lealtad. Ruego que se os evite esta copa tan amarga. No temo que vayáis a escatimar ningún sufrimiento; sólo si podéis rechazarlo con vuestra sumisión, es lo que corresponde a un hombre sabio. DÍGAME Y SI PUEDES, HACER POR TI ALGO QUE QUIERAS HACER. EL GENERAL VUELVE EL MIÉRCOLES. DESCANSA A TU SIERVO AL MANDO.
La tercera letra después de cada puntuación revela "El panel en el extremo este de la capilla se desliza".
Un cifrado nulo por puntos o por punteos es un método de cifrado clásico común en el que se colocan puntos o punteos encima o debajo de determinadas letras en un texto. [4] Una de las primeras referencias a este método fue cuando Eneas Táctico escribió sobre él en su libro Sobre la defensa de las fortificaciones. [5]
Los cifrados clásicos son, por lo general, bastante fáciles de descifrar. Muchos de ellos pueden descifrarse incluso si el atacante solo conoce el texto cifrado suficiente y, por lo tanto, son susceptibles de un ataque basado únicamente en el texto cifrado . Algunos cifrados clásicos (por ejemplo, el cifrado César ) tienen un espacio de clave pequeño. Estos cifrados pueden descifrarse con un ataque de fuerza bruta , es decir, simplemente probando todas las claves. Los cifrados de sustitución pueden tener un espacio de clave grande, pero a menudo son susceptibles de un análisis de frecuencia , porque, por ejemplo, las letras frecuentes en el lenguaje de texto simple corresponden a letras frecuentes en los textos cifrados. Los cifrados polialfabéticos, como el cifrado Vigenère, impiden un análisis de frecuencia simple mediante el uso de múltiples sustituciones. Sin embargo, aún se pueden utilizar técnicas más avanzadas, como el examen de Kasiski, para descifrar estos cifrados.
Por otra parte, los cifrados modernos están diseñados para resistir ataques mucho más fuertes que los ataques basados únicamente en texto cifrado. Un buen cifrado moderno debe ser seguro contra una amplia gama de ataques potenciales, incluidos los ataques de texto simple conocido y los ataques de texto simple elegido, así como los ataques de texto cifrado elegido . En el caso de estos cifrados, un atacante no debería poder encontrar la clave incluso si conoce una cantidad mínima de texto simple y el texto cifrado correspondiente e incluso si pudiera seleccionar el texto simple o el texto cifrado por sí mismo. Los cifrados clásicos no satisfacen estos criterios mucho más estrictos y, por lo tanto, ya no son de interés para aplicaciones serias.
Algunas técnicas de los cifrados clásicos se pueden utilizar para reforzar los cifrados modernos. Por ejemplo, el paso MixColumns en AES es un cifrado Hill . [6]