Cifrado clásico

Cifrado clásico
Información sobre la plantilla
Escitala.jpg
Concepto:El cifrado clásico es un tipo de cifrado que fue usado históricamente con el deseo de querer ocultar los mensajes de miradas ajenas.


La criptología tal y como hoy en día se concibe, una técnica de enmascaramiento de la información estrechamente unida al mundo de la informática, las redes de ordenadores y las autopistas de la información, poco tiene que ver con aquella asociada a fascinantes máquinas de cifrar, que adquirieron gran fama tras su uso en la Segunda Guerra Mundial y más aún, remontándonos a siglos pasados, con los métodos, técnicas y artilugios utilizados por emperadores, gobernantes, militares y en general diversas civilizaciones para mantener sus secretos a buen recaudo.

Con el tiempo, la escritura fue ganando terreno al mensaje hablado, e inmediatamente surgió el deseo de querer ocultar el mensaje de miradas ajenas; así, aunque se comenzó rapando a los mensajeros para que sirvieran de pergamino y a la vez ocultaran el mensaje a medida que les crecía el pelo (esteganografía), hoy día y en especial desde la Segunda Guerra Mundial, todo ha evolucionado hasta límites insospechados.

Descripción

Un cifrado es un medio 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, especialemente después del desarrollo de nueva tecnología. Métodos más modernos usan ordenadores u otra tecnología digital, que opera con bits y bytes. Muchos cifrados clásicos fueron usados por gente muy conocida 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 trasportar 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 electro mecánicas, como Enigma.

Muchos de los criptosistemas clásicos, en particular aquellos que transforman el mensaje en claro aplicando técnicas de sustitución y transposición, basan su seguridad principalmente en el secreto de la transformación o algoritmo de cifra. Es ésta también una diferencia fundamental con respecto a los sistemas modernos, en los que el algoritmo se hace público puesto que la fortaleza del sistema reside en la imposibilidad computacional de romper una clave secreta. Observe que el hacer público el algoritmo de cifra permite al criptólogo evaluar la calidad del software desarrollado, en tanto será estudiado por la comunidad científica intentando buscar un defecto, una puerta falsa, una rutina innecesaria, una codificación no depurada, etc.

Un poco de historia

La criptografía clásica abarca desde tiempos inmemoriales, hasta los años de la posguerra, es decir, hasta la mitad del siglo XX.

  • La escítala: Ya en siglo V antes de J.C. los lacedemonios, un antiguo pueblo griego, usaban el método de la escítala para cifrar sus mensajes. El sistema consistía en una cinta que se enrollaba en un bastón y sobre el cual se escribía el mensaje en forma longitudinal. Una vez escrito el mensaje, la cinta se desenrollaba y era entregada al mensajero; si éste era interceptado por cualquier enemigo, lo único que se conseguía era un conjunto de caracteres o letras distribuidas al parecer de forma aleatoria en dicha cinta. Incluso si el enemigo intentaba enrollar la cinta en un bastón con diámetro diferente, el resultado obtenido era un conjunto de letras escritas una a continuación de otra sin sentido alguno. Para enmascarar completamente la escritura, es obvio que la cinta en cuestión debe tener caracteres en todo su contorno. Como es de esperar, la clave del sistema residía precisamente en el diámetro de aquel bastón, de forma que solamente el receptor autorizado tenía una copia exacta del mismo bastón en el que enrollaba el mensaje recibido y, por tanto, podía leer el texto en claro. En este sistema no existe modificación alguna del mensaje; es decir, éste va en claro desde el transmisor hacia el receptor, por lo que como veremos más adelante se tratará de un cifrador por transposición.
  • El cifrador de Polybios: A mediados del siglo II antes de J.C., encontramos el cifrador por sustitución de caracteres más antiguo que se conoce. Atribuido al historiador griego Polybios, el sistema de cifra consistía en hacer corresponder a cada letra del alfabeto un par de letras que indicaban la fila y la columna en la cual aquella se encontraba, en un recuadro de 5 x 5 = 25 caracteres, transmitiéndose por tanto en este caso el mensaje como un criptograma. El criptograma que se obtiene con este cifrador tiene una extensión de caracteres igual al doble de la del texto en claro, característica que no puede considerarse precisamente como una virtud de este método de cifra. En realidad no fue tan buena la idea.
  • El cifrador del César: Unos cincuenta años después del cifrador de Polybios, en el siglo I antes de J.C., aparece un cifrador básico conocido con el nombre genérico de cifrador del César en honor al emperador Julio César y en el que ya se aplica una transformación al texto en claro de tipo monoalfabética. El cifrador del César aplica un desplazamiento constante de tres caracteres al texto en claro, de forma que el alfabeto de cifrado es el mismo que el alfabeto del texto en claro pero desplazado 3 espacios hacia la derecha módulo n, con n el número de letras del mismo.
  • El cifrador de Alberti: En el siglo XVI Leon Battista Alberti presenta un manuscrito en el que describe un disco cifrador con el que es posible cifrar textos sin que exista una correspondencia única entre el alfabeto del mensaje y el alfabeto de cifrado como en los casos analizados anteriormente. Con este sistema, cada letra del texto en claro podía ser cifrada con un carácter distinto dependiendo esto de una clave secreta. Se dice entonces que tales cifradores usan más de un alfabeto por lo que se denominan cifradores polialfabéticos, a diferencia de los anteriores denominados monoalfabéticos. El disco de Alberti presenta en su círculo exterior los 20 caracteres del latín, esto es, los mismos del alfabeto castellano excepto las letras H, J, Ñ, K, U, W e Y, y se incluyen los números 1, 2, 3 y 4 para códigos especiales. Por su parte, en el disco interior aparecen todos los caracteres del latín además del signo & y las letras H, K e Y. Al ser 24 los caracteres representados en cada disco, es posible definir hasta 24 sustituciones diferentes; es decir, dependiendo de la posición del disco interior la cantidad máxima de alfabetos de cifrado es igual a 24. Luego, para cifrar un mensaje, una vez establecida la correspondencia entre caracteres de ambos discos o, lo que es lo mismo, el alfabeto de cifrado, se repasa letra a letra el texto en claro del disco exterior y se sustituye cada una de ellas por la letra correspondiente del disco interior.

Tipos de cifrado clásico

Los cifrados clásicos suelen dividirse en cifrado por transposición y en cifrado por sustitución.

Cifrado por substitución

En un cifrado por substitución, las letras (o grupos de letras) son sistemáticamente reemplazadas en el mensaje por otras letras (o grupos de letras). Una substitució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 reemplazado con la letra de 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 substitució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 será 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 substitución monoalfabética, ya que solo usa un alfabeto cifrado. Es también posible fabricar cifrados por substitució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 mensage, alternando el tipo de alfabeto cifrado en cada letra o palabra del mensaje que se quiera cifrar. Esto haría que el mensage fuera mucho más complicado de descifrar ya que el descifrador tendría que descubir todos los alfabetos cifrados usados.

Algunas substituciones 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, los símbolos del sol sustituirían 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 otos métodos que incluyen la substitución de letras del alfabeto por símbolos o puntos y guiones.

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 facil de decodificar)método de cifrado es el de escribir una palabra alrevés (de atrás hacia delante). Por ejemplo: "Hola mi nombre es Pepa" sería "aloH im erbmon se apeP". 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, T 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 2 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 abajo a arriba 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 transposició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 transposición doble". Algunos algoritmos más complejos pueden formarse mezclando cifrados por substitución y por transposición en un cifrado por producto; el moderno cifrado por bloques así como el DES que reitera en varias fases de la substitución y de la transposición.

Criptoanálisis de los cifrados clásicos

Los 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 cifrado 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 previene de un simple análisis por frecuencias utilizando varias substituciones. 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ían poder encontrar la clave incluso si sabe una gran parte del texto y del texto cifrado correspondiente e incluso si lo puede seleccionar el mismo. El cifrado clásico no satisface estos objetivos de seguridad y por ello no es utilizado en aplicaciones serias.

Enlaces internos

Enlaces externos