Like its name, Digital Signatures are digital analogs of physical signatures. For example, when you want to write a cheque you have to "sign" it for authentication purposes. But think about how you would do the same over the internet. Here is where Digital Signatures come into the picture.
Digital Signatures have the following properties:
- Authenticity: Just like physical signatures, digital signatures provide a way to verify the identity of a signer.
- Integrity: Digital signatures provide a mechanism to detect unauthorized modification to a message.
- Non-repudiation: Digital signatures have a nice property that once a signer signs a message, they cannot deny having done so.
Digital signature schemes consists of three algorithms
- The key generation algorithm,
$\text{Gen}$ which takes in the security parameter$n$ and outputs public key,$\text{pk}$ and private key,$\text{sk}$ . - The signing algorithm
$\text{Sign}$ takes as input the keys and a message and outputs a signature. - The verification algorithm
$\text{Verify}$ , takes as input the public key, a message, and a signature. It outputs bit 1 if the signature is valid for the given message and public key, otherwise 0.
To explain how digital signature schemes are used, let's take the example of two people, Bobby and Alex.
Bobby is the one whose signature is required, so Bobby will run the
Now when Alex sends a message(document, contract, etc.),
A digital signature scheme is said to be secure if an adversary is unable to generate a forgery, that is, a message (not previously signed) and a valid signature for a fixed public key, in any case.
- Elliptic Curve Digital Signature Scheme(ECDSA)
- Edwards-Curve Digital Signature Scheme(EdDSA)
- "Introduction to Modern Cryptography" by Jonathan Katz and Yehuda Lindell
- Digital Signatures