(1.) Codificación (Criptografía) de Clave Pública

applied-cryptographyEl tema de las claves secretas me ha interesado desde crío, y ya entonces escribía textos con jugo de limón, que en teoría debía oscurecerse con la llama de una cerilla. Tambien usaba (¿y quien no?) los codigos de trasposicion b por a, c por b, etc, lo que luego aprendi que era el código de Julio Cesar (quien no lo habia usado nunca, por otra parte)… pero como no tenia nada que decir (poco mas o menos como ahora) no me fue muy util.

Con el tiempo olvidé un poco el asunto, hasta que el trabajar en algun proyecto delicado me llevó a interesarme otra vez por la transmisión “segura” de información. En aquel proyecto usamos esteganografia (que es ocultar un texto dentro de otro) transfiriendo documentos de word embebidos en fotos porno. La gracia era encontrar la foto mas grosera (y mas pesada, que para ocultar un texto de alguno centenar de kilobytes, mejor que tuviera dos o tres megas), tanto que el receptor perdiese el oremus y no acertase con la clave.

Y con eso tocamos la esencia de la criptografia… el intercambio de claves. En general, y hasta 1973, en un documento clasificado de los Servicios de Inteligencia del Reino Unido, o 1978 cuando se hizo publica una investigacion paralela realizada por tres investigadores del MIT, el intercambio de claves era el eslabón débil de la cadena. Cualquier metodo para enviar mensajes cifrados o codificados necesitaba que los interlocutores, tradicionalmente llamados Alice (A) y Bob (B) se transmitiesen las claves, asegurandose al mismo tiempo que las claves no quedasen “comprometidas” porque la tradicional E (Eve, de Eavesdropper) las hubiese obtenido. Si las claves estan comprometidas, no solo el mensaje deja de ser secreto, si no que ademas, Alice y Bob actúan creyendo que el canal es seguro.
62374
Claro que eso no simplifica la tarea de Eve, que puede leer los mensajes, pero si actua de acuerdo con el conocimiento obtenido, probablemente al mismo tiempo esté informando a Bob y a Alice que su clave ha sido descubierta. Durante la Segunda Guerra Mundial algun convoy iba al punto donde el Almirantazgo sabia que le esperaban los submarinos alemanes, porque si le desviaban hubiesen sabido los alemanes que sus claves habian sido descubiertas… pero esa es otra historia, de la que tal vez escriba algun dia.

Hablemos un segundo de claves, y codigos… un codigo no es una clave. Un codigo es un conjunto de frases hechas, con su traduccion, por ejemplo, si digo. “los patos vuelan bajo”, de hecho quiero decir “atacaremos al amanecer”. Los códigos se guardan en Libros de Códigos, tanto mas gruesos como mayor numero de situaciones puedan contemplar… El problema con los codigos es que hay que codificar las posibles situaciones, y probablemente no exista un codigo para indicar : “el General Armada – por decir algo – es un agente doble del Rey”. Simplemente, los codigos estan preparados para lidiar con un numero finito de situaciones.

Las claves, por el contrario, permiten transformar un texto en claro en un texto cifrado (que no encriptado, que es anglicismo). Es decir, se toma un texto, se aplica una funcion que tiene una parte fija (el algoritmo) y una parte variable (la clave), y se obtiene un texto cifrado. El algoritmo y la clave pueden ser numericos, alfabeticos, gráficos… la funcion directa se llama cifrar un texto, y la inversa descifrar un texto (cada vez mas desplazado por encriptar y desencriptar)
workshop-code
Pero, hasta 1978 se mantenia la condicion de que Alice y Bob debian intercambiarse sus claves sin que cayesen en manos de Eve.

Y para evitar comprometer las claves o si se comprometian, que tuviesen una utilidad limitada, las claves se cambiaban a menudo, e incluso podian ser distintas en funcion del destinatario, es decir, el par de claves de Bob y Alice (que podia ser un par de claves, o una unica clave) era distinto del par de claves de Bob y Diana… con lo cual Bob tenia n juegos de claves, tantos como interlocutores distintos, y uno para cada dia, o incluso uno para cada mensaje. Eso es una pesadilla logistica.

Y en 1978 se publicó un estudio sobre la factibilidad teorica de usar un algoritmo que usase dos claves distintas y complementarias, una “clave publica” que podia conocer todo el mundo, y una “clave privada” que permitia la descodificacion del texto codificado con la clave publica. Como decía más arriba, esta posibilidad ya habia sido descubierta por los servicios de inteligencia británicos unos años antes, pero como era información clasificada, nunca se supo, con lo cual el mérito del descubrimiento de este algoritmo va a los que publicaron el documento, aunque se dice que nunca tuvieron acceso a los documentos clasificados, asi que fue realmente un descubrimiento paralelo

En 1983, el MIT patentaba dicho algoritmo, llamado RSA por las iniciales del nombre de cada uno de los tres investigadores que habian publicado el documento original.

(continuará)

Tags: , ,

Leave a Reply

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...