Encontré esto al punto respuesta de otro foro.
Estos tipos de criptografía primitiva se pueden distinguir por los objetivos de seguridad que cumplen (en el protocolo simple de "adjuntar a un mensaje"):
Integridad: ¿Puede el destinatario estar seguro de que el mensaje no tiene ha sido modificado accidentalmente?
Autenticación: ¿Puede el destinatario estar seguro de que el mensaje proviene del remitente?
No repudio: Si el destinatario transfiere el mensaje y la prueba a un tercero, ¿puede el tercero confiar en que el mensaje se originó en el remitente? (Tenga en cuenta que estoy hablando de no repudio en el sentido criptográfico, no en el sentido legal.) También es importante esta pregunta:
Claves: ¿La primitiva requerir una clave secreta compartida o pública-privada pares de llaves? Creo que la respuesta corta se explica mejor con una tabla:
Cryptographic primitive | Hash | MAC | Digital
Security Goal | | | signature
------------------------+------+-----------+-------------
Integrity | Yes | Yes | Yes
Authentication | No | Yes | Yes
Non-repudiation | No | No | Yes
------------------------+------+-----------+-------------
Kind of keys | none | symmetric | asymmetric
| | keys | keys
Recuerde que la autenticación sin confianza en las claves utilizadas es inútil. Para las firmas digitales, un destinatario debe estar seguro de que la clave de verificación en realidad pertenece al remitente. Para los MAC, un destinatario debe estar seguro de que la clave simétrica compartida solo se ha compartido con el remitente.
Click here for more info
Lo siento, ¿qué significa que 'incluso si un atacante tiene acceso a un oráculo que posee la clave secreta y genera MAC para los mensajes de elección del atacante, ** el atacante no puede adivinar el MAC para otros mensajes ** ¿? Si un atacante tiene acceso a un oráculo que posee la clave secreta, también puede generar MAC para otros mensajes, enviándolos como una entrada al oráculo, ¿no es así? – tonix
@tonix Esta frase solo se usa para definir una función MAC segura. Este escenario hipotético es el peor caso de un escenario más realista, en la que el atacante podría observa múltiples pares de texto plano-MAC, y luego tratar de forjar/adivinar el MAC de un mensaje que el atacante quiere enviar. – ZillGate
Algunas otras personas han cambiado estas definiciones: una función hash no proporciona integridad, mientras que la autenticación es lo que ahora llamamos la integridad (cf. crypto.stanford.edu/~dabo/cryptobook). Este cambio es para mejor imo –