0Pricing
Cryptology Academy · Lesson

What Is a Digital Signature?

Understand authentication vs encryption and signature lifecycle.

What Is a Digital Signature? is a free Cryptology Academy lesson on CoddyKit — 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, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

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.

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, and the Cryptology Academy course includes 4 lessons in total. 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.

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; this is — lesson 1 of 4, so you can start here or from the beginning and move at your own pace.

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