-
Digital Signature
A digital signature is a methematical scheme for verifying the authenticity of digital messages or documents.
Digital signatures are a standard element of most cryptographic protocol suites, and are commonly used for software distribution, financial transactions, contract management software
-
History
In 1976, Whitfield Diffie and Martin Hellman first described the notion of a digital signature scheme;
Soon afterwards, Ronald Rivest, Adi Shamir, Len Adleman invented the RSA algorithm, which could be used to produce promitive digital signatures.
The first widely marketed software package to offer digital signature was Lotus Notes 1.0, released in 1989, which used the RSA algorithm.
Other digital signature schemes were soon developed after RSA, Lamport signatures, Merkle signatures(Merkle trees, Hash trees) and Rabin signatures.
-
Some digital signature algorithms
RSA、DSA、ECDSA、EdDSA、RSA with SHA、ECDSA with SHA
《理解RSA、DSA、ECDSA、EdDSA、RSA with SHA、ECDSA with SHA》
-
MAC
详情参见《理解HMAC(Hash-based Message Authentication Code) on cryptographic》
-
Digital Signature vs MAC
What are the differences between a digital signature, a MAC and a hash?
《理解symmetric key||asymmetric key ||shared key||public-private key on Cryptography》
These types of cryptographic primitive can be distinguished by the security goals they fulfill:
- Intergrity: Can the recipient be confident that the message has not been accidentally modified?
- Authentication: Can the recipient be confident that the message originates from the sender?
- Non-repudiation: If the recipient passes the message and the proof to a third party, can the third party be confident that the message originated from the sender?
Also important is this question:
- Keys: Does the primitive require a shared secret key, or public-private keypairs?
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
-
References
- Why MACs are so important despite digital signatures doing everything a MAC can do and more
- Is MAC better than digital signature?
- What is the advantage of digital signatures over message authentication codes?
- what is the difference between a mac and a digital signiture
- Digital Signatures, HMACs and Hashing
- Message Authentication Codes and Digital Signatures
- Comparison of MAC and Digital Signature
- What is the difference between message authentication and a digital signature?
- MACs and Digital Signatures