Digital signatures
Digital signatures provide the ability to verify the authenticity, integrity, and non-repudiation of electronic messages.
Important note
On their own, digital signatures do not provide confidentiality.
To create a digital signature, a sender uses a digital signature algorithm to generate a hash that is specific to the document or message. The sender then uses their private key to encrypt this value, creating the digital signature.
When the receiver receives the message, they use the sender’s public key to decrypt the digital signature and obtain the hash value. They then hash the original message and compare the resulting hash value with the decrypted hash value. Considering the message has not been tampered with, the two hashes should ideally match.
In addition to providing authentication and integrity, digital signatures also provide non-repudiation, which means that the sender cannot deny having sent the message because the digital signature...