Una firma digital (o electrónica) es un sello digital que se añade a los datos que se envían.
Al igual que en un sello de garantía, sirve para comprobar si alguien ha modificado el contenido.
También sirve para que un usuario se autentifique.
Existen dos procesos fundamentales: - Firma de los datos. Se lleva a cabo por medio de la clave privada, añadiendo la firma al mensaje enviado. - Verificación de la firma. Se utiliza la clave pública. En este proceso se comprueba que el contenido no ha sido modificado.
Proceso de Firma
En lugar de encriptar todo el mensaje (complejo), se hace sobre un resumen de la información (hash).
El resumen se encripta por medio de la clave privada.
Los datos encriptados resultantes se añaden al mensaje original.
Finalmente, se añade la clave pública del remitente, para que el destinatario pueda comprobar la firma.
Se envía al destinatario el paquete compuesto por el mensaje original, la firma y la clave pública.
Verificación de firma
El destinatario debe comprobar que el mensaje está firmado por el autor y no se ha modificado.
Para ello, se extraen los elementos del paquete recibido.
Se crea un resumen del mensaje con la misma función "hash".
Se desencripta la firma por medio de la clave pública.
Se comparan los dos resúmenes obtenidos.
Si éstos son iguales, el mensaje es auténtico y no modificado. En caso contrario, o no está emitido por quien dice ser o bien ha sido modificado.