Found this to answer a question from another forum.
These types of cryptographic primitives can be distinguished by the security objectives that they perform (in the simple βadd to messageβ protocol):
Integrity: Can the recipient be sure that the message was not accidentally changed?
Authentication: Can the recipient be sure that the message was sent from the sender?
Non-refusal: If the recipient sends the message and confirmation to third parties, can a third party be sure that the message originated from the sender? (Please note that I'm talking about denial of denial in a cryptographic sense, not in a legal sense.) This question is also important:
Keys: Does the primitive require a shared secret key or public keys? I think the short answer is best explained by the table:
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
Remember that authentication without confidence in the keys used is useless. For digital signatures, the recipient must be sure that the verification key actually belongs to the sender. For MAC addresses, the recipient must be sure that the shared symmetric key was only transmitted to the sender.
Click here for more information.
kayle Jun 16 '16 at 4:34 2016-06-16 04:34
source share