Cryptology Academy · Lesson

What Is a Digital Signature?

Understand authentication vs encryption and signature lifecycle.

Lesson 1 of 413 steps

What Is a Digital Signature? is a free Cryptology Academy lesson on CoddyKit. This is lesson 1 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Cryptology Academy learning path, and your progress syncs across the web and the CoddyKit app. The Cryptology Academy course includes 4 lessons in total.

Welcome

Digital signatures are the cryptographic equivalent of a handwritten signature — but mathematically verifiable and impossible to forge without the private key.

Why Signatures Differ from Encryption

Encryption: transform data so only the recipient can read it. Signatures: prove the data came from you and was not altered. Encryption uses recipient's public key; signing uses sender's private key.

Three Security Properties

Authentication: confirms the signer's identity. Integrity: proves the message was not altered after signing. Non-repudiation: the signer cannot deny having signed — the private key is uniquely theirs.

Sign-then-Encrypt vs Encrypt-then-Sign

Encrypt-then-Sign is generally safer: sign the ciphertext so the signature covers exactly what is authenticated. Sign-then-Encrypt can expose metadata to active attackers.

Hash-then-Sign

Never sign the raw message (too large for RSA). Instead: 1. H = Hash(message) 2. signature = Sign(private_key, H) The hash reduces any message to a fixed-size input for the signing algorithm.

Signature Verification

Verifier has: message, signature, signer's public key. 1. H = Hash(message) 2. H' = Verify(public_key, signature) 3. Accept if H == H'; reject otherwise

RSA Signature Example

Sign: sig = hash^d mod n (exponentiate with private d) Verify: hash = sig^e mod n (exponentiate with public e) Compare recovered hash with computed hash of message.

Signature vs MAC Comparison

MAC requires a shared secret — both parties must know the key. Signatures use asymmetric keys — anyone with the public key can verify. Signatures provide non-repudiation; MACs do not.

DSA Overview

DSA (Digital Signature Algorithm, 1994) uses discrete logarithm hardness. It generates a random per-signature nonce k. If k is reused or predictable, the private key is exposed.

Nonce Reuse Disaster (PS3 Hack)

Sony PlayStation 3 used a constant k=1 in ECDSA. Hackers extracted the private signing key from two different signatures. This allowed them to sign arbitrary firmware — bypassing all security.

Certificate Signatures

An X.509 certificate is just data + a digital signature by a CA's private key. When your browser verifies a certificate, it checks the CA's signature using the CA's public key in its trust store.

Quick Check

What property ensures a signer cannot later deny having signed a document?

Recap

Digital signatures make the digital world trustworthy. Next we study RSA, DSA, and ECDSA signature schemes in depth.
Free to start

Learn Cryptology Academy with an AI tutor — free

Write and run real code in your browser, get instant help from a 24/7 AI tutor, and pick up where you left off on the web or in the app.

Courses
67
Lessons
261

Frequently Asked Questions

Is the “What Is a Digital Signature?” lesson free?

Yes — the full text of “What Is a Digital Signature?” is free to read here on the web. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Cryptology Academy course, upgrade to CoddyKit PRO. The Cryptology Academy course includes 4 lessons in total.

What will I learn in “What Is a Digital Signature?”?

Understand authentication vs encryption and signature lifecycle. You practise Cryptology Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Cryptology Academy?

No prior experience is required. Cryptology Academy on CoddyKit is structured for beginners through advanced learners, so you can start here or from the beginning and move at your own pace. This is lesson 1 of 4.

How long does the “What Is a Digital Signature?” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Cryptology Academy lesson?

Yes. Every Cryptology Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. What Is a Digital Signature?
  2. RSA Signatures: Sign & Verify
  3. DSA & ECDSA Signature Schemes
  4. Signatures in the Wild: Code Signing & Email
← Back to Cryptology Academy