Criptografia o el arte de compartir secretos

La única forma segura, al cien por cien, de preservar un secreto es que no se lo digas nunca a nadie. A partir de aquí este tanto por ciento empieza decrecer. Algo que seguramente acabará sucediendo, porque por alguna misteriosa razón los secretos adquieren vida propia en el momento en que alcanzan la categoría de secreto. Y es una vida saltarina, que lo único que quiere es poder ir de un sitio a otro para ampliar su entorno de convivencia. Para proteger un secreto lo que se hace es encriptarlo, de manera que sólo tengan acceso a él aquellos que conocen la clave. Y la clave, como no, es también en si misma un secreto. Hace ya algunos años, a raíz de la informatización masiva de la sociedad actual, que la criptografía ha dejado de ser una herramienta de uso exclusivo militar o diplomático para convertirse en una herramienta imprescindible en numerosos sectores de la sociedad civil. Las entidades bancarias necesitan proteger sus datos; los usuarios de telefonía móvil exigen que sus conversaciones no sean escuchadas; los datos estadísticos, de sanidad o del censo electoral, deben mantener la privacidad de los usuarios; las tarjetas de crédito o los accesos a redes locales de ordenadores demandan un password personal y no falta mucho para que un «notario electrónico» haga uso de una autenticación digital para certificar determinadas transacciones.
Todo ello está requiriendo un uso masivo y especializado de la criptografía. Sin saberlo, o sabiéndolo, vivimos inmersos en un mundo de secretos, mejor o peor protegidos.
En la moderna criptografía, todo el proceso de encriptación está informatizado y sus mecanismos se encuentran en el interior de pequeños chips, de forma que el usuario no tiene más que escribir su texto en el ordenador y éste se encarga de hacer el resto. Dos son los tipos fundamentales de claves que se utilizan en estos programas, las claves simétricas o privadas y las asimétricas o públicas.

La clave simétrica
Un sistema de clave privada o simétrica es aquel que utiliza la misma clave para el cifrado y el descifrado del mensaje. Por ejemplo, en el método «César», hay que sumar tres letras para encriptar y restar también tres para desencriptar, operaciones inversas una de la otra, pero con una misma clave. La ventaja de este método es que, dada su rapidez, es muy práctico para codificar grandes volúmenes de información. Sin embargo, su gran inconveniente es la distribución de claves: cuando se utiliza siempre un mismo canal de comunicación se hace necesario, como medida de seguridad, cambiar con cierta frecuencia las claves, lo que supone distribuir nuevas claves, bien sea por el mismo canal de comunicación o por un sistema de mensajería, lo cual significa, tanto en un sistema como en el otro, una nueva fuente de inseguridad para el sistema. El segundo inconveniente es el de la autenticación: queremos estar seguros de la identidad del emisor, de forma que si alguien consigue descifrar la clave no nos haga llegar mensajes falsos haciéndose pasar por quien no es.

La clave asimétrica
En 1975, W. Diffie y M. Helman, de la universidad de Stanford, desarrollaron la idea de los cifrados asimétricos o de clave pública, un sistema basado en determinadas funciones matemáticas, llamadas de una sola dirección o funciones con trampa, que hacen posible el cifrado, pero virtualmente imposible el descifrado si no se conoce la clave. La idea es que cada usuario posea un par de claves, una pública y otra privada. Si quiero enviar un mensaje a Juan, encripto el mensaje según la clave de Juan, que es pública, en el sentido de que cualquiera puede conocerla, pero sólo Juan, con su clave privada, la puede descifrar. Entre otras, una de las ventajas de este método es que la clave secreta de Juan, la privada, nunca circula por los medios de comunicación y, por tanto, no es necesario renovarla constantemente.

Veamos cómo funciona la clave pública.
Cuando Alicia quiere enviar un documento a Bob, acude a la página web donde se encuentran las claves públicas, que viene a ser como un llavero
del que cuelgan las correspondientes llaves. Toma la de Bob y encripta el documento. Es como si metiera el documento en una caja y lo cerrara con
una llave especial (la verde), que tiene la característica de que cierra, pero no abre. A partir de este momento, el documento sólo se podrá abrir con la llave roja de Bob, que es secreta y sólo la tiene él.

 

Los fundamentos matemáticos
Existen varios algoritmos (métodos matemáticos) que permiten el uso de una clave pública. El más difundido es el que se conoce por las siglas RSA, que fue desarrollado por Rivest, Shamir y Adleman en 1977, y se basa en la dificultad que existe para factorizar un número como producto de dos primos. Recordemos que un número primo es aquel que sólo es divisible por sí mismo y por la unidad, como 3, 5, 7, 11, etc. Si tomamos dos de estos números, por ejemplo 7 y 19, y los multiplicamos, el producto, 133, constituye la clave pública, y los números 7 y 19, la clave privada. Está claro que cuanto más grande sea el número, más difícil será encontrar los dos números primos que lo componen. En el caso del 527, habremos de hacer más pruebas (en este caso, los números son 17 y 31). Se puede decir, simplificando las cosas, que alguien puede romper la clave si es capaz de dar con los dos números primos en cuestión. Es decir, que si en este sistema criptográfico la clave conocida por todos es 22, quien sea capaz de averiguar que 22 = 2·11 ha roto la clave.
Evidentemente, los números que componen este tipo de claves no son tan simples. En los ejemplos hemos estado utilizando números de dos o tres cifras,
pero en la criptografía de clave pública se utilizan números de cientos o miles de cifras, ya que cuantas más cifras contenga el sistema, más robusto será frente a un ataque, aunque también tiene el inconveniente de que el proceso de desencriptado es más lento.

 

La mayoría de las claves asimétricas se construyen utilizando funciones matemáticas «con trampa», o mejor conocidas como funciones de una sola dirección, que son aquellas para las que obtener una imagen es sencillo, pero muy complicado o casi imposible obtener la antiimagen. Para quien pueda estar interesado en los entresijos matemáticos de estas funciones dejo el post «Fundamento algebraico del sistema de clave pública RSA  « (sólo para los muy cafeteros)

Para todos los públicos
A caballo entre el final del bachillerato y el principio de carrera
Para matemáticos adictos a la cafeína.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *