Introducción a la seguridad informática y criptografía clásica

TEMA IV: ALGORITMOS DE CIFRA CLÁSICA


LECCIÓN 6: SISTEMAS DE CIFRA CLÁSICA

Autor: Dr. Jorge Ramió Aguirre.
Fecha de publicación: 21 de abril de 2016.
Colaboración diseño Web: D. Jaime Sánchez Pedrós, becario Talentum Startups.

En esta sexta lección del MOOC encontrarás una introducción a los sistemas de cifra clásica, comenzando por su clasificación según la cifra se realice por transposición o por sustitución de caracteres, o bien si se trata de cifrados monográmicos, es decir cifra letra a letra, o bien por poligramas o formando bloques de letras, y por último si la cifra se realiza de manera monoalfabética, esto es usando un único alfabeto de cifrado, o bien de manera polialfabética en donde se utilizan dos o más alfabetos de cifrado. La lección tiene como elementos multimedia las píldoras formativas Thot número 10 ¿Cómo se clasifican los sistemas de cifra clásica?, número 13 ¿Qué es la cifra por sustitución monoalfabética? y número 14 ¿Qué es la cifra por sustitución polialfabética? Te recomiendo encarecidamente que las veas, al menos una vez. Si estás buscando prácticas de criptografía, te informo que en esta lección no iremos al laboratorio, pero en las cuatro lecciones siguientes haremos amplio uso del software de prácticas de criptografía clásica Criptoclasicos v 2.1, una versión ya definitiva que puedes descargarla ahora mismo para irte familiarizando con ella.

Temario


APARTADO 1. ¿CÓMO SE CLASIFICAN LOS SISTEMAS DE CIFRA CLÁSICA?

1.1. Primera clasificación: transposición y sustitución

Los sistemas de criptografía clásica se clasifican de acuerdo al tipo de operación que se realizará al texto en claro durante la cifra, bien sea ésta la de transposición o bien la de sustitución, para lograr en el primer caso la difusión y la confusión en el segundo, como ya hemos visto en una lección anterior.

En la figura 1.1 se muestra un cuadro resumen de los principales sistemas de cifra clásica, según sean éstos de transposición o de sustitución.


Figura 1.1. Clasificación de los sistemas de cifra clásica.

Como veremos en este apartado, los sistemas de cifra que han experimentado un mayor desarrollo durante toda la historia son aquellos que usan la sustitución de letras o caracteres.

Por este motivo, a los sistemas de cifra por sustitución se les dedicarán las tres lecciones siguientes de este MOOC. Así, algunos de los artilugios y algoritmos criptográficos que se muestran en la figura 1.1, los más importantes y famosos, serán presentados y analizados en próximas lecciones.

Vamos a pensar un poco:
Teniendo en cuenta que el sistema más moderno de todos los presentados en el cuadro anterior es la máquina Enigma de la Segunda Guerra Mundial, ¿crees que hay alguna razón lógica para que los sistemas de cifra por transposición no tuviesen un desarrollo tan extenso como los de sustitución? En ese caso, ¿cuál sería?

En la píldora formativa Thoth 10 de la figura 1.2 tienes una explicación animada de esta clasificación. Antes de seguir con la lección, mira el vídeo para ir familiarizándote con estos términos y conceptos.


Figura 1.2. Píldora formativa Thot 10: ¿Cómo se clasifican los sistemas de cifra clásica?


1.2. Cifra por transposición

En los algoritmos por transposición o permutación, las operaciones se realizan mediante grupos, series, columnas o filas. Estos sistemas, muy limitados por la escasa cantidad de operaciones distintas posibles y la debilidad intrínseca de los mismos debido a que los caracteres del texto cifrado serán los mismos que los del texto en claro, observándose por tanto también en el criptograma la redundancia del lenguaje, no experimentan un desarrollo tan notorio como el producido los sistemas de cifra por sustitución que, por el contrario, sí permiten utilizar varios alfabetos y hacer así más resistente la cifra ante los ataques.

No obstante, esto último hay que circunscribirlo únicamente a la cifra clásica. En la cifra moderna se usarán los dos principios, el de transposición y el de sustitución sobre bits y bytes, prácticamente a partes iguales, pero ello será materia de otro curso.

Aunque ya se han mostrado algunos de estos algoritmos en lecciones anteriores, dedicaremos un apartado de esta lección a los algoritmos más característicos de la cifra por permutación. No obstante, los sistemas de cifra por sustitución se tratarán en profundidad en las siguientes lecciones.

Ejercicio 1.1
Si el mensaje BUENOS DIAS se cifra escribiendo primero las letras que están en posiciones pares y después las que están en posiciones impares, ¿cuál sería el criptograma, BEODA UNSIS o UNSIS BEODA? ¿Sería esta cifra similar a la de la escítala? Justifica tu respuesta.

La importancia de usar transposición o permutación en los sistemas de cifra clásica radica en que ello aumenta la seguridad de los algoritmos al difundir las propiedades estadísticas del lenguaje, porque la permutaciónn difunde esas características al romper las propiedades del lenguaje estudiadas por Shannon. Encontrarás una introducción a las características del lenguaje y teoría de la información en el capítulo 6 "Teoría de la Información" en mi Libro Electrónico de Seguridad Informática y Criptografía Versión 4.1 de fecha 1 de marzo de 2006.

Vamos a pensar un poco:
¿Por qué crees que se afirma que la permutación difunde las propiedades estadísticas del lenguaje? Justifícalo.


1.3. Cifra por sustitución

Los mayores avances en la criptografía clásica se obtienen en este modo de cifra, que sustituye letras caracteres, dando origen a una gran variedad de artilugios, máquinas y algoritmos de cifra que perduran como sistemas de cifra clássca durante más de veinte siglos.

La primera clasificación con la que nos encontramos es por el número de alfabetos de cifra utilizados. De esta manera, hablamos de cifrado por sustitución monoalfabética y de cifrado por sustitución polialfabética.

En la sustitución monoalfabética, como su nombre lo indica, se sustituye un elemento del alfabeto en claro por un único elemento del alfabeto cifrado. Por ejemplo si la letra B del alfabeto en claro se sutituye por la letra Q en el alfabeto cifrado, la E se sustituye por la H, la S se sutituye por la Y y la O se sustituye por la N, el texto en claro BESO se cifrará como QHYN.

La figura 1.3 muestra el alfabeto de cifra monoalfabética usado en el ejemplo anterior, en el que en la fila inferior del alfabeto de cifrado se han puesto de forma aleatoria las letras del alfabeto de la A hasta la Z. Como puede comprobarse, el mensaje BESO se cifra como QHYN.


Figura 1.3. Alfabeto de cifrado con distribuición aleatoria de letras.

Ejercicio 1.2
Con el alfabeto de la figura 1.3 mediante sustitución letra a letra, cifra el mensaje TORPEDO.

Ejercicio 1.3
Si usamos el alfabeto de la figura 1.3, ¿qué secreto esconde el criptograma PHGHY SHYZÑ QTHJW N?

En cambio, en la sustitución polialfabética el mismo elemento o letra del texto en claro puede sustituirse por varios elementos distintos de los alfabetos de cifrado, en función de una clave y de la posición de la misma durante el cifrado mientras se recorre el texto en claro. Así, la letra K del texto en claro podría aparecer en el criptograma como letras distintas, por ejemplo X, P, F, A, W, etc., dependiendo de una clave que nos indicará qué alfabeto hay que utilizar en cada momento.

Por ejemplo, la figura 1.4 muestra tres alfabetos de cifra de acuerdo a la clave MAR. El primer alfabeto se encuentra desplazado 12 espacios hacia la izquierda y por ello comienza por la letra M, el segundo alfabeto no experimenta desplazamiento alguno y por ello comienza con la letra A, al igual que el alfabeto en claro, y el tercer alfabeto se encuentra desplazado 18 espacios hacia la izquierda y por ello comienza con la letra R. Observa que perfectamente uno de los alfabetos puede coincidir con el alfabeto en claro, como sucede en este caso con la segunda letra de la clave, la A.


Figura 1.4. Tres alfabetos de cifrado formados por la clave MAR.

De esta forma, el texto en claro OTOÑO se cifrará como ATGZO. Esto es, la primera letra O del texto en claro se cifrará con el primer alfabeto (M) dando como resultado la letra A, la letra T se cifrará con el segundo alfabeto (A) entregando el resultado T, la segunda letra O se cifrará con el tercer alfabeto (R) entregando el resultado G, la letra Ñ se cifrará nuevamente con el primer alfabeto (M) dando como resultado la Z y, por último, la tercera letra O se cifrará con el segundo alfabeto (A) dando como resultado lógicamente una O. Como puedes observar, la letra O muy frecuente en el mensaje, se ha cifrado de tres maneras distintas, si bien una de ellas va en claro al haberse cifrado con la A, que equivale al alfabeto en claro.

El sistema de cifra empleado en el ejemplo anterior se conocerá como cifra de Vigenère, algoritmo que se inventa en el siglo XVI y que lo veremos en detalle en una próxima lección.

Ejercicio 1.4
Con los alfabetos de la figura 1.4 cifra ahora estos tres mensajes distintos: VERANO, PRIMAVERA, INVIERNO.

Ejercicio 1.5
Si se han usado los tres alfabetos de la figura 1.4 para la cifra, ¿qué mensaje secreto esconde este criptograma: TCWGK WHAWD SFSFO FNAIB VYDNS KMHL?

Ejercicio 1.6
Crea 4 alfabetos de cifra como el de la figura 1.4 usando ahora la clave CINE y comprueba que en texto en claro UNA VIDA DE PELICULA se cifra como WUNZK LNHGX QOKKH OC.


1.4. Segunda clasificación: monográmicos y poligrámicos

Una segunda clasificación contempla si se cifran los elementos del texto en claro tomados en su mínima expresión, esto es letra a letra, dando paso a los denominados cifradores monográmicos, o bien si se cifran varios elementos simultáneamente, por ejemplo formando grupos de dos o más letras, dando lugar a los denominados cifradores poligrámicos.

Vamos a pensar un poco:
Si en estos cifradores clásicos, orientados generalmente a letras mayúsculas, el elemento mínimo a cifrar era una letra, ¿cuál será el elemento mínimo que se cifra en la criptografía actual digital?

Entre los algoritmos poligrámicos, el más interesante será el de matrices de Hill, al que le dedicaremos una lección completa.

Por último, debemos recordar que el alfabeto de cifra puede o no tener los mismos elementos que el alfabeto del texto en claro, es decir por ejemplo las 26 letras mayúsculas en inglés, de la A hasta la Z sin incluir la Ñ, o lo que es lo mismo operaciones en módulo 26. En este segundo caso podrá incluir signos y diferentes elementos gráficos, como sucedía en el famoso libro El Escarabajo de Oro de Edgar Allan Poe, recomendado en una lección anterior. Sí aún no lo has leído, ahora es el momento de hacerlo. Te recomiendo lo pidas en cualquier biblioteca en vez de leerlo online.

Vamos a pensar un poco:
En la novela de Poe, unos misteriosos signos ocultos se asoman en el pergamino cuando éste se acerca a la lumbre. ¿Cómo se conoce a la técnica usada para ocultar texto? ¿Qué aplicaciones crees que podría tener en el mundo actual?


APARTADO 2. ¿QUÉ ES LA CIFRA POR SUSTITUCIÓN MONOALFABÉTICA?

2.1. Cifrado y descifrado por sustitución monográmica monoalfabeto módulo n

Si m es el texto en claro a cifrar de manera monográmica, esto es tomando el texto letra a letra, c es el criptograma resultante, y las constantes a y b indican, respectivamente, la multiplicación y la adición aplicada a cada letra de ese texto en claro, tendremos la siguiente ecuación de cifra genérica de sustitución monoalfabeto monográmica.

c = a*m + b mod n

A la constante de multiplicación a, se le denomina normalmente constante de decimación para coincidir con su término en inglés decimation, cuyo significado sería destrucción, aniquilacion, ..., si bien la palabra decimación no está reconocida por la Real Academia.

Vamos a pensar un poco:
En la anterior ecuación conocemos los valores del criptograma c, la constante de decimación a, la constante de desplazamiento b y el módulo de trabajo n. Nos piden encontrar cuál es el valor del mensaje m. ¿Cómo despejarías esa incógnita? Ayuda: como mod n se aplica a toda la expresión que está a su izquierda, podríamos de momento olvidarnos de esto y quedarnos con la igualdad c = a*m + b . ¿A qué sería igual m?

Si has contestado a la cuestión anterior y has llegado a que m = (c - b)/a, seguramente te surja ahora una duda. ¿Es posible hacer esa división por a si estamos trabajando dentro de un módulo?

Para aclararlo vamos a poner un ejemplo. Si ciframos la letra J (código número 9) en módulo 27, multiplicando por a = 5 y desplazando b = 3, el criptograma c será igual a:

c = 5*J + 3 mod 27

c = 5*9 + 3 mod 27 = 48 mod 27 = 21

Por lo tanto, la letra J se cifra como U.

Si para descifrar usamos la ecuación a la que habías llegado anteriormente m = (c - b)/a, tenemos entonces un grave problema porque (c – b)/a = (21 – 3)/5 = 18/5 = 3,6 ... y como estamos trabajando en el cuerpo de los números enteros, este resultado de un número con decimales nos indica que aquí hay algo que no funciona.

Como se supone que has estudiado y aprendido ya la leccion 5 de este MOOC, sabrás que lo que ha sucedido es que la operación de división, tal y como la conocemos, está prohibida en aritmética modular. Pero no así la multiplicación por el inverso dentro de ese módulo.

Es decir, no podemos dividir por a pero sí multiplicar por a-1, si el inverso de a en n existe. Y resulta que en este caso en que a = 5 y n = 27, sí existe el inverso y es igual a 11.

Resumiendo: para que sea posible el descifrado y así poder recuperar m a partir de c, es necesario que la constante a tenga inverso multiplicativo en módulo n, en tanto se encuentra multiplicando al mensaje. Por otra parte, con la constante de desplazamiento b no habrá ninguna limitación puesto que se encuentra sumando (o restando) el código de la letra a cifrar y el inverso aditivo de b en ese cuerpo n siempre existirá.

Por lo tanto, ecuación de descifrado será:

m = (c – b) * a-1 mod n

Volviendo al ejemplo anterior, dado que inv (a, n) = inv (5, 27) = 11, entonces tenemos:

m = (c – b) * a-1 mod n = (21 – 3) * 11 mod 27 = 18 * 11 mod 27 = 198 mod 27 = 9

Y ahora sí que hemos recuperado el mensaje en claro que era la letra J = 9.

En la cifra módulo 27 serán válidos para la constante a los siguientes valores: 1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25 y 26. Como se observa, son todos aquellos valores que no tienen como factor común el número 3 ya que n = 27 = 33. Los valores válidos para la constante b en cambio van desde 0 hasta 26.

Vamos a pensar un poco:
Dado que a = 1 y b = 0 son valores válidos de constantes de decimación y desplazamiento respectivamente en módulo 27, ¿usarías los valores a = 1 y b = 0 en una cifra? ¿Por qué sí o por qué no?

Ejercicio 2.1
Repite el cifrado y descifrado de la letra J utilizando ahora las constantes de decimación a = 19 y de desplazamiento b = 10. Para el cálculo de inversos online puedes usar esta calculadora http://ptrow.com/perl/calculator.pl

En una próxima lección veremos que este tipo de cifra se conoce como cifrado afín y lo analizaremos en profundidad, en el cifrado, en el descifrado y en el criptoanálisis.

Repasa estos conceptos básicos de la cifra por sustitución monoalfabética viendo la píldora formativa Thoth 13 de la figura 2.1.


Figura 2.1. Píldora formativa Thot 13: ¿Qué es la cifra por sustitución monoalfabética?


2.2. Fortaleza del cifrado por sustitución monográmica monoalfabeto

¿Qué tan segura es la cifra por sustitución monoalfabética monográmica?

La respuesta es categórica: muy mala. En realidad, su fortaleza es la peor de todos los sistemas de cifra conocidos. El problema radica en que al sustituirse una letra del texto en claro siempre por la misma letra del alfabeto de cifrado, las frecuencias características de las letras que aparecen en un mensaje y que forman parte de la redundancia del lenguaje, se reflejarán de manera manifiesta en el criptograma, facilitando así su ataque.


APARTADO 3. ¿QUÉ ES LA CIFRA POR SUSTITUCIÓN POLIALFABÉTICA?

3.1. Usando más de un alfabeto

La sustitución polialfabética consiste en que cada letra del texto en claro se va sustituyendo (cifrando) por una letra de un alfabeto de cifrado distinto, de acuerdo a una clave y la posición que ocupan los caracteres en el texto en claro con respecto a dicha clave.

La figura 3.1 muestra el alfabeto en claro de 27 caracteres en español y dos posibles alfabetos de cifrado: el primero en color rojo con un desplazamiento de 3 posiciones y el segundo en color celeste con un desplazamiento de 15 posiciones, ambos a la izquierda del alfabeto en claro.


Figura 3.1. Dos alfabetos de cifra desplazados 3 y 15 posiciones.

Para profundizar algo más en lo que ya vimos al comienzo de esta lección, usaremos los alfabetos de la figura 3.1 para una cifra por sustitución de forma que las letras en posiciones impares se cifren con el primero de ellos y las letras en posiciones pares lo hagan con el segundo, obteniendo:

M = ESTE SISTEMA ES MAS DIVERTIDO
C = HHWS VWVIHAD SV ADH GWYSUILRR

Vamos a pensar un poco:
Observa que la letra E del texto en claro se ha cifrado como H y S y que el criptograma RR proviene del texto en claro DO. ¿Qué te sugiere esto con relación a las frecuencias características de las letras en el lenguaje?

Además de ser más divertido este sistema de cifra polialfabética, ¿tendrá mayor fortaleza que la cifra monoalfabética? Claro que sí y bastante. Lo veremos en el siguiente apartado


3.2. Ventajas de usar más de un alfabeto en la cifra

Al usar dos o más alfabetos, las estadísticas del lenguaje ya no se manifiestan de manera tan clara en el criptograma. De hecho, en el ejemplo anterior vemos al comienzo de la cifra que la letra E (la más frecuente en el lenguaje español) se cifra como H o S (e.g. ESTE = HHWS), en función de que dicha letra E esté en posiciones impares o pares del texto en claro, y además que criptograma H puede provenir de la cifra de la letra E o bien la S, también dependiendo de su posición relativa en el texto en claro.

Por tanto, al verse dificultado el criptoanálisis porque no se manifiesta -al menos de momento- la redundancia del lengiaje en el cripotgrama, diremos que este sistema de cifra polialfabética parece tener más fortaleza que una cifra monoalfabética.

Vamos a pensar un poco:
Parece lógico esperar que al usar más alfabetos de cifra esto complica el trabajo a los criptoanalistas. ¿Qué sucedería entonces si ahora los alfabetos de cifra fueran mixtos, es decir algunos alfabetos de cifra cuentan con los mismos elementos del cuerpo de letras del módulo, tal y como se ha visto en los ejemplos anteriores, y otros alfabetos de cifra tuvieran elementos gráficos que no fuesen las letras del alfabeto usado? Por ejemplo en mod 27, una clave del tipo K3%M en donde el segundo y el tercer alfabeto de cifra contienen cada uno 27 elementos diferentes y que no son las letras en mayúscula del alfabeto español, que en cambio sí se usan en los alfabetos primero y cuarto. Nota: esta pregunta no es de fácil solución; es menester entender cómo se ataca la cifra de Vigenère mediante Kasiski (una próxima lección del MOOC) para poder afirmar si esto aumenta o no la fortaleza del cifrado, pero es bueno que lo vayas pensando.


3.3. Destrucción de las estadísticas del lenguaje

Una cifra por sustitución monoalfabética sólo desplaza las frecuencias características de las letras en el lenguaje, pero sus valores se mantienen. Es decir, si la letra E presenta en un texto en claro una frecuencia del 15 % y al cifrarla se convierte en la letra R, entonces en el criptograma la letra R tendrá esa frecuencia del 15 %, lo cual es obvio. Las figuras siguientes corresponden a las estadísticas de un texto de 21 palabras y tan solo 114 letras, cifrado con método del César, esto es un desplazamiento de 3 espacios hacia la izquierda, o bien un alfabeto de cifrado cuya clave es la letra D = 3.

M = ESTE SENCILLO EJEMPLO ES PARA DEMOSTRAR QUE LA CIFRA MONOALFABETICA TIENE UNA FORTALEZA DEBIL Y SE ATACA POR ESTADISTICAS DEL LENGUAJE

El criptograma resultante es:

C = HVWHV HPFLÑ ÑRHMH OSÑRH VSDUD GHORV WUDUT XHÑDF LIUDO RPRDÑ IDEHW LFDWL HPHXP DIRUW DÑHCD GHELÑ BVHDW DFDSR UHVWD GLVWL FDVGH ÑÑHPJ XDMH

Y las frecuencias de las letras en el texto en claro y en el criptograma son las que se muestran en las figuras 3.2 y 3.3. Observa que aunque el mensaje tenga sólo 114 letras, las frecuencias son bastante parecidas a las presentadas en la figura 2.1 de la lección 3 de este MOOC en su apartado 2.2 para un mensaje con más de mil letras, lo que demuestra cuán redundante es el lenguaje.


Figura 3.2. Frecuencias de letras en un mensaje de 114 letras en español.


Figura 3.3. Frecuencias de letras en el criptograma, desplazado 3 espacios a la izquierda.

Vamos a pensar un poco:
Si en vez de cifrar de esta manera tan simple, desplazamiento de tres espacios en el alfabeto, se nos ocurre otro sistema algo más complejo como por ejemplo multiplicar el mensaje por un número y además desplazarlo, como lo haremos en una próxima lección mediante la cifra conocida como afín, ¿crees que sería más más difícil encontrar estos patrones de redundancia del lenguaje en el criptograma? ¿Por qué si o por qué no?

Para reforzar algo más la idea anterior, la siguiente figura muestra las frecuencias de las letras de un texto en claro bastante más largo que el anterior, que se ha cifrado en modo afín con la ecuación c = a*m + b mod n, siendo a = 11, b = 10 y n = 27. Por ejemplo la letra O = 15 del texto en claro se cifrará como: 11*15 + 10 mod 27 = 175 mod 27 = 13 = N (color rosa en las tablas).


Figura 3.4. Frecuencias observadas en el texto en claro y en su cifrado afín.

El texto corresponde a los tres primeros párrafos de esta sexta lección, con 108 palabras y un total de 518 letras, esto es: "Los sistemas de criptografía clásica se clasifican de acuerdo al tipo de operación ... experimentado un mayor desarrollo durante toda la historia son aquellos que usan la sustitución de letras o caracteres".

Vamos a pensar un poco:
¿Puedes ahora responder mejor a la cuestión planteada más arriba en esta misma sección del rincón de pensar? Comprueba que las frecuencias son las mismas en ambas tablas pero lógicamente en posiciones distintas, ya no sólo desplazados un valor constante debido al tipo de cifra empleado en que primero se multiplica por a el código de la letra a cifrar y después se desplaza b espacios. Compara estas frecuencias del lenguaje con las que vimos en la lección 3, ¿se parecen?

Al usar dos o más alfabetos de cifrado, el efecto que se logra es suavizar estas estadísticas, en tanto cada letra del texto en claro podrá estar representada en la cifra por dos o más letras de los alfabetos utilizados, haciendo que las letras con frecuencias altas en el texto en claro disminuyan el valor de esa frecuencia en el criptograma y, por el contrario, que las letras con frecuencia baja en el texto en claro incrementen ese valor en el texto cifrado.

Con más de 6 alfabetos de cifrado, es común que los valores de las frecuencias de las letras del criptograma sean todas muy similares, asemejándose a una distribución uniforme discreta, lo cual no entrega pistas al atacante, al menos según los conocimientos que tenemos hasta este momento.

La siguiente figura muestra las frecuencias el mismo mensaje anterior de la figura 3.2 pero cifrado ahora polialfabéticamente con la clave de seis letras TIMBRE, es decir se utilizarán seis alfabetos distintos.


Figura 3.5. Frecuencias del criptograma en un cifrado con seis alfabetos.

Vamos a pensar un poco:
¿Crees que con la cifra polialfabética se han "suavizado" las formas del gráfico y que las frecuencias de las letras son ahora más similares entre sí? ¿Había letras con valor de frecuencia 0 en el cifrado monoalfabético de la figura 3.3 y las hay ahora en este cifrado polialfabético? ¿Por qué?

Recuerda que esto es sólo una introducción a los sistemas de cifra clásica; no quieras avanzar más de la cuenta. Cuando estudiemos el cifrado de Vigenère en una próxima lección, haremos estos ejercicio de cifra y muchos más.


3.4. ¿Se logra un sistema indescifrable al usar varios alfabetos?

Más de algún criptógrafo ha pecado de soberbia al indicar que su sistema de cifra era indescifrable, tal y como sucedió con la cifra polialfabética de Vigenère, cuya fortaleza perduró durante casi 300 años. No se sabía cómo criptoanalizar la cifra, en tanto los ataques por análisis de frecuencias de las letras del criptograma no daban fruto. Pero este cifrado finalmente sucumbe. La razón de ello es que la redundancia del lenguaje es tan alta que, así y todo, con una distribución casi plana de las frecuencias de las letras en el criptograma como ya hemos visto, sí seremos capaces de criptoanalizar el sistema como se verá en la lección correspondiente de este MOOC.

Vamos a pensar un poco:
¿Por qué se dice que es una osadía decir que el sistema de cifra que se ha inventado es indescifrable?

Aunque este ataque será materia de una próxima lección, recordemos que la redundancia del lenguaje es tan alta que se manifestará incluso si recorremos un texto en claro o criptograma, eligiendo letras separadas por una distancia constante, que en el fondo es lo que hace la cifra polialfabética.

Por ejemplo, si un texto en claro de unos 500 caracteres lo recorremos letra a letra dando saltos de 4 en 4 y vamos anotando en 4 en documentos diferentes la letra en la que caemos de forma cíclica, al final generaremos 4 textos diferentes evidentemente sin sentido. El resultado es que en cada uno de esos 4 textos las frecuencias de las letras serán muy parecidas a la del texto original y completo, es decir, probablemente la letra E será más frecuente que la letra A, a continuación aparecerá la letra O, etc.

Hemos puesto como condición que el texto original tenga unas 500 letras para que cada uno de esos 4 nuevos documentos que vamos a generar tenga algo más de 100 caracteres. Con esa cantidad de texto en cada documento y trabajando en módulo 27, es más que suficiente para que la redundancia del lenguaje se manifieste en cada uno de ellos y, por tanto, las estadísticas de frecuencia de letras sean similares a la del documento original.

Esta interesante característica de la redundancia del lenguaje nos permitirá realizar un ataque algo más sofisticado, conocido como método de Kasiski, que permitirá romper los sistemas de cifra polialfabéticos, materia de una próxima lección.

Para fortalecer los conceptos relacionados con la cifra polialfabética, mira la píldora formativa Thoth 14 de la figura 3.6 y saca tus propias conclusiones.


Figura 3.6. Píldora formativa Thot 14: ¿Qué es la cifra por sustitución polialfabética?


APARTADO 4. EVALUACIÓN DE LA LECCIÓN 6

4.1. Test de evaluación personal

En las siguientes 10 preguntas, elige la respuesta correcta. Sería muy recomendable que la primera vez que contestes este test lo hagas sin repasar la lección.

Para confirmar si tus respuestas son las correctas, accede y consulta las redes sociales de Crypt4you en twitter y en facebook. Las soluciones al test de esta sexta lección se publicarán en dichas redes sociales el mismo día en que se publique la próxima lección 7, en twitter sólo las respuestas correctas y en facebook justificando además cada una de ellas.

1. Una primera clasificación histórica de los sistemas de cifra clásica:

a) Diferencia entre cifra por decimación y cifra por desplazamiento.
b) Diferencia entre cifra monográmica y cifra poligrámica.
c) Diferencia entre cifra por sustitución y cifra por permutación.
d) Diferencia entre cifra monoalfabética y cifra polialfabética.

2. En la cifra clásica encontramos:

a) Menos algoritmos por sustitución que por transposición.
b) Más algoritmos por transposición que por sustitución.
c) Menos algoritmos por transposición que por permutación.
d) Más algoritmos por sustitución que por transposición.

3. En un alfabeto español con mayúsculas y minúsculas sin acentos y los dígitos:

a) El módulo de cifra sería n = 62.
b) El módulo de cifra sería n = 64.
c) El módulo de cifra sería n = 27.
d) El módulo de cifra sería n = 72.

4. Para que una cifra del tipo c = a*m mod n pueda después descifrarse:

a) Deberá cumplirse que mcd (a, n) = 1.
b) Deberá cumplirse que mcd (c, n) = 1.
c) Deberá cumplirse que mcd (a, m) = 1.
d) Deberá cumplirse que mcm (a, n) = 1.

5. Cuando en una cifra se usa más de un alfabeto, se dice que:

a) Es una cifra bialfabética.
b) Es una cifra súperalfabética.
c) Es una cifra polialfabética.
d) Es una cifra trialfabética.

6. Si usamos varios alfabetos de cifrado, las letras del criptograma muestran frecuencias:

a) Con todos sus valores muy cerca del 0 %.
b) Que asemejan una distribución uniforme discreta.
c) Que asemejan una distribución logarítmica.
d) Que asemejan una distribución normal o de Gauss.

7. En la criptografía clásica tuvieron un mayor desarrollo:

a) Los sistemas de cifra por permutación.
b) Los sistemas de cifra por ofuscación.
c) Los sistemas de cifra por sustitución.
d) Los sistemas de cifra por transposición.

8. Si en una cifra módulo 27 se multiplica por un número el código de cada letra a cifrar:

a) Para descifrar habrá que usar el inverso de dicho número.
b) Para descifrar habrá que usar otro número complemento de aquel en módulo 27.
c) Para descifrar habrá que desplazar a la derecha tantos espacios como sea el valor de ese número.
d) No se puede multiplicar por un número el código de las letras .

9. Si decidimos cifrar por sustitución usando varios alfabetos, ¿qué clave sería mejor?

a) PALOMAR
b) TEMPRANO
c) CARADURA
d) CONEJOS

10. Muchas letras de un criptograma cifrado módulo 27 muestran frecuencias similares:

a) El cifrado puede ser de tipo sustitución monoalfabética.
b) El cifrado puede ser de tipo permutación.
c) El cifrado puede ser de tipo sustitución polialfabética.
d) El texto en claro no ha sido cifrado, ha ido en claro.


Ir a: [Portada c4y]    [Lección 5] [Índice] [Lección 7]