Cifrado clásico
Un cifrado es un canal para ocultar un mensaje, donde las letras del mensaje son sustituidas o traspuestas por otras letras, pares de letras y algunas veces por muchas letras. En criptografía, el cifrado clásico es un tipo de cifrado que fue usado históricamente, pero que ahora ha caído mayormente en desuso. En general, los cifrados clásicos operan en un alfabeto de letras (como "A-Z"), a las cuales se les aplican métodos a mano o con aparatos mecánicos muy simples. Son tipos muy básicos de cifrado, lo que no los hace muy fiables, especialmente después del desarrollo de las nuevas tecnologías como la informática. Los métodos más modernos usan ordenadores u otras tecnologías digitales, que operan con bits y bytes. Muchos cifrados clásicos fueron usados por personajes muy conocidos, como Julio César y Napoleón, quienes crearon sus propios cifrados que después han sido usados popularmente. Muchos cifrados tienen un origen militar y fueron usados para transportar mensajes secretos entre personas del mismo bando. Los sistemas clásicos son bastante susceptibles de un ataque con solo texto cifrado, algunas veces incluso sin el conocimiento del sistema en sí mismo, usando herramientas como el análisis de frecuencias. Algunas veces se agrupan junto con los cifrados clásicos otras máquinas mecánicas o electromecánicas, como Enigma.
Tipos de cifrado clásico
editarLos cifrados clásicos suelen dividirse en cifrado por transposición y en cifrado por sustitución. No obstante, algunos cifrados clásicos contienen elementos tanto de la transposición como de la sustitución como la cifra VIC empleada por los espías soviéticos.
Cifrado por sustitución
editar- Véase también: Cifrado por sustitución
En un cifrado por sustitución, las letras (o grupos de letras) son sistemáticamente reemplazadas en el mensaje por otras letras (o grupos de letras). No necesariamente tienen que ser letra para codificar, con el primer número que se le ocurra, con 2 dígitos o más se puede crear un código inviolable, a menos, por supuesto que se sepa el número.
Una sustitución muy conocida en el cifrado es la del Cifrado César. Para cifrar un mensaje mediante el Cifrado César, cada letra del mensaje es reemplazada por la letra ubicada tres posiciones después en el abecedario. Por tanto, la A sería reemplazada por la D, la B por la E, la C por la F, etc. Por último la X, la Y y la Z serían reemplazadas por la A, la B y la C respectivamente. De ahí, que por ejemplo, "WIKIPEDIA" quedaría como "ZLNLSHGLD". César rotaba el abecedario de tres en tres letras pero funciona con cualquier número.
Otro método de cifrado por sustitución está basado en una palabra clave. Todos los espacios y letras repetidas son quitadas de una palabra o frase, la cual será después usada por el codificador para empezar el abecedario cifrado. El final del abecedario cifrado será el resto del alfabeto en el orden correcto pero sin repetir las letras ya usadas en la palabra clave. Por ejemplo, si la palabra clave es CIPHER ("cifrado" en inglés), el abecedario cifrado (codificado) sería el siguiente: (no se ha incluido la ñ pero se podría incluir si se quisiera).
abecedario normal: a b c d e f g h i j k l m n o p q r s t u v w x y z
abecedario cifrado: c i p h e r s t u v w x y z a b d f g j k l m n o q
Los ejemplos anteriores son ejemplos de cifrados por sustitución monoalfabética, ya que solo usa un alfabeto cifrado. Es también posible fabricar cifrados por sustitución polialfabética, donde se usan varios alfabetos cifrados. El código se compondría con dos o más alfabetos cifrados usando cualquier técnica que se eligiera, y después se cifraría el mensaje, alternando el tipo de alfabeto cifrado en cada letra o palabra del mensaje que se quiera cifrar. Esto haría que el mensaje fuera mucho más complicado de descifrar ya que el descifrador tendría que descubrir todos los alfabetos cifrados usados.
Otro ejemplo de cifrado polialfabético por cifrado por sustitución que es mucho más complicado de descifrar es el Cifrado de Vigenère, un innovador método para codificar. Con el cuadrado que se forma con el cifrado de Vigenère, se usan 26 tipos de alfabetos cifrados para cifrar el texto. Cada alfabeto sufre un cambio más con respecto al anterior al estilo del método César a partir del alfabeto original. El cuadrado del cifrado de Vigenère se vería del siguiente modo:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z B C D E F G H I J K L M N O P Q R S T U V W X Y Z A C 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 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 S T U V W X Y Z A B C D F 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 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 S 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 S T U V W X Y Z A B C D E F G H I J L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M 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 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 O Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R S T U V W X Y Z A B C D E F G H I J K L M N O P Q S 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 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 S U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V 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 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 S T U V W Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
Para usar el cifrado de Vigenère al codificar un mensaje, primero debemos elegir una palabra clave y después repetirla hasta que haya cubierto el mensaje (que queremos cifrar) entero. Esa será nuestra clave y la usaremos para saber cuál de todos los alfabetos (ya que hay 26) vamos a usar. Cada alfabeto lleva el nombre de la letra que sustituye a la "A". Así el alfabeto en el que utilicemos las B para la A y la C para la B, se nombrará "B". Pues cada letra de la palabra clave nos anunciará con qué alfabeto deberemos cifrar esa letra del mensaje. Por ejemplo si nuestra palabra clave es WORD ("palabra" en inglés) y el mensaje que queremos codificar es I LOVE CRYPTOGRAPHY ("Me gusta la criptografía" en inglés) sería de la siguiente manera:
mensaje: I LOVE CRYPTOGRAPHY
palabra clave: W ORDW ORDWORDWORDW (sustituimos por la clave y se repite si es necesario)
texto cifrado:E ZFYA QIBLHFJNOGKU (utilizamos cada letra de la palabra clave para saber qué alfabeto utilizar para cifrar cada letra del mensaje)
Algunas sustituciones incluyen el uso de números en vez de letras. Un ejemplo de esto es el Gran Cifrado, donde los números se usan para representar sílabas. También hay otro cifrado en el que se utilizan números e incluye cuatro parejas de combinaciones de números por cada letra basado en una palabra clave.
Los símbolos también han sido usados en vez de los números, reemplazando letras o sílabas. Un ejemplo de esto es el alfabeto Zodiaco, donde los símbolos del zodiaco se utilizan para representar diferentes letras, por ejemplo, el símbolo del Sol sustituiría a la A, Júpiter a la B, Saturno a la C. Los puntos, las líneas o los guiones también pueden usarse. Un ejemplo sería el Código morse, que aunque realmente no es un cifrado, usa puntos y guiones para representar letras. El cifrado francmasón usa un sistema de cuadrícula o líneas y puntos para establecer símbolos para cada letra. Hay otros métodos que incluyen la sustitución de letras del alfabeto por símbolos o puntos y guiones.
Cifrado por transposición
editar- Véase también: Cifrado por transposición
En un cifrado por transposición, las letras no se cambian por otras sino que se cambia el orden de estas. El orden es alterado de acuerdo con un esquema bien definido. Muchos cifrados por transposición se basan en un diseño geométrico. Un simple (y de nuevo fácil de decodificar) método de cifrado es el de escribir una palabra al revés (de atrás hacia delante). Por ejemplo: "Hola mi nombre es Parrita" sería "aloH im erbmon se atirraP". Una escítala es un instrumento para ayudar en el método de cifrado por transposición.
En un cifrado con forma de columna, el mensaje original estará limitado a un rectángulo, de izquierda a derecha y de arriba hacia abajo. Después, se escoge una clave para asignar un número a cada columna del rectángulo para determinar el orden. El número correspondiente a la letra de la clave estará determinado por su posición en el alfabeto, por ejemplo, A es 1, B es 2, C es 3, etc. Por ejemplo si la palabra clave es CAT ("gato" en inglés) y el mensaje es THE SKY IS BLUE ("El cielo es azul" en inglés), el proceso sería el siguiente:
C A T 3 1 20 T H E S K Y I S B L U E
Después, tomamos las letras por orden numérico y así es como transportaríamos el mensaje. Tomamos la columna debajo de la A primero, después la columna de C, y por último la columna de T, y como resultado el mensaje "The sky is blue" pasaría a ser: HKSUTSILEYBE
En el método de cifrado por transposición chino, las letras del mensaje son escritas de derecha a izquierda y de arriba para abajo en columnas. Después, empezando la primera hilera, las letras se toman para obtener el nuevo texto cifrado. Por ejemplo, si el mensaje que queremos codificar es THE DOG RAN FAR ("El perro corrió lejos" en inglés), el cifrado chino sería así:
R R G T A A O H F N D E
El texto cifrado se leería: RRGT AAOH FNDE
Muchos cifrados por trasposición son parecidos a estos dos ejemplos; normalmente incluyen el ordenamiento de las letras en filas y columnas y después se toman de alguna manera sistemática para trasportarlas. Otros ejemplos son el "Paralelo vertical" y el "Cifrado de trasposición doble".
Algunos algoritmos más complejos pueden formarse mezclando cifrados por sustitución y por trasposición en un cifrado por producto; por ejemplo el moderno cifrado por bloques así como el DES que reitera en varias fases la sustitución y la trasposición.
Criptoanálisis de los cifrados clásicos
editarLos cifrados clásicos son normalmente bastante fáciles de descifrar. Muchos de los cifrados clásicos pueden ser descodificados incluso si el atacante solo conoce algo del texto cifrado y así serán susceptibles de un ataque de texto cifrado conocido. Algunos cifrados clásicos (como el Cifrado César) tienen pequeños espacios clave. Estos cifrados pueden ser descodificados por un ataque de fuerza bruta, que es simplemente probar con todas las combinaciones. Los cifrados por sustitución pueden tener un gran espacio clave, pero son susceptibles a un análisis de frecuencias, ya que por ejemplo las letras más frecuentes en un texto corresponderían a las más frecuentes en un texto cifrado. Los cifrados polialfabéticos como el cifrado de Vigenère previenen un simple análisis por frecuencias utilizando varias sustituciones. De todas formas, técnicas más avanzadas como el método Kasiski pueden descifrar estos tipos de cifrados.
Por otra parte, los cifrados modernos están diseñados para soportar ataques más potentes que ataques por solo texto cifrado. Un buen cifrado moderno debe estar seguro ante ataques potenciales como texto conocido de ataque y ataques de texto elegido así como los ataques de texto cifrado elegido. Por esto, el atacante que quiera descifrar el texto no debería poder encontrar la clave incluso si sabe una gran parte del texto y del texto cifrado correspondiente e incluso si lo puede seleccionar él mismo. El cifrado clásico no satisface estos objetivos de seguridad y por ello no es utilizado en aplicaciones serias.
Véase también
editarReferencias
editar- Hand Ciphers Archivado el 12 de diciembre de 2020 en Wayback Machine. Pencil-and-paper ciphers on Ciphermachines & Cryptology
- Trinity College Department of Computer Science: Historical Cryptography Information about many different types of encryption algorithms including substitution and transposition ciphers
- Singh, Simon. The Code Book The Science of Secrecy from Ancient Egypt to Quantum *Cryptography. New York: Anchor, 2000.
- D'Agapeyeff, Alexander. Codes and Ciphers. Oxford UP, 1939.
- Laffin, John. Codes and Ciphers: Secret Writing through the Ages. Abelard-Schuman, 1964.
- Wrixon, Fred B. Codes, Ciphers, and Secret Languages. New York: Bonanza Books, 1989.