En este artículo vamos a hablar de las cosas que se pueden hacer con un sistema de clave pública y privada.
Lo más simple es mandar contenidos encriptados. Pero no es la única aplicación. También se puede usar como firma digital. Para ello hay que tener en cuenta que algo cifrado con la clave pública sólo puede descifrarse con la clave privada, pero que algo cifrado con la clave privada sólo puede descifrarse con la clave pública. Esto último puede parecer una tontería (¿Para qué cifrar algo que todo el mundo puede descifrar?), pero encierra una gran utilidad: sólo la persona que disponga de la clave privada ha podido cifrar ese mensaje, y por tanto sirve de firma, confirma la autoría del mensaje.
Realmente esto no se hace así. Para que el concepto de firma sea más tangible se una una función hash. Dicha función permite que un bloque de bits de cualquier tamaño se convierta en un bloque de bits de tamaño fijo y, en apariencia, aleatorio. Siempre que introduzcamos en la función un bloque determinado tendremos la misma salida, pero a partir de una salida es prácticamente imposible obtener un bloque de entrada (es una función muy difícil de invertir). Además también es muy difícil que haya una colisión, es decir, encontrar dos bloques de entrada que den la misma salida.
Usando estas funciones hash es posible escribir un mensaje de correo electrónico, calcular su hash, encriptar el hash con la clave privada del emisor (obtenemos la firma) y mandar tanto el mensaje como la firma, todo junto, al destinatario del mensaje. En la recepción es posible calcular el hash del mensaje, desencriptar la firma y comparar tanto el hash obtenido ahora como el que han enviado encriptado y que sólo el verdadero autor del mensaje ha podido generar (sólo él conoce la clave privada). Realizando esta comprobación podemos saber si el emisor del mensaje es quien dice ser y además también sabemos que el mensaje no ha sido modificado por el camino, proporcionamos integridad al mensaje.
Si además de todo esto, una vez que tenemos el mensaje y la firma, encriptamos el conjunto con la clave pública del destinatario nos aseguramos la confidencialidad, la autoría y la integridad del mensaje.
¿Qué más podemos pedir a un sistema de criptografía?
En el próximo artículo trataré el problema más grande de estos sistemas: ¿Cómo saber que una clave pública es realmente de quien dice ser?
Tags Technorati: GnuPG, Criptografía, Privacidad, Correo Seguro
No hay comentarios:
Publicar un comentario