Click para ir al número anterior

ANTERIOR

EL CUENTOMETRO DE MORT CINDER

SIGUIENTE

Click para ir al número siguiente

1235 • CRIPTOGRAFÍA

 

Jueves, 8 de diciembre de 2005

Al índice

Click para ir al índice

 

El gran valor de la escritura es la universalización del acceso al conocimiento, pero a la vez, es su gran debilidad cuando la información escrita quiere ser de carácter confidencial. Lo primero que inventamos para evitar que un mensaje llegase a ojos no deseados fue la esteganografía, consistente en ocultar el mensaje a las miradas curiosas, como cuando escribían el texto en la cabeza rapada del mensajero y esperaban a que le creciese el pelo.

Sin embargo, pronto se vio que los métodos de ocultación tenían el gran inconveniente de que una vez el engaño era descubierto el mensaje quedaba completamente expuesto. Por eso surgió la criptografía, arte de escribir con clave secreta, que consiste en ocultar no el mensaje en sí, sino el significado. De esta manera, aunque el mensaje fuese interceptado, su contenido estaría a salvo. Hay muchos sistemas de encriptar, los clásicos pueden clasificarse en sistemas de transposición y de sustitución, siendo estos últimos de dos tipos: códigos y cifrados.

En la transposición el significado se oculta cambiando el orden de las letras del mensaje. Por ejemplo, podemos tomar primero las letras que ocupan posiciones pares y después escribir las impares. Así, la frase "voy mañana" se convertiría en "o aaavymñn".

En la sustitución la idea es sustituir los elementos del texto original por otros que formen el texto encriptado. Si lo que se sustituyen son las letras se llama cifrado, mientras que si lo que se sustituyen son palabras o expresiones enteras, se llama código.

Un ejemplo de cifrado es el que utilizó Julio César para comunicarse con sus oficiales, que consiste en sustituir cada letra del mensaje por la que está n posiciones más adelante o mas atrás en el alfabeto. Si n=3, la A se sustituye por la D, la B por la E y así sucesivamente. Así, la palabra "voy" se transforma en "yrb". Se puede distinguir aquí entre el algoritmo, que es la regla por la cual cambiamos una letra por otra que está n posiciones adelante y la clave que es el valor concreto que toma n.

Lo malo de este sistema es que solo permite 27 sustituciones distintas (tantas como letras tiene el alfabeto), con lo que su descifrado es trivial. Para complicar un poco la cosa se puede utilizar, en vez de una cifra, dos, o más. Así, si la clave es 31, se sustituye la primer letra por la que está 3 posiciones adelante, la segunda por la que esta 1posición más avanzada, la tercera por la que esté 3 posiciones por delante, la cuarta por la que está 1 posición, y así sucesivamente.

Otro cifrado es la sustitución monoalfabética donde a cada signo del alfabeto se le asigna uno distinto, que puede ser letra, número, puntuación, etc. Aquí lo mejor es que el cambio sea completamente aleatorio, pero esto obliga a conocer la tabla completa. Una alternativa es utilizar una clave para formar las equivalencias. Por ejemplo, si la clave es "voy" la V sustituye a la A; la O a la B; la Y a la C y a continuación Z por D y el resto de los signos en su orden habitual sin repetir los utilizados en la clave.

Tales sistemas parecen eficientes, pero son fáciles de descifrar con el análisis de frecuencias, desarrollado por los árabes cuando buscaban la frecuencia con la que ciertas palabras aparecían en el Corán para dilucidar la cronología de las palabras del Profeta. La idea fundamental es que no todas las letras aparecen con la misma frecuencia en los textos, sino que algunas aparecen más a menudo que otras. Contando las signos del texto cifrado y ordenándolos de mayor a menor frecuencia podemos establecer conjeturas acerca de qué letra corresponde a cada signo. El análisis se completa con la búsqueda de palabras frecuentes como artículos y preposiciones. Si además conocemos o sospechamos de alguna palabra que deba aparecer en el mensaje, mejor que mejor.

Ejemplos de este tipo de análisis los encontramos en el cuento "El escarabajo de oro" de E. A. Poe y en "La aventura de los bailarines" de C. Doyle. En este último, el criptoanalista es el mismísimo Sherlock Holmes, y se caracteriza porque las letras del texto se sustituyeron por muñequitos danzantes.

Para evitar el análisis de frecuencias se incluyeron caracteres nulos que no se traducían por nada, o también errores premeditados en el deletreado de las palabras para confundir al criptoanalista. Una mejora importante fue el cifrado de sustitución homofónico, en el que cada letra se sustituye por varios caracteres distintos en cantidad proporcional a su uso, de modo que si una letra se usa el doble de veces que otra, la primera será sustituida por el doble de caracteres que la segunda. De esta manera el análisis de frecuencias queda anulado.

León Alberti propuso usar más de un alfabeto para encriptar cada mensaje. Luego Vigenère desarrollaría esta idea hasta dar con un nuevo método, al que llamaron La cifra indescifrable. La idea es sencilla: se hace una tabla con tantas filas y columnas como letras y en cada fila se escribe un alfabeto completo que empieza precisamente con esa letra. El cifrado se hace así: si la clave es CAB, el texto a traducir se obtendrá buscando la equivalencia de la primer letra en la fila que empieza por C, la segunda en la que empieza por A, la tercera en la empieza por B y repitiendo el proceso para cada letra del texto. Obsérvese que en este sistema la misma letra puede transformarse en letras distintas. Esta técnica es inmune al ataque por análisis de frecuencias y fue considerada indescifrable durante mucho tiempo. Sin embargo, Charles Babbage, uno de los padres de la informática, fue capaz de romperla al encontrar que si la clave tenía n letras, el cifrado se repetía cada n letras.

Una variación del cifrado de Vigenère consiste en utilizar una clave tan larga como el propio mensaje para evitar su carácter cíclico. Pero también se puede romper: su debilidad estriba en la utilización de claves con significado, lo que permite tener una idea de cuándo la intuición de uno va por buen camino.

La forma de resolver este problema es evidente: en vez de utilizar claves con significado hay que utilizar claves aleatorias de un solo uso. Si emisor y receptor tiene ambos un cuaderno de claves común, podrán cifrar y descifrar los mensajes utilizarán las sucesivas claves contenidas en cada una de las hojas del cuaderno. Así surgió en la segunda década del siglo XX el "cifrado con cuaderno de claves de un solo uso" que ofrece por primera vez un sistema seguro. Pero el sistema tiene dos cuestiones importantes. Por un lado, si las necesidades criptográficas son grandes, es decir, si es mucha la cantidad de información que hay que proteger, generar claves aleatorias suficientes supone un coste muy elevado. Por otro, y este ha sido el gran problema de la criptografía a lo largo de su historia, está el problema de la distribución de las claves ya que para poder compartir un mensaje, es necesario tener previamente un secreto compartido: la clave. Pero si aquel que no queremos que capture nuestros mensajes se hace con el cuaderno de claves será mucho peor que si no hubiésemos encriptado en absoluto, porque nosotros creeremos que estamos comunicándonos en secreto cuando no es así.

Con la Segunda Guerra Mundial la criptografía se mecaniza. Máquinas como Enigma proporcionan códigos segurísimos que máquinas como la Bomba de Turing se encargan de descifrar. De hecho, una de estas máquinas, Colossus, es considerada el primer ordenador moderno. El problema central seguía siendo el mismo: la distribución de claves, o cómo transmitir la clave sin que ésta sea interceptada. Este problema hoy está resuelto con una idea genial: el uso de claves asimétricas... Pero eso es otra historia

Extractado de un artículo de A. de los Santos
Colaboración Epsilones