Mostrando las entradas con la etiqueta criptologia. Mostrar todas las entradas
Mostrando las entradas con la etiqueta criptologia. Mostrar todas las entradas

16 junio 2012

Historias chuscas de Arica

Ayer estuve muy ocupado, como nunca. Para colmo en mis clases de criptografía -que iban como avión- me quedé completamente atascado en el capítulo sobre seguridad de los generadores seudo aleatorios: no entiendo nada, que terrible, muchos años que no me pasaba. Pensé que era por el idioma así es que traduje toda la sesión al español y sigo sin entender nada.

Se trata de un asunto muy interesante. Para generar claves de buena calidad se necesita un generador que produzca una larga cadena de ceros y unos pero la condición es que sea totalmente impredecible, o sea que tomando cualquier bit de la cadena no exista manera de calcular el siguiente. Esto que parece sencillo es un lío mayúsculo porque ¿como puede estar seguro que una cadena de números es impredecible?.

En la práctica se parte con una "semilla" una cadena corta de números al azar que se pueden obtener de una señal de ruido, del movimiento del mouse, etc. De esa manera se consigue una secuencia de -digamos- unos 128 bits generados al azar, luego con esa "semilla" se alimenta un generador que la expande creando una cadena enorme -por ejemplo de 1 Gb de largo- El problema es si la cadena que entrega el generador es al azar o no. Este proceso de expandir una semilla al azar para convertirla en una cadena mucho más grande también al azar, se llama "generador seudo aleatorio".

¿Que significa al azar? que la probabilidad que aparezca un 1 o un 0 en cualquier posición de la cadena es muy cercana a 0.5, o sea que existan -más o menos- tantos unos como ceros y además que no existan "patrones" o secuencias que se repiten o que de alguna manera se puedan predecir.

Esto que parece tan sencillo muestra una de las mayores complicaciones que le veo a la criptografía: se trata de probar matemáticamente, en general, que si tenemos un algoritmo (procedimiento) C, que genera una salida que no conocemos (la cadena al azar de 1 Gb), no existe ninguna manera de predecir su salida usando estadísticas.

Demostrar que algo es imposible con ningún procedimiento, incluso con procedimientos que no conocemos no es sencillo, hay que demostrar si es imposible o no, por principio "romper el generador". Esta es una prueba clave para evaluar la seguridad de un sistema porque obviamente si podemos predecirlo no es seguro. Entonces el capítulo donde estoy atascado describe dos conceptos que no puedo entender: las pruebas estadísticas de predictabilidad y el concepto de "ventaja".

La conclusión es que no existen pruebas seguras ni generadores seguros, pero si algunos métodos son "heuristicos" y permiten obtener pruebas de seguridad. Lo único que entiendo es que si hay un épsilon "significativo" que permita predecir con ventaja superior a 1/2 la prueba puede romper al generador. Ahi es donde estoy pegado, no hay caso, le he dado 500 vueltas y no avanzo nada. En fin, la seguiré dando vuelta.

Ah, ahora vi el video y lo entiendo un poco mejor. Tengo problemas con la notación estadística, creo que por eso me enredo tanto y me costó seguir esta sesión, hace años que dejé de usar funciones y tengo el cerebro atrofiado para abstracciones de cualquier clase.

Pasando a otros temas, el año sin invierno sigue su curso, mientras en el centro y sur de Chile se mueren de frio, en Arica no hemos tenido un solo día helado y si la cosa sigue igual solo tendremos julio y agosto para usar manga larga. ¡Que gran cosa es el calentamiento global! que se derritan los polos, me da lo mismo. Total, mi casa está a unos 50 metros de altura.

Los ministros de la Corte de Apelaciones que resolvieron sobre la libertad de los concejales municipales no se dieron cuenta que estaban tomando la medida más estúpida posible al prohibirles acercarse a la municipalidad "para que no ocultaran pruebas" según la fiscalía. Resulta que gracias a esta medida, el alcalde subrogante, de la mayor confianza del ex-alcalde preso, ha tenido la municipalidad a su disposición todo este tiempo.

Me imagino como habrán funcionado las fogatas y los picapapeles el mes pasado. Lo que está más o menos claro, a mi modo de ver, es que el ex alcalde Sankan y el concejal Araya eran parte de una asociación para delinquir, orquestada por el Sr. Frias con el apoyo de los funcionarios municipales que quedaron presos. Ellos están en la cárcel porque de las escucha la corte estimó que hay suficientes indicios para presumir que tenían una asociación ilícita.

Muy distinto es el caso de los concejales, a los que se acusa que fueron sobornados para votar a favor de esta asociación ilícita sin ser parte de ella. De las conversaciones telefónicas aparece clara la impresión que los concejales aceptaron soborno, ofrecido por el concejal Araya y el diputado Vargas, pero no eran parte de la asociación ilícita. Esa es la impresión que me hice yo y probablemente cualquiera que escuche las conversaciones.

Al prohibir que los concejales se acerquen a la municipalidad esto les impediría sesionar, aunque yo no veo por que razón porque deberían poder sesionar donde se les antoje convocarse, pero algún impedimento debe haber. Como consecuencia con esta medida los jueces facilitaron que el alcalde subrogante se aperne en el puesto y consiguieron exactamente lo contrario de lo que pretendía la fiscalía: en lugar de evitar que se destruyan evidencias lo facilitaron.

Para seguir con la charada el contralor nacional instruyó al contralor regional -el mismo que ejerció durante todos los escándalos así es que no debe estar muy desinformado sobre el asunto- a que "interviniera" el concejo "vigilando" las actuaciones del alcalde subrogante.

Todo esto tiene un poco de comedia y otro poco de farsa: la actuación de los fiscales, de la primera jueza de garantía, de los ministros de apelaciones y ahora de la contraloría. Creo que cuando se destape todo, cosa que seguramente va a ocurrir en varios años más, este quedará como uno de los episodios más chuscos de la historia de la ciudad y si yo no he estirado la pata para entonces, podré agregar otro capítulo a mi diccionario de curiosidades de Arica.

Por mientras circulan por la ciudad miles de panfletos con una foto del alcalde subrogante, en mangas de camisa y con la chaqueta al hombro, que dicen "Osvando Abdala: Municipales 2012", mientras asegura en el diario que no es candidato. Bueno, en política no existe la verguenza dicen. Yo no soy nadie para dar consejos, pero si estuviera en el lugar del alcalde subrogante renunciaría y me iría para la casa. O por lo menos cambiaría la foto de la propaganda porque se parece mucho a la otra, en fin otro episodio chusco para mi colección de curiosidades.

22 abril 2011

Clave pública para dummies


Antes que se enfríe el tema de la criptología, aprovecharé de agregar algunas cosas que se me estaban olvidando. El asunto es apasionante y no quiero entusiasmarme, ni sacar explicaciones largas o complicadas que ni yo mismo entiendo, sino mejor poner las ideas que hay detrás de todo el enredo.

La criptografía se dedica a las comunicaciones secretas que se transportan por un medio inseguro, o sea tengo un mensaje que se lo quiero transmitir a otra persona, ese mensaje lo pueden ver muchas personas pero solo el que yo escoja conocerá lo que yo le quise transmitir. Nadie más le verá sentido aunque lo tengan en sus manos para analizarlo como quieran. Ojo que aquí hablo de mensaje y comunicación, dos conceptos más restringidos que la información porque aquí existe un contenido semántico (significado) que si importa.

Hay muchas formas de lograr esto pero en general Shannon en su artículo identifica tres: esconder la información con significado dentro de otra con distinto significado (concealment systems), el clásico ejemplo eran los espías de la guerra fría donde el emisor y receptor tenían el mismo libro de muchas palabras (La Guerra y la Paz por ejemplo), entonces para escribir el mensaje indicaban cada palabra con tres números: la página, la fila y el lugar en la fila del libro donde esa palabra se encontraba.

En este caso si conocemos el método que están usando, la clave (key) será saber cual es el libro que están usando. Si sabemos el método y el nombre del libro no cuesta nada descifrar el mensaje secreto. Hay varios otros ejemplo como por ejemplo cuando se oculta un mensaje dentro de una imagen (esteganografía), etc. Todos estos métodos se llaman de clave simétrica, porque el que envía y el que recibe deben compartir la misma clave.

Otra familia de métodos es la que Shannon llamaba "privacy systems" que consistía en hacer alguna clase de transformación tecnológica al mensaje que solo fuese conocida por las dos partes, como por ejemplo invertir la voz o enredarla mediante "scramblers" electrónicos. En este caso el secreto (key) estaba en el método, bastaba conocer el método, se hace una máquina para revertirlo y listo.

Habrán notado que estos dos métodos dependen de que ambas partes compartan un mismo secreto, el problema es como se comunican cual es el secreto, o sea cuando deben mandar la clave por el mismo canal inseguro. Si se pueden juntar cara a cara se dicen la clave al oído (o bajo la "campana del silencio" de Maxwell Smart)no habría problema, pero lo normal es que no se puedan juntar personalmente ¿como se transmiten la clave de manera segura? No hay forma si usan una clave simétrica como las descritas.

El tercer método es el que Shannon llama "true secrecy system" que supone que el enemigo puede interceptar el mensaje, pero le resulta imposible de entender aún cuando conoce que sistema se ha usado para encriptarlo, depende completamente de conocer la clave (key) que no es el método como en los casos anteriores sino que otro mensaje mas corto que permite abrir al encriptado aplicando alguna transformación matemática.

Shannon vuelve al problema de la clave simétrica y dice que debe ser "transmitida por un canal no interceptable" (imposible porque ya definimos un medio inseguro, si hubiese un canal no interceptable no necesitamos encriptar). El intercambio de claves fue el mayor problema de la criptografía durante siglos.

La famosa máquina Enigma de los nazis producía encriptación tan complicada porque cada vez que escribía la transposición de la letra era distinta, o sea cada letra de cada mensaje usaba un método diferente. Leo en este entretenido artículo que la máquina se vendía como una curiosidad en Berlin a 144 dólares cada una, fue inventada por el ingeniero Arthur Sherbius y muchas fueron compradas y operadas por el Ejército Argentino antes de la Segunda Guerra.

EL Servicio Secreto polaco compró algunas antes de que Polonia fuese invadida y construyeron las primeras máquinas capaces de romper ese código llamadas "bombas polacas", luego de la invasión los criptógrafos polacos se fueron a trabajar a Inglaterra donde finalmente quebraron el código de las enigamas mucho más complicadas que se construyeron durante la guerra.

Como siempre el punto débil era intercambiar la clave, las máquinas Enigma venían con un libro con las claves que deberían usar cada día, a veces cambiaban más de una clave por día pero ese era el talón de Aquiles del sistema: si se recolectaban muchos mensajes enviados un mismo día había material para que los criptoanalistas dedujeran las claves y pudiesen romper el código.

El problema de la clave simétrica recién se vino a resover en 1976 cuando Diffie y Hellman publicaron su artículo New Directions in Criptography que dio origen a la criptografía asimétrica o de clave pública.

Es de esas ideas que uno se pregunta como antes no se le había ocurrido a nadie: el receptor y emisor tienen dos claves cada uno, una privada y una pública. Para encriptar y desencriptar se usan las dos claves combinadas igual que una caja fuerte que se abre solo cuando se usan dos llaves simultáneamente. Como las claves públicas por si solas no sirven para nada, las puedo publicar en el diario, mandar por correo, etc. sin problema.

Para encriptar mi mensaje uso mi clave privada y la clave publica del destinatario, para abrirlo la otra parte usa mi clave pública y su clave privada ¡ya no existe el problema de intercambiar una clave secreta!

Y para tener acceso a nuestra clave privada, que está bien guardada en algún lado de mi equipo, debo usar un password que solo yo conozco y no necesito decir a nadie, ni siquiera al destinatario de mi mensaje. Que ingenioso ¿no?. En la imagen se muestra como funciona el sistema, las dos claves (privada y pública) que se muestran en rojo y verde son las de Bob y el enemigo es Eve, que pese a tener el mensaje y las claves públicas de ambos no tiene modo de saber el secreto del mensaje, por ejemplo si le están poniendo los cuernos.

En fin, el tema da para largo pero lo que me interesaba contar era el problema de comunicarse la clave y como lo resolvió el sistema de cifrado asimetrico. Hasta mañana