Cifrado clásico
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 sencillos de romper con la tecnología moderna. El término incluye los sistemas simples utilizados desde la época griega y romana, los elaborados cifrados del Renacimiento, la criptografía de la Segunda Guerra Mundial como la máquina Enigma y más allá.
En cambio, la criptografía sólida moderna se basa en nuevos algoritmos y computadoras desarrollados desde la década de 1970.
Tipos de cifrados clásicos
Los cifrados clásicos a menudo se dividen en cifrados de transposición y cifrados de sustitución, pero también hay cifrados de ocultación.
Cifras de sustitució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 bien conocido de cifrado de 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 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" cifra como "ZLNLSHGLD". César rotó el alfabeto tres letras, pero cualquier número sirve.
Otro método de cifrado por sustitución se basa en una palabra clave. Todos los espacios y letras repetidas se eliminan de una palabra o frase, que luego 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 tendría este aspecto:
alfabeto normal | a b c d e f h i j k l m n o p q r s t u v w x y z |
---|---|
alfabeto | c i p h e r a b d g j k l m n o q s t u v w x y z |
Los ejemplos anteriores fueron todos ejemplos de cifrados de sustitución monoalfabéticos, donde solo se utiliza un alfabeto cifrado. También es posible tener un cifrado de sustitución polialfabético, donde se utilizan múltiples alfabetos de cifrado. El codificador crearía dos o más alfabetos cifrados utilizando cualquier técnica 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 cifrado de sustitución polialfabética que es mucho más difícil de decodificar es el cuadrado de Vigenère, un método de codificación innovador. Con el cuadrado, hay 26 alfabetos de cifrado diferentes que se utilizan para cifrar texto. Cada alfabeto cifrado es simplemente otro desplazamiento César hacia la derecha del alfabeto original. Así es una plaza Vigenère:
A B C D E F G H I J K L M N O P Q R T U V W X Y Z B C D E F G H I J K L M N O P Q R T U V W X Y Z A C D E F G H I J K L M N O P Q R T U V W X Y Z A B D E F G H I J K L M N O P Q R S T U V W X Y Z A B C E F G H I J K L M N O P Q R T U V W X Y Z A B C D F G H I J K L M N O P Q R T U V W X Y Z A B C D E G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I J K L M N O P Q R T U V W X Y Z A B C D E F G H J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K L M N O P Q R T U V W X Y Z A B C D E F G H I J L M N O P Q R T U V W X Y Z A B C D E F G H I J K M N O P Q R T U V W X Y Z A B C D E F G H I J K L N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P Q R S T U V W X Y Z A B C D E F G H I J K L M N Q R S T U V W X Y Z A B C D E F I J K L M N O P R S T U V W X Y Z A B C D E F I J K L M N O P Q S T U V W X Y Z A B C D E F G I J K L M N O P Q R T U V W X Y Z A B C D E F G H I J K L M N O P Q R U V W X Y Z A B C D E F G H I J K L M N O P Q R T V W X Y Z A B C D E F G H I J K L M N O P Q R T U W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X Y Z A B C D E F G H I J K L M N O P Q R T U V W Y Z A B C D E F G H I J K L M N O P Q R T U V W X Z A B C D E F G H I J K L M N O P Q R T U V W X Y
Para utilizar la plaza Vigenère para encriptar un mensaje, un codificador elige primero una palabra clave para usar y luego lo repite hasta que sea la misma longitud que el mensaje para ser codificado. Si LEMON es la palabra clave, cada letra de la palabra clave repetida dirá qué cifra (qué fila) utilizar para cada letra del mensaje que se codifica. El alfabeto de cifrado en la segunda fila utiliza B para A y C para B, etc. Eso es alfabeto de cifrado 'B'. Cada alfabeto de cifrado es nombrado por la primera letra en ella. Por ejemplo, si la palabra clave es LEMON y el mensaje para codificar es ATTACKATDAWN, entonces la codificación es:
Plaintext | ATTACKATDAWN |
---|---|
Clave | LEMONLEMONLE |
Ciphertext | LXFOPVEFRNHR |
Algunos cifrados de sustitución implican el uso de números en lugar de letras. Un ejemplo de esto es el Gran Cifrado, donde se usaban números para representar sílabas. También hay otro cifrado de sustitución de números que implica tener cuatro opciones de pares de números diferentes para una letra basada en 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 los signos del zodíaco se usaban para representar diferentes letras; por ejemplo, los símbolos del sol representaban A, Júpiter representaba B y Saturno representaba C. Se podían utilizar puntos, líneas o guiones. También se puede utilizar, un ejemplo de esto es el código Morse, que no es un cifrado, pero de todos modos utiliza puntos y rayas como letras. El cifrado pocilga utiliza un sistema de cuadrícula o líneas y puntos para establecer símbolos para las letras. Existen otros métodos que implican sustituir letras del alfabeto con símbolos o puntos y guiones.
Cifrados de transposición
En un cifrado de transposición, las letras mismas se mantienen sin cambios, pero su orden dentro del mensaje se codifica según un esquema bien definido. Muchos cifrados de transposición se realizan según 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". ahora sería "olleH ym eman si ecilA." Una escitala es una máquina que ayuda en la transposición de métodos.
En un cifrado de 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 reordenamiento. El número correspondiente a las letras de la clave está determinado 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 así:
C A T 3 1 20 T H E S K Y I S B L U E
A continuación, se toman las letras en orden numérico y así es como 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 aparece 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, columnas arriba y abajo para codificar las letras. Luego, comenzando en la primera fila, se toman las letras para obtener el nuevo texto cifrado. Por ejemplo, si el mensaje que fuera necesario cifrar fuera EL PERRO CORRIÓ LEJOS, el cifrado chino se vería así:
R R G T A A A O H F N D
El texto cifrado entonces dice: RRGT AAOH FNDE
Muchos cifrados de transposición son similares a estos dos ejemplos, generalmente implican reorganizar las letras en filas o columnas y luego tomarlas de manera sistemática para transponer las letras. Otros ejemplos incluyen el cifrado vertical paralelo 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 bloques modernos, como DES, iteran a través de varias etapas de sustitución y transposición.
Cifrados de ocultación
En pocas palabras, un cifrado de ocultación o nulo es cualquier cifrado que involucra un número de nulos o letras señuelo. Un cifrado nulo podría consistir en palabras de texto sin formato con nulos colocados en áreas designadas o incluso un mensaje de texto sin formato dividido en diferentes posiciones con un nulo al final de cada palabra. Sin embargo, un mensaje con sólo un par de valores nulos (por ejemplo, uno al principio y otro al final) no es un cifrado nulo.
Por ejemplo, durante la Guerra Civil de Inglaterra, el monárquico Sir John Trevanian recibió ayuda para escapar de un castillo puritano en Colchester con este mensaje:
WORTHIE SIR JOHN, espera, que es el mejor comienzo de sí, no puede mucho, me ocupo, le ayudo ahora. Que te lo diría, es sólo esto: Si es posible que necesite que te haga, no me preguntes. No es mucho lo que puedo hacer, pero lo que puedo hacer, seguro que lo haré. Sé que, si viene la muerte, si la gente de verdad la oye, no es tu culpa, aceptándola para una gran hora, para tener una vista de tu lealtad. Dejémosle hablar de esto, compañero. No me imagino que vas a vomitar cualquier cosa; sólo si las suscripciones de la bestia pueden cambiarlas, es la parte de un hombre de la esposa. Dime, si puedes, hacer por ti cualquier cosa que hayas hecho. El general vuelve el miércoles. Pide a tu siervo que venga.
La tercera letra después de cada puntuación revela "Panel en el extremo este de las diapositivas de la Capilla".
Un cifrado nulo con punto o pinchazo es un método de cifrado clásico común en el que se coloca un punto o un pinchazo encima o debajo de ciertas letras en un escrito. Una de las primeras referencias a esto fue cuando Eneas Tacticus escribió al respecto en su libro Sobre la defensa de las fortificaciones.
Criptoanálisis de cifrados clásicos
Los cifrados clásicos suelen ser bastante fáciles de descifrar. Muchos de los cifrados clásicos pueden descifrarse incluso si el atacante sólo conoce suficiente texto cifrado y, por tanto, son susceptibles a un ataque de sólo texto cifrado. Algunos cifrados clásicos (por ejemplo, el cifrado César) tienen un espacio de clave pequeño. Estos cifrados se pueden romper 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 plano corresponden a letras frecuentes en los textos cifrados. Los cifrados polialfabéticos como el cifrado de Vigenère impiden un análisis de frecuencia simple mediante el uso de sustituciones múltiples. Sin embargo, todavía se pueden utilizar técnicas más avanzadas, como el examen de Kasiski, para descifrar estos cifrados.
Por otro lado, los ciféricos modernos están diseñados para soportar ataques mucho más fuertes que los ataques solo de cifertexto. Un buen cifrado moderno debe estar seguro contra una amplia gama de ataques potenciales, incluyendo ataques de texto conocido y ataques de texto escogido, así como ataques de principio elegido. Para estos cifrados un atacante no debe ser capaz de encontrar la clave, incluso si conocen cualquier cantidad de texto claro y cifertexto correspondiente, e incluso si pueden seleccionar el texto o cifertexto. Los cifrados clásicos no satisfacen estos criterios mucho más fuertes y por lo tanto ya no son de interés para aplicaciones serias.
Algunas técnicas de cifrados clásicos se pueden utilizar para reforzar los cifrados modernos. Por ejemplo, el paso MixColumns en AES es un cifrado Hill.
Contenido relacionado
ALGOL Y
Tabla de métodos virtuales
Hacer bucle while
Datosflex
Filosofía de la inteligencia artificial