lunes, 30 de junio de 2008

Criptografía y ficción (1)

Siendo la criptografía un asunto muy tratado en la red por gente más competente que el responsable de este blog nos limitaremos aquí a mencionar algunos detalles. En realidad vamos a ver únicamente una somera descripción alguno de los métodos clásicos con un par de ejemplos tomados de la literatura y de la historia, con el fin de poder echar mano de ellos en futuros post.

Se puede cifrar un texto por sustitución y por transposición:

-Sustitución: cada carácter (o grupo de caracteres) del mensaje origen se sustituye por otro (u otros) carácter/es (o grupo de caracteres) en el mensaje cifrado. Naturalmente las equivalencias deben ser conocidas por el receptor legítimo del mensaje.
  • Sustitución monoalfabética. Es el más sencillo, simplemente cada carácter tiene un equivalente que nunca cambia. Ejemplo: uno de los más antiguos en una obra de ficción lo encontramos en la Biblia (Jeremías 51, 41) «¡Cómo ha sido tomada Sesac y conquistada la gloria de toda la tierra!¡Cómo ha sido devastada Babilonia en medio de las naciones!». «Sesac» (ששך) significa «Babilonia» (בבל), el método utilizado es conocido como atbash, muy conocido por los cabalistas. Simplemente se pone en el lugar de la primera letra del alfabeto, aleph, la última, taw; en el lugar de la segunda, beth, la penúltima, shin, y así sucesivamente con cada una de las consonantes que componen el alfabeto hebreo. En el cuadro de abajo se ve el alfabeto hebreo en la fila de arriba y su equivalente según este sistema en la fila de abajo. Luego se ve una adaptación al alfabeto latino. Otros ejemplos: la cifra de César y el código Morse. Las cifras monoalfabéticas no son muy robustas; un receptor ilegítimo puede dar fácilmente con la clave, como veremos al final del post con más detalle, ya que son muy vulnerables al análisis estadístico.
Atbash
Arriba, el Atbash seguido de una adaptación del mismo a nuestro alfabeto.
Una de las letras del ejemplo babilónico no me encaja con el cuadro por más que me devano los sesos ¿algún parroquiano sabe hebreo?
  • Sustitución polialfabética: cada carácter (o grupo de caracteres) del mensaje origen se sustituye por otros, que van cambiando según un patrón matemático conocido por el receptor legítimo. Así, si una letra "a", pongamos por caso, se sustituye por una "f" en un punto del mensaje, en otro puede muy bien ser una "m", de esta manera se pretende desafiar el análisis estadístico. Ejemplo: uno de los más conocidos el la cifra Vigènere: para cifrar un mensaje según este sistema necesitamos, a demás del mensaje original (pongamos que sea, «Dios causó almorranas a los filisteos»; de 1 Samuel, 5) una palabra clave (pongamos que sea «libro») y la tabla que ven aquí abajo: Vingenere
  • A continuación copiamos la palabra clave, letra por letra, bajo cada una de las letras del mensaje de origen, así: las letras del mensaje cifrado se van definiendo en la tabla: en el alfabeto horizontal de arriba se van buscando las letras del mensaje de origen y en el vertical de la izquierda las de su correspondiente de la palabra clave: la letra donde coincidan esa fila y esa columna será la del mensaje cifrado. En nuestro ejemplo la primera letra del mensaje original es "d", correspondiente a la "l" de la palabra clave; buscamos dónde se cruzan en la tabla y tenemos "o". El mensaje cifrado completo sería: «oqpj qlctf owupiflvbj o wwt wwwqtksza», si bien no se suelen respetar los espacios entre palabras; para aumentar la confusión se agrupan de cinco en cinco.
2624161340_89c97fb465

El primer cifrario polialfabético se atribuye a Leon Battista Alberti. También inventó el reloj de cifrar o discos de Alberti. Arriba a la izquierda un modelo utilizado en la Guerra de Secesión estadounidense (tomado de aquí) a la derecha otro que me vino en los cereales

-Transposición. Consiste en cambiar el orden las letras del mensaje de origen. El más sencillo quizá sea escribir de derecha a izquierda (sensatez=zetasnes) pero hay patrones muchos más complejos; hoy los expertos los expresan con una fórmula matemática, pero en tradicionalmente se solían asociar a algún tipo de rejilla, como la de Cardano, o la conocida como de Mathias Sandorf, ya que aparece en la novela de este título, de Jules Verne. Estas rejillas consistían en tarjetas con perforaciones que permitían escribir y leer el mensaje en el orden correcto; el emisor y el receptor legítimo debían tener sendos ejemplares idénticos. El caso más antiguo de los que tenemos noticia no se basaba en una rejilla, sino en un bastoncillo; es la scítala espartana de la que nos habla Plutarco en Vidas paralelas XII.
Nada impide combinar varios de estos sistemas, como hace el mismo Verne alguna vez.

















Portada de la novela Mathias Sandorf; Verne recurre a la criptografía también en Viaje al centro de la Tierra y en La jangada. A la derecha, Edagar Allan Poe, avezado criptoanalista

-El criptoanálisis. Naturalmente, lo más emocionante es descifrar los mensajes cuando no se es el receptor legítimo y, por lo tanto, no se dispone de la clave. Poe describe el método para descifrar la scítala en un artículo donde, a demás, presenta desencriptados los criptogramas que le habían enviado sus lectores respondiendo a su desafío. El método para la sustitución monoalfabética lo explica en su cuento «El escarabajo de oro». Básicamente consiste en comparar la frecuencia de los caracteres del mensaje cifrado con la correspondiente a la lengua en la que suponemos que está el mensaje. Por ejemplo, la letra más frecuente en español es la "e"(13%) −como en inglés (12%) y más todavía en francés (16%)− de manera que el carácter más frecuente en un mensaje de este tipo tiende a corresponder a esta letra: cuanto más largo sea el mensaje mejor funciona (como ya mencionamos en un pie de foto). Por ello las cifras polialfabéticas resultan más seguras: en nuestro ejemplo de más arriba, al usar la palabra clave «libro», es como si usáramos cinco cifras monoalfabéticas diferentes, uno por cada letra de la palabra clave, con lo que burlamos la estadística. Las frecuencias en español son las siguientes:

Letras de la más frecuente a la menos:
E, A, O, S, R, I, N, L, D, C, T, U, P, M, Y, Q, G, V, H, F, B, J, Z, K, W, X
Bigramas:
ES, EN, EL, DE, LA, OS, UE, AR, RA, RE, ON, ER, AS, ST, AL, AD, TA, CO, OR
Trigramas:
QUE, EST, ARA, ADO, AQU, CIO, DEL, NTE, EDE, OSA, PER, NEI, IST, SDE
Frecuencia de vocales: 47%

También resulta interesante en criptoanálisis conocer palabras probables del mensaje (nombres, etc. como en el caso que acabamos de enlazar) tener en cuenta la manía de la "q" de hacerse seguir de la "u", las letras que pueden aparecer geminadas, etc. por lo que los emisores suelen despreciar las reglas ortográficas.

Confío en que este resumen no resulte demasiado denso y les sea útil cuando, por ejemplo, hablando de una novela, necesitemos usar estos conceptos.

Las frecuencias están tomadas del libro Códigos sescretos, de Andrea Sgarro (Pirámide 1990). Recomendable es también Breve historia de la criptografía clásica, de José Luis Tábara.

9 comentarios:

Anónimo dijo...

Tu articulo me ha recordado la fascinante historia de la cifra Beale, realidad o ficcción el caso es que lleva mas de 150 años sin descifrarse del todo y promete un cuantioso tesoro al que logre desencriptarla.

Evil Preacher dijo...

Pienso proponer yo también un criptograma en breve, pero sin tesoro. En cuanto al de Beale, si yo lo hubiera descifrado y me hubiera hecho con el tesoro, no creo que se lo dijera a nadie, de manera que si lo resuelves no te extrañe encontrar en su lugar una nota que diga "Felicidades, campeón, has descifrado el enigma; yo lo hice antes que tú y vivo a cuerpo de rey".

Illuminatus dijo...

Lo de los espartanos era singularmente entretenido y demuestra que, lejos de ser una panda de gañanes, poseían una sutileza de lo más griega a la hora de dedicarse al negocio de la guerra.

La verdad es que no soy muy aficionado a la Criptografía, pues me falta la paciencia para meterme en semejantes asuntos. No obstante, me gusta el tema pero me gusta algo más lo relacionado con la escritura parabólica, como en el caso de las cuartetas de Nostradamus y la Revelación de San Juan de Patmos. Algo que podríamos denominar, de alguna forma, criptología contextual.

Ginebra dijo...

Ay! Me ha recordado al cole, que nos pasábamos las horas inventando códigos para cifrar mensajes que luego rulaban por la clase y que la profesora siempre, siempre, conseguía traducir, la muy jodía.

Evil Preacher dijo...

La fama de gañanes de los espartanos seguramente nos ha llegado a través de la predominancia de fuentes atenienses, cualquiera se fía.

Aunque el fascinación de la criptografía es inevitable, lo que hacía a Ginebra y sus amigas inventar cifras, como a todos los niños y la hace aparecer en muchas novelas de aventuras, es cierto que el criptoanálisis es una tarea que puede ser ardua y tediosa y que, en todo caso, demanda paciencia. Espero sin embargo, Illuminatus captar su interés con el que se propondrá en el próximo post.

Anónimo dijo...
Este comentario ha sido eliminado por un administrador del blog.
Anónimo dijo...
Este comentario ha sido eliminado por un administrador del blog.
lycophon dijo...

El tema que tratas aquí es realmente fascinante, un mundo aparte. Me encanta.
No hace mucho descubrí que el abad Tritemio (1462-1516), había compuesto un Ave María sobre la base de un criptograma. Este sistema le permitió, al mismo tiempo, que sus teorías mágicas sobre la concepción de la Virgen circularan entre los más curiosos. Al parecer lo de la criptografía estaba de moda entre los monjes alemanes del Renacimiento.

Evil Preacher dijo...

Sin duda Tritemio es un personaje apasionante: le he dejado en el tintero en este post ya que pretendía hacerlo lo más sucinto posible, aunque vincula la criptografía con una de mis ramas de la literatura fantástica favorita, la teología.