La respuesta de Thomas Pornin, como siempre, es excelente, pero quería agregar un punto, y esa fue la diferencia en lo que representa la verificación de cada uno de estos. En resumen, solo se puede utilizar un MAC para verificar la integridad del mensaje. Una firma verifica no solo la integridad del mensaje, sino también la identidad del remitente.
La diferencia es inherente a la estructura simétrica frente a la asimétrica de los algoritmos. De vuelta a la publicación de Thomas, los MAC son simétricos; utilizan la misma clave K tanto para generar el MAC como para verificarlo. Como tales, verifican que el mensaje que contiene el MAC es el mensaje enviado originalmente por la otra parte a esta conversación, ya que se cree que la capacidad de manipular el mensaje de manera que el MAC aún coincida es difícil (y "difícil "en criptografía tiene la definición coloquial de" prácticamente imposible ").
Sin embargo, debido a que la clave de un algoritmo simétrico es un "secreto compartido", debe compartirse, y eso significa que no es un secreto realmente . Existen formas conocidas de compartir esta clave con una y solo otra persona específica, pero es este proceso de compartir que le permite identificar positivamente a la otra persona utilizando la clave; el algoritmo en sí mismo no tiene forma de demostrarle a ninguna de las partes que la otra persona es la que se supone que tiene.
Las firmas digitales, OTOH, son asimétricas; Se utilizan dos claves diferentes, una para generar y la otra para verificar. La clave de verificación es "pública"; puede pintarlo en aerosol en su auto y conducirlo a la mitad de DEF CON (convención de piratas informáticos) y esto no debilitaría el esquema. Nuevamente, se cree que es difícil generar o manipular un mensaje y / o su firma, y aun así hacer que uno coincida con el otro, sin conocer la clave de generación.
Esta clave de generación es "privada"; es un verdadero secreto, conocido solo por una parte, que puede implementar todo tipo de capas adicionales de seguridad física y electrónica para proteger estos datos incluso de ellos mismos (muchas PKI se configuran utilizando un Módulo de seguridad de hardware para generar la clave privada y realizarla). encriptación usándolo; la clave nunca abandona ese HSM). Por lo tanto, teóricamente es posible identificar positivamente a la otra parte de la conversación, en función de su capacidad para firmar correctamente los mensajes que se pueden verificar con su clave pública, porque hay una y solo una entidad en el planeta que tiene una oración para hacerlo. .