Las firmas digitales son uno de los desarrollos más importantes relativos al uso de criptografía de clave pública, ya que proporcionan un conjunto de capacidades que serían difíciles de implementar en cualquier otra forma. Una firma digital es una firma electrónica que se puede utilizar para autenticar la identidad del remitente de un mensaje o el firmante de un documento. Asimismo, también garantiza la integridad del mensaje. Las firmas digitales son fácilmente transportables y no pueden ser imitadas por una persona que no sea el remitente real.
Las firmas digitales se basan en las firmas manuscritas. Dichas firmas manuscritas deben satisfacer las siguientes propiedades:
En la práctica, ninguna de estas características se cumplen al cien por cien en las firmas manuscritas. Las firmas digitales también deben satisfacer todos esos requisitos. Sin embargo, aparecen nuevos problemas asociados a aspectos prácticos de la firma digital. Los documentos digitales pueden copiarse fácilmente, parte de un documento se puede transmitir a otro documento y un documento firmado se puede modificar fácilmente. Por lo tanto, se deben formular nuevos requisitos adicionales para una firma digital:
Una firma digital se puede utilizar con cualquier tipo de mensaje, ya sea cifrado o no, se trata simplemente que el receptor puede estar seguro de la identidad del remitente y que el mensaje ha llegado intacto (no ha sido modificado).
Hay varios esquemas posibles para firma digital. Uno de los esquemas más aceptados se basa en las funciones hash. En este caso, si un usuario desea firmar digitalmente un documento debe seguir los siguientes pasos:
El receptor puede verificar la autenticidad de esta firma digital siguiendo los siguientes pasos:
Si los valores de hash obtenidos en los dos pasos son iguales, el destinatario sabe que los datos firmados no han sido modificados, y por tanto, la firma es correcta.