Digital signatures
A signer holding a secret key produces signatures that anyone can check against the matching public key, and no one else can produce a valid signature on a new message.
What it is
A signature scheme has three algorithms. KeyGen outputs a public verification key and a secret signing key. Sign uses the secret key to produce a signature on a message. Verify uses the public key to accept or reject a message–signature pair, and honestly generated signatures must be accepted. The standard security notion is existential unforgeability under adaptive chosen-message attack (EUF-CMA): an adversary that may request signatures on messages of its choice cannot output a valid signature on any message it did not query (). RSA gave the first public-key signature construction (), but unpadded RSA signatures are not EUF-CMA secure.
Core notions
- EUF-CMA and SUF-CMA: strong unforgeability (SUF-CMA) also forbids a new signature on a message that was already signed.
- One-time and many-time: a one-time signature is secure for a single message; Lamport's scheme needs only a one-way function ().
- Stateful versus stateless: a Merkle tree authenticates many one-time keys under one root, but the signer must remember which keys it has used (); a stateless scheme needs no such memory ().
- Proof model: standard model; random-oracle model (ROM), where a hash function is modelled as a random function; quantum ROM (QROM), where the adversary may query the hash in superposition.
- Hash-and-sign versus Fiat–Shamir: hash-and-sign applies a trapdoor function to a hash of the message (, ). Fiat–Shamir turns an identification protocol into a signature by hashing the commitment and the message into the challenge ().
- Nonces and sampling: randomized signing must keep its per-signature randomness secret and well distributed; deterministic nonces remove a common failure (). Lattice signers must also avoid leaking the key through the signature distribution, by rejection sampling or trapdoor Gaussian sampling.
- Tightness: how much security a reduction loses relative to the underlying assumption.
Main approaches
- RSA and factoring: the randomized PSS encoding in the ROM () and standard-model signatures under strong RSA ().
- Discrete logarithms: Schnorr signatures via Fiat–Shamir () and Ed25519 (). ECDSA is not a Fiat–Shamir scheme; its proofs idealize part of the conversion function () or the group (). FIPS 186-5 specifies RSA, ECDSA, and EdDSA and keeps DSA for verification only ().
- Pairings: signatures of one group element in the ROM () and short signatures without random oracles under q-SDH ().
- Hash-based: from Lamport and Merkle to the stateless SPHINCS+ hypertree (), standardized as SLH-DSA (). They rest on hash functions alone, but SLH-DSA signatures are 7,856 bytes or more.
- Lattice hash-and-sign: GPV trapdoor preimage sampling (), instantiated over NTRU lattices in Falcon ().
- Lattice Fiat–Shamir with aborts: rejection sampling hides the secret without a trapdoor (); Gaussian rejection sampling then gives SIS- and LWE-based signatures of norm (), leading to Dilithium (), standardized as ML-DSA ().
Notation used in the comparison table
Parameters below occur in efficiency or security bounds. Each meaning is scoped to its stated regime. Measured quantities are named in words; protocol objects are defined where used. Source aliases do not equate different regimes.
| Symbol | Meaning | Regime | Paper aliases |
|---|---|---|---|
| λ | Computational security parameter. | Signature security and random-oracle lower bounds. | No paper spelling asserted. |
| q | Coefficient modulus. | Lattice signatures. | writes q |
| n | Lattice dimension or polynomial degree, as specified by the construction. | Lattice bounds: dimension or polynomial degree. ECDSA body text separately defines the group order; these parameters are not equated. | writes n; writes n |
| k | Module row rank. | Dilithium parameters. | writes k |
| ℓ | Module column rank. | Dilithium parameters. | writes ℓ |
| qs | Adversary signing-oracle query count. | Unforgeability reductions. | No paper spelling asserted. |
| qh | Adversary hash-oracle query count. | Unforgeability reductions. | No paper spelling asserted. |
| ε | Forgery advantage in the stated game. | Security reductions. | No paper spelling asserted. |
This topic covers publicly verifiable signatures under one signing key: RSA, discrete-log and Schnorr-type, pairing-based, hash-based, and lattice signatures. MACs and identity-based, blind, ring, group, and other specialized signatures are separate functionalities; multisignatures and aggregate signatures are adjacent; threshold signatures have their own topic.