Intermediate Topic 19 of 51 Security & Cryptography
Digital Signatures
Proving origin and integrity with private keys.
How it works
A digital signature proves that a message came from the holder of a private key and has not been altered. The signer hashes the message and transforms the hash with their private key; anyone can verify the result with the public key. Algorithms include RSA-PSS, ECDSA and EdDSA such as Ed25519. Signatures provide authenticity, integrity and non-repudiation, since the signer cannot plausibly deny having signed.
Step-by-step walkthrough
- The signer hashes the document.
- They encrypt the hash with their private key, the signature.
- The document and signature are sent.
- The verifier decrypts the signature with the public key.
- If it matches a fresh hash, the origin and integrity are proven.
Where it is used
Software and firmware updates, TLS certificates, signed documents and contracts, email with S/MIME, package registries and blockchain transactions use signatures.
Common pitfall
Signing a hash of untrusted data without understanding what it covers can authorize unintended actions. Verifying with an untrusted public key proves nothing, so a trust chain or certificate is needed. Weak randomness in ECDSA nonces has leaked private keys. Protect signing keys in hardware security modules, include timestamps and handle key revocation.
Where it fits in the course
Digital Signatures is topic 19 of 51 in Security & Cryptography, rated Intermediate. It follows SHA Family. The next topic is Public Key Infrastructure.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Security & Cryptography quiz.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Security & Cryptography quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is Digital Signatures?
Where do people use Digital Signatures?
What is the most common mistake with Digital Signatures?
What should I learn before this topic?
How can I practice it?
Is Digital Signatures hard to learn?
How long does it take to learn Digital Signatures?
Which topics are related to Digital Signatures?
What should I study after Digital Signatures?
Related topics
- SHA Family (Security & Cryptography)
- Public Key Infrastructure (Security & Cryptography)
- Hash Functions (Security & Cryptography)
- Diffie-Hellman Key Exchange (Security & Cryptography)
- Analog vs Digital Signals (Mobile, Embedded & IoT)
- Digital Twins (Mobile, Embedded & IoT)