Firmas Digitales.

Hemos visto cómo resolver el problema de la confidencialidad , veamos ahora cómo la criptografía de clave pública resuelve los problemas de autentificación e integridad.

Esta "Firma digital" se genera utilizando dos cosas: clave privada del remitente, y un extracto del mensaje obtenido mediante hashing, de manera que depende del contenido de todo el mensaje. Este extracto es cifrado con la clave privada y el resultado (firma digital) es incluido al final del mensaje.

Ejemplo: supongamos que Pedro desea enviar un mensaje seguro a María. Pedro genera una "firma digital" de su mensaje, la adjunta al final del mismo y se lo envía a María.

María al ver la "firma digital" tiene la oportunidad de verificar que el mensaje ha sido enviado por Pedro. Primero, María actuando sobre el contenido del mensaje, usa la misma función "hash" que Pedro para obtener la firma de ese mensaje. Segundo, descifra la firma digital recibida usando la clave pública de Pedro, obteniendo así la firma del mensaje original. Si ambas coinciden tiene la prueba de que el mensaje no ha sido modificado. Además, dado que ha podido usar la clave pública de Pedro, tiene la garantía de que sólo él podrá haber haber cifrado la firma con su clave privada (todo este proceso es realizado automáticamente sin intervención por parte del usuario)