16

El código Futurama: Segunda parte

Publicado el: 30/07/2010
Leonardo Da Vinci
La semana pasada expliqué como romper el cifrado del llamado alfabeto alienígena 1 usado subliminalmente en varios capitulos de Futurama. Hoy voy a hacer lo propio con el alfabeto alienígena 2. Aunque no veaís Futurama, si queréis conocer algunos misterios que esconde la criptografía, no dejéis de leer esta entrada.

El método de cifrado del alfabeto alienígena 2 es un poco más complicado que el utilizado en el 1, por lo que os recomiendo, a los que no lo hayais hecho ya, que os leáis primero la entrada "El Código Futurama: Primera parte" si queréis comprender bien esta.

Jeff Westbrook además de investigador en algoritmia, doctor en informática y guiniosta de los Simpson y Futurama, es el creador de los alfabetos alienígenas que aparecen en la serie. Para el alfabeto alienígena 2, lo que ha hecho este señor, es coger un método de cifrado clásico, que utiliza simplemente una técnica de sustitución, y le ha añadido otra sustitución de símbolos alienígenas como la del alfabeto alienígena 1.

El método de cifrado clásico del que hablo es conocido como cifra con texto autoclave, inventada por Gerolamo Cardano y variante de la cifra de Vigenère. Este método utiliza el propio texto del mensaje como clave para cifrar el propio mensaje.

El cifrado consiste en aplicar la siguiente fórmula, letra por letra al texto en claro, menos a la primera letra que se considera ya cifrada:

Letra actual cifrada=[(posición en el abecedario de la letra a cifrar actual, comenzando por cero)+ (Posición en el abecedario de la letra cifrada anterior)] módulo 26

La operación módulo significa, resto de la división entera y lo que hace es mantener cíclicamente, los resultados de la fórmula entre corchetes, entre 0 y 25, de manera que cuando la parte de la fórmula entre corchertes dé 25, el módulo dará como resultado 25. Con 26 dará un 0, con 27 un 1 y así sucesivamente.

Para los que no les gusten las fórmulas, pueden calcularlo de otra forma de más sencilla, utilizando la "tabula recta", inventada en 1508 por Johannes Trithemius. Para cifrar la letra actual:

1º Buscar la letra en la fila de arriba.

2º Buscar la letra a cifrada anterior en la columna de la izquierda.

El lugar dónde se cruza la fila y la columna escogidas es la letra cifrada actual.

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

---------------------------------------------------

A 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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

Por ejemplo, el texto en claro "MATT GROENING", después de aplicar este primer paso quedaría cifrado como "MMFY EVJNAIVB" (en la "tabula recta" he marcado en negrita como se hace el cifrado de la tercera letra).

Después de aplicar este cifrado debemos sustituir los caracteres del lenguaje humano por los siguientes símbolos alienígenas.

Simbolos del lenguaje 2

La ventaja del cifrado alienígena 2 respecto al 1, es que no es vulnerable a ataques simples de criptoanálisis, como el método Kasiski o el ataque estadístico de frecuencias, ya que cada letra del alfabeto original se cifra de una forma distinta cada vez, haciéndolo más difícil de descifrar para los fans.

El problema de este criptosistema (método de cifrado), es que no tiene clave. La seguridad del mensaje, se basa en que, para poder descifrar el texto, tienes que conocer el método de descifrado, mientras que con cualquier otro criptosistema el método de descifrado puede conocerlo todo el mundo, porque el texto sólo se podrá descifrar con la clave. Por ejemplo, en el cifrado de César, el método de descifrado es desplazar el alfabeto un número de lugares a la izquierda. El número de lugares en concreto que hay que desplazar, es la clave. Originalmente la clave es tres, aunque se puede escoger otro valor. Averiguar la forma de descifrar los criptogramas del alfabeto alienígena 2 depende principalmente de que conozcamos el criptosistema. En el de César, aunque conozcamos el criptosistema, no podremos descifrarlo sin la clave.

De nuevo, los creadores de la seríe muestran esta imagen a modo de piedra rosetta, con el mismo texto cifrado y en claro, que puede servir para averiguar el código utilizado:

El pontífice cocodrilo

En el texto en claro se repiten varias letras. Cualquier criptoanalísta se daría cuenta que la misma letra no se cifra siempre con el mismo símbolo, aunque esto no es suficiente para dar con el cifrado de texto autoclave, simplemente es una pista para ir empezando a probar criptosistemas posibles.

Fry, Bender y Lila navegando virtualmente por Internet

Aquí pone "Codebreakers chat room" que es "Sala de chat de rompedores de códigos".

Profesor Farnsworth

En la pantalla pone AOL.

Para descrifrar debemos usar la siguiente fórmula:

Letra actual descifrada=[(posición en el abecedario de la letra a descifrar actual)-(posición en el abecedario de la letra anterior cifrada)]módulo 26

En este caso la operación "módulo 26", hace que tengamos que sumar 26 mientras el resultado obtenido entre corchetes sea un número negativo.

Obviamente, aquí tambíen se puede usar la "tabula recta", cogiendo en la columna izquierda la letra cifrada anterior y dentro de su fila correspondiente, la letra cifrada actual. En la columna que se encuentre y en la fila de arriba, hallaremos la letra descifrada actual.

Si os apetece en este sitio podeis cifrar mensajes en los dos alfabetos.

Pensamientos (5): Ver comentarios Comentar
Categorías: ,

Comparte:

Copia y pega en tu página:

Comparte
Escribe tus pensamientos computables

Respondiendo a los siguientes comentarios:

Para comprobar que eres un humano responde correctamente:

Esta pregunta no me gusta, ¡cambialá!

Ninguno de estos datos será almacenado.

(Escribe el correo electrónico)

Campo obligatorio.

(Escribe el correo eléctronico o los correos electrónicos separados por comas)

Campo obligatorio.

Para comprobar que eres un humano responde correctamente:

Esta pregunta no me gusta, ¡cambialá!

Pensamientos
Felipe
Fecha: 22/01/2011 Hora: 20:40:48
Es aun mas divertido esta encriptacion por que el mensaje esta mas oculto. Yo ya hice un programa capaz de descifrar y cifrar estos lenguajes. Hecho en Vissual Basic.
Anónimo
Fecha: 15/01/2012 Hora: 5:50:52
XS no entendi como se usa porfavor explica mejor :D o es demasiado confuso :C
Anónimo
Fecha: 11/03/2012 Hora: 20:41:15
como se calcula la primer letra?
Le responde 1 comentario Ver comentario
Respondiendo a 1 comentario Ver comentario
Anónimo
Fecha: 20/04/2012 Hora: 16:22:09
La primra letra no se decifra ya que ya esta decifrada. En el codigo, la primera letra de cualquiuer texto (vaya a ser cifrado o desifrado) no se le hace nada. A partir de la segunda letra, se empieza a descifrar.
Anónimo
Fecha: 26/09/2012 Hora: 1:49:01
por fa mayor explicacion entiendo que la primera letra viene en si practicamente "descifrada" pero y el resto por fa quiero entender este tipo de codigos