Solución Kriptojuego 20080131: La vergüenza española (I)

Cuando al ser humano se le ocurre cifrar un mensaje, intuitivamente le vienen a la cabeza dos formas de hacerlo:

  1. Cambiar las letras de sitio (se denomina Transposición, y vimos un ejemplo un tanto alambicado en el kriptojuego anterior).
  2. Cambiar las letras originales por otras (pertenecientes al mismo alfabeto o a otros), siguiendo obviamente alguna regla que permita revertir el cifrado. Es la denominada Sustitución, que practicamos en este kriptojuego.

Tanta es la importancia de ambos métodos, que aún subyacen en muchos de los sistemas más modernos...

Al igual que hay muchas formas de transposición, existen muchas modalidades de sustitución (por ejemplo: carácter a carácter o en grupos de 2, 3 o más; usando varios alfabetos en lugar de uno de forma periódica o aperiódica, etc). En este artículo trataremos sólo el método utilizado en este kriptojuego, es decir, el cifrado por sustitución monoalfabética y monográmica con alfabeto estándar (ya tendremos ocasión de tratar otros tipos en nuevos kriptojuegos).

 

CIFRADO POR SUSTITUCIÓN

A la hora de cifrar un mensaje sustituyendo unos caracteres por otros, es necesario en primer lugar decidir cuál será el alfabeto de cifrado y/o cómo construirlo.

 

1. Desplazamiento puro: César

Una forma sencilla podría consistir en simplemente desplazar un número fijo de lugares los caracteres del alfabeto original, retomando de nuevo el principio cuando se nos acaben éstos. Es el clásico método atribuido al emperador César por el historiador Suetonio, en que cada carácter del alfabeto latino original se desplazaba tres lugares hacia la derecha para obtener el alfabeto cifrado. En el caso del alfabeto inglés de 26 letras (que serían 27 en el castellano con ñ) tendríamos:

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 -> Alfabeto original
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 -> Alfabeto cifrado

Por ejemplo, al cifrar "kriptopolis" obtendríamos lo siguiente:

k r i p t o p o l i s
N U L S W R S R O L V

En CrypTool:

Cifrado:
Menú: File -> New
Escribimos kriptopolis
Menú: Crypt/Decrypt -> Symmetric (classic) -> Caesar/ROT-13
Pantalla: Key entry as -> Alphabet character: 
Escribimos D
Pulsamos botón Encrypt

Descifrado:
Menú: Analysis -> Symmetric Encription (classic) -> Ciphertext-Only -> Caesar

Puesto que con este alfabeto de 26 caracteres sólo caben 25 posibles desplazamientos (y por tanto 25 alfabetos cifrados) distintos, el descifrado resultaría trivial, pues sólo habría que probar consecutivamente las 25 "claves" posibles, hasta dar con el mensaje en claro. Demasiado fácil, incluso con lápiz y papel.

 

2. Desplazamiento más palabra clave

Una forma de reforzar este cifrado es añadir una palabra clave al alfabeto cifrado, que puede insertarse en cualquier posición y desplaza al resto de caracteres, evitando posibles repeticiones. Por ejemplo, puedo añadir la clave MADRID al principio del alfabeto cifrado, resultando:

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 -> Alfabeto original
M A D R I J K L N O P Q S T U V W X Y Z B C E F G H -> Alfabeto cifrado

En este caso:

k r i p t o p o l i s
P X N V Z U V U Q N Y

Esta sencilla modificación complica teóricamente bastante el descifrado, porque ahora ya no basta enfrentar el mensaje a sólo 25 claves, sino que ha de contrastarse con muchísimas más (siempre que se desconozca la palabra clave MADRID, claro). Es éste precisamente el sistema que he utilizado en este kriptojuego, mediante la clave KRYPTOS.

En CrypTool:

Cifrado:

Menú: File -> New
Escribimos el texto a cifrar (o lo pegamos desde el portapapeles).
Menú: Crypt/Decrypt -> Symmetric (classic) -> Substitution/Atbash
Pantalla: Key input -> Key: 
Escribimos KRYPTOS (o la clave deseada).
Observar cómo los caracteres a la derecha se van desplazando,
desapareciendo todos los que puedan estar ya en la clave.
Pulsamos botón Encrypt.

Descifrado:
Lo veremos más adelante, al mostrar cómo se resuelve el propio kriptojuego.

 

3. Alfabeto de cifrado aleatorio

Pero se puede aumentar muchísimo más el espacio de claves (hasta 26!, es decir, un cuatro seguido de 26 ceros, si mis matemáticas y mi calculadora no me fallan ;) si prescindimos totalmente del algoritmo de desplazamiento y utilizamos en su lugar un alfabeto de cifrado totalmente aleatorio. Tenemos entonces el inconveniente de que la clave (en este caso todo el alfabeto) es mucho más complicada de transmitir (y ya no digamos recordar). El alfabeto de cifrado no puede contener caracteres repetidos e incluso algunos -o todos- los caracteres podrían sustituirse por símbolos, formando así un alfabeto mixto (el caso relatado en "El Escarabajo de Oro", de Edgar Allan Poe), algo que sólo aparentemente parece complicar el criptoanálisis, porque en cualquiera de estos casos el ataque por fuerza bruta (es decir, probando todas las claves posibles) resulta impracticable.

Esa sensación de seguridad, que tardó casi 1.000 años de demostrarse falsa (como algunos de nuestros lectores han verificado por sí mismos), fue la culpable de que la criptografía apenas evolucionara en tan largo período de la Historia, así como de algunos episodios trágicos -y otros simplemente embarazosos- que comentamos en la siguiente entrega, gracias a la cual entenderéis el por qué del sorprendente titulo de esta nota (al menos los que no hayáis leido aún a Singh ;)

Comentarios

Selecciona arriba tu forma preferida de visualizar
los comentarios y pulsa el botón para guardar tus
preferencias. Éstas sólo se recordarán para tus
próximas visitas si eres usuario registrado.
Autodidacta por anónimo

Opinar

Los comentarios publicados en este sitio expresan sólo la opinión de su autor, quien será el único responsable de los mismos. La publicación de cualquier comentario no supone en absoluto la conformidad del responsable de este sitio con su contenido.

Como norma general, en este sitio no se publican comentarios que incluyan datos personales, ni direcciones de correo, ni ninguna otra forma de establecer contactos privados o comerciales, así como comentarios que no aportan nada, fuera de tema o que no se ajustan a la netiqueta, la ortografía o la educación.

Para poder enviar tus comentarios has de permitir las cookies del sitio.

Por favor, escribe arriba el resultado de la operación planteada. Gracias.
  • Etiquetas HTML permitidas: <a> <em> <strong> <ul> <ol> <li> <p> <u> <br><strike> <blockquote> <div>

Más información sobre las opciones de formato...