18 abril 2011

Criptología para dummies

La criptología está relacionada, hasta cierto punto, con la Teoría de la Información. De hecho Claude Shannon también escribió un artículo fundamental que se llamaba A Communications Theory of Secrecy que dio las bases de la moderna criptología matemática.

Se trata de esconder el significado de un mensaje (criptografía) o bien descubrir el significado de un mensaje escondido (criptoanálisis). Hace varios años trabajé (puaj) en un tema relacionado con eso, he escrito manuales básicos y cosas por el estilo. Incluso mi primera (y única!) cita en publicación indexada fue por un curso que escribí en Internet.

Pero en este Templo del Ocio solo quiero comentar los aspectos que son curiosos y la historia de este asunto que es bien entretenida.

Uno de los sistemas más antiguos de ocultar un mensaje que se conocen es la Clave César que consistía simplemente en desplazar las letras. Por ejemplo si en la palabra "hola" (texto claro) desplazo las letras un lugar adelante, o sea la a la reemplazo por b, la b por c y etc. me quedaría "ipmb" (encriptado). En Usenet todavía usamos ROT 13 por ejemplo, que consiste en correr 13 lugares las letras para mandar un texto que lo entiendan solo los que usan el sistema.

Claro que ese es un sistema trivial para desencriptar, basta con tomar cualquier palabra del texto y probar los 26 posibles desplazamientos (las letras del alfabeto menos una) y teniendo el número en que se desplazan el encriptado se va al diablo.

A partir de esa idea básica se creó una enorme familia de métodos llamados de trasposición, que consisten en cambiar una letra por otra según alguna operación secreta. Otra familia de métodos se basa en la sustitución que consiste en cambiar los significados. Durante muchos años los mensajes se encriptaban con una combinación de estos dos métodos.

Para romper un cifrado, o sea descubrir el significado sin saber que método se usó para encriptar, normalmente se usaba análisis estadístico: cada idioma tiene letras y palabras que se repiten según cierta frecuencia y de ese modo ir descubriendo el significado oculto.

Esto se combatió cambiando las transposiciones y sustituciones en cada uno de los mensajes, o sea en cada mensaje se usaba un "método" distinto, ese era el principio que usaba la máquina Enigma de los nazis durante la Segunda Guerra Mundial. Pero finalmente igual la descifraron, gracias al trabajo conjunto de algunas máquinas capturadas, espías que revelaron algunas claves y un complicado trabajo de criptoanálisis donde destacó Alan Turing.

Enigma fue la primera vez que se usó una máquina de calcular compleja que cambiaba todo en cada mensaje así es que no dejaba un patrón, método o huella para descifrar y durante la guerra trabajaron los mejores matemáticos de la época y miles de horas de los primeros computadores hasta que pudieron romper el código antes de la invasión de Normandía. Tal vez no sería exageración decir que los matemáticos ganaron la guerra porque desde entonces los aliados siempre anduvieron varios pasos adelante de los nazis.

Pero todos esos métodos tenían una debilidad fundamental: estaban basados en algún método o procedimiento secreto, se descubría el procedimiento y adiós secreto. Entonces apareció el trabajo de Shannon el año 1949.

Después de la guerra Shannon escribe su artículo que cambia todo el curso de la criptología. Primero pasa revista a los diferentes métodos y sus problemas pero en lugar de proponer un método nuevo lo que presenta es una teoría matemática, con teoremas y todo, caracterizando el problema general de los sistemas de encriptación.

Entonces llegó a varias conclusiones fundamentales, que hoy nos parecen obvias como todos los grandes descubrimientos. Por ejemplo concluyó que cualquier cifrado que exista puede romperse con un ataque de fuerza bruta, o sea probando todas las combinaciones posibles sin ningún tipo de análisis. Cuando escribió eso era imposible desencriptar por fuerza bruta pero hoy, con los computadores modernos es el sistema que más se usa.

Toda esta teoría de Shannon dio nacimiento a la criptología moderna que ya no se basa en secretos sino que en métodos conocidos por todos pero que no tienen solución matemática conocida, como por ejemplo la factorización de grandes números. Un enorme aporte de Rivest, Shamir y Adleman fue cuando desarrollaron el primer sistema de clave pública RSA.

Hasta los años 70 los métodos de encriptación estaban al nivel de los secretos nucleares y el que revelara uno tenía asegurada la cadena perpetua. Hasta que Phill Zimmermann se atrevió y liberó al público el Pretty Good Privacy, PGP, que fue durante varios años el sistema de encriptación para las masas.

La teoría de Shannon había dado sus frutos y ahora los super espías del recontra espionaje y las personas comunes usamos prácticamente los mismos métodos que además son relativamente sencillos y ampliamente conocidos. Por ejemplo en la foto está mi clave pública de PGP que usaba hace varios años atrás

Hay tantas cosas interesantes de la criptología, por ejemplo el MD5 que produce un bloque de 128 bits que es único para archivos de cualquier tamaño (aunque ya le han encontrado colisiones por fuerza bruta), o la posibilidad de firmar, o autentificar archivos digitales usando MD5. En fin, si sigo escribiendo de esto no termino nunca.

Me imagino que las investigaciones genéticas deben haber usado las mismas técnicas para romper códigos que en la criptografía, dentro de mi ignorancia me parece que es un problema bien similar: una enorme secuencia a la que hay que extraer el significado.

En fin, esta debe ser una de las entradas más aburridas de leer, pero de las más entretenidas para escribir por mi parte. A ver si mañana se me ocurre algo más interesante.

P.D. Que bonito el postscript de Jiejun Kong al final del artículo de Shannon, en parte dice así:

"Muchos papers mueren antes que sus autores. Sin embargo otros papers serán releídos y referidos hasta que lleguen a ser parte de nuestra vida y de esa manera viven por siempre.
Claude Ellwood Shannon murió el sábado 24 de febrero del 2001 en el Courtyard Nursing Care Center de Medford, Massachusetts. El tenía 84 años y aunque el dejó este mundo creo que este paper clásico Communication Theory of Secrecy Systems sigue con nosotros"...etc.

19 comentarios:

  1. Bah! Yo he quedado fascinada con este post y lo he estado leyendo de a pedazos como degustando un buen vino ;)
    Cheers!

    ResponderBorrar
  2. No es un tema popular Lilian pero es super interesante. Fíjate que ningún servicio de correo gratis por ejemplo (Gmail, yahoo, hotmail, etc.) ofrece encriptación automática y nos obliga a mandar y dejar almacenados en sus servidores el texto plano de todos los mail que mandamos. Imagínate como será la base de datos de Gmail en estos momentos, con todos los mail que se han mandado INDEXADOS (cuando uno empieza a usar el servicio da permiso para que los indexen).

    Es como mandar cartas en un sobre abierto, no costaría nada cerrarlo pero probablemente las empresas que ofrecen mail gratis ahi tienen el gran negocio.

    ResponderBorrar
  3. "Wffqreqr
    eqrfgerfewq
    rfweqrfqerfgqerfqerfqew
    fwfqwerfqwfwqer
    fwwqerfqwerfw46hjyibgve
    ukjhgfdtyj5rew6786543214354324235

    35t3t3t53t45t45tg5..."

    Y eso sería solo para comenzar a conversar no más, guachito...

    ResponderBorrar
  4. ¡Pero Sergio hombre, tu no necesitas encriptar! lo que escribes normal ya va encriptado, ni Alan Turing lo decifra!!! jaja solo bromeo compañero. Saludazos.

    ResponderBorrar
  5. [Con un aire algo resignado y encogiéndome de hombros...] "6t6t6gy7gy7..."

    ResponderBorrar
  6. Ahora estoy enfrentando un problema de criptología. El famoso formulario 22 me está volviendo loco. Los de impuestos internos algo que debería ser simple lo transformaron en algo completamente incomprensible y cada año parece que lo complicaran más. Ojalá que antes de fin de mes lo haya descifrado.

    ResponderBorrar
  7. Sergio, no te preocupesporque son solo bromas

    vthny gr ragvraqb pbzb ha 3% qrorevnf cbfghyne n yn AFN!

    (Aplica ROT 13)

    Anónimo, eso se llama "confusopolio" lo hacen para que aceptes a ojos cerrados su "propuesta" ¿no te pasa lo mismo al leer una factura del "triple pack" de VTR o similar? ¡todo calza pollo!

    ResponderBorrar
  8. En cuanto a criptologia... Tu sabes que el espionaje industrial es grande asi es que en mi empresa casi todo esta 'encriptado'. Pero, llevar laptops a Francia en viajes de negocios esta prohibido. Pregunte el motivo y me dijeron que era porque alla abren todos los programas encriptados? No me pudieron dar mas informacion o detalles, pero encontre raro este asunto...

    ResponderBorrar
  9. Super entretenido y comprensible, ojala insistas no mas en el tema.

    ResponderBorrar
  10. Sin duda Lilian, por eso al PGP le pusieron "pretty good" privacy y no "absolute" privacy.

    En el paper de Shannon uno de los teoremas (o proposiciones, no recuerdo en este momento) es que es teóricamente imposible un cifrado que no se pueda abrir, la seguridad de la encriptación es siempre "física" en el sentido que toma una cantidad enorme de tiempo y de recursos computacionales abrir un código pero SIEMPRE se puede, por definición.

    Por ejemplo el algoritmo RSA que usa el PGP es vuknerable a ataques de fuerza bruta y se han quebrado claves conmuchos equipos trabajando en paralelo. O sea el PGP puede ser seguro contra la gente común pero no si toman tu notebook gente con recursos de un gobierno grande por ejemploo e la NSA.

    Muchos de los algoritmos que se creen seguros se sospecha que pueden estar quebrados y se ofrecen premios cash al que logre quebrarlo, pero dentro de los gobiernos los que saben no hablan y los que hablan no saben.

    Tanto el PGP, el True Crypt (que uso yo) y los demás son claves de "grado militar" pero no hay completa garantía de que no puedan abrirse.

    Ni siquiera borrar sirve, incluso si borras o sobreescribes cientos de veces un disco duro todo lo que alguna vez almacenaste puede ser recuperado.

    ResponderBorrar
  11. Ah Wilson, a ver si más adelante coloco algo sobre clave pública y otras cosas por el estilo. Claro que en el futuro para no dar tanta lata con cosas técnicas.

    ResponderBorrar
  12. Lo curioso respecto a los algoritmos de seguridad modernos es que son bien conocidos por todos, o sea no hay ningún secreto aparte que nadie ha encontrado todavía la solución matemática, por ejemplo, de la factorización de dos números enormes que es uno de los métodos que se usan.

    Son bastante sencillos y no tienen matemáticas avanzadas ni nada, lo entretenido es que mientras más gente los conoce son más seguros porque trabajan con el ego de las personas: el que pueda resolver analíticamente el problema de la factorización por ejemplo se convertiría en el matemático más famoso de la historia moderna así es que es muy difícil que se coma el ego y se guarde el secreto.

    ResponderBorrar
  13. Fascinante este asunto, Tomas! Con respecto a lo que dices de los discos duros y a que toda la informacion se queda en ellos, eso lo aprendi cuando vino la policia a buscar a uno de nuestros tipos de IT (computer support). El habia estado trabajando en mi edificio alrededor de un agno. No mas de 30 agnos, su presencia estilo 'gotico' era extragna pero al mismo tiempo disculpable por ser de IT y no business ;-) Vino el FBI a buscarlo y se llevaron su computador. A los pocos dias nos enteramos que el cargo era Pornografia Infantil y que ya hace tiempo le seguien la pista. Dicen que enconraron miles de material acusatorio en dos computadores de su uso que solo fueron visibles despues de trabajar con el disco duro. Por lo menos eso es lo que me conto su compagnero de oficina...

    ResponderBorrar
  14. Imagínate, trabajando en IT y no supo cubrir sus huellas, bien preso por tonto.

    Bebió haber utilizado un anonimizador para navegar (onion, IP Privacy o algo por el estilo) y guardar directamente en un volumen encriptado sin pasar por C:

    Podría hacer consultoría a los pedófilos, demás.

    ResponderBorrar
  15. Dificil que no haya tomado los pasos que mencionas, pero yo creo que el FBI es "capo", pero en realidad no conozco los jugosos detalles...

    ResponderBorrar
  16. Yo creo que todavía se puede tener bastante confidencialidad (pretty good como decia Zimmerman) en ese tipo de cosas. Casi podría asegurar que ni el FBI ni ninguna policía en el mundo en un caso criminal tiene los recursos para abrir un archivo encriptado con los algoritmos actuales y una clave de tamaño medio o grande. Incluso para una corporación multimillonaria sería muy difícil de lograr.

    Un gobierno poniendo todos sus recurso ya es otra cosa, pero eso es para archivos que son de vida o muerte, muy pocos deben tener acceso a quebrar un código bien encriptado (si es que alguno puede, son solo suposiciones).

    La mayoría de las veces la gente de IT o entrenada en seguridad es la más descuidada -personalmente- en esas cosas, hay casos emblemáticos comogente del MI-6 que ha perdido sus laptop en un bar repletos de información en texto claro, o el comandante de las FARC que mataron en Ecuador y que tenia absolutamente todo en texto claro (hasta algunos ariqueños pasaron susto cuando se incautaron esos equipos!).

    Los problemas más comunes de inseguridad son por descuido humano,igual que los accidentes de auto.

    ResponderBorrar
  17. Si, estoy de acuerdo...

    ResponderBorrar
  18. Fíjate que pasa algo parecido con los electrónicos que no les funciona la tele, los mecánicos que andan siempre con el auto malo, los carabineros que los pillan manejando con la caña ¡en casa de herrero cuchillo de palo! jaja

    ResponderBorrar

"Send me a postcard, drop me a line
Stating point of view
Indicate precisely what you mean to say
Yours sincerely, wasting away
Give me your answer, fill in a form
Mine for evermore
Will you still need me, will you still feed me
When I'm sixty-four"