Digital signature

A digital signature (DS) scheme allows a signer holding a secret signing key to produce an unforgeable signature on a message, which anyone can verify using the corresponding public verification key. Digital signatures are the public-key analogue of MACs.

Syntax

A Digital Signature scheme is a tuple of efficient algorithms with respect to signing keyspace , verification (or public) keyspace , message space , and signature space :

  • is a randomized algorithm which samples a signing key and verification (or public) key ,
  • is a (possibly) randomized algorithm which takes a signing key and message , outputting signature ,
  • is a deterministic algorithm which takes a verification key a message and a signature , outputting a bit indicating whether the signature is valid or not.

Properties

Correctness

A Digital Signature scheme is -correct if for all ,

over the randomness of and possibly

Existential Unforgeability

The following is the existential unforgeability under chosen message attacks (EUF-CMA) game. This security notion requires that an adversary cannot produce a valid message-signature pair for a message it has not submitted to the signing oracle, even given signatures on adversarially chosen messages.

\begin{algorithm}
\algname{Game}
\caption{$\Game^{\eufcma}_{\DS,\calA}(\secpar)$}
\begin{algorithmic}
\State $(\sk, \vk) \gets \KeyGen(1^\secpar)$
\State $\calQ \gets \{\}$
\State $(\hat{m},\hat{\sigma}) \gets \calA^{\calO}(1^\secpar, \vk)$
\If{$\hat{m}\in \calQ$}
\Comment{$\hat{m}$ cannot repeat}
\Return $0$
\EndIf
\Return $[\Vrfy(\vk,\hat{m},\hat{\sigma})]$
\end{algorithmic}
\end{algorithm}
\begin{algorithm}
\algname{Oracle}
\caption{$\calO(m)$}
\begin{algorithmic}
\State $\sigma \gets \Sign(\sk,m)$
\State $\calQ \gets \calQ \cup \{m\}$
\Return $\sigma$
\end{algorithmic}
\end{algorithm}

A DS scheme is EUF-CMA unforgeable if for all efficient ,

is negligible.

Strong Unforgeability

The following is the strong unforgeability under chosen message attacks (SUF-CMA) game. This security notion strengthens the above EUF-CMA notion and requires to prevent an adversary from “mauling” the signature to produce a new signature for the same message. For example, by rerandomizing the signature into another valid signature.

\begin{algorithm}
\algname{Game}
\caption{$\Game^{\sufcma}_{\DS,\calA}(\secpar)$}
\begin{algorithmic}
\State $(\sk, \vk) \gets \KeyGen(1^\secpar)$
\State $\calQ \gets \{\}$
\State $(\hat{m},\hat{\sigma}) \gets \calA^{\calO}(1^\secpar, \vk)$
\If{$(\hat{m},\hat{\sigma})\in \calQ$}
\Comment{$(\hat{m},\hat{\sigma})$ cannot repeat}
\Return $0$
\EndIf
\Return $[\Vrfy(\vk,\hat{m},\hat{\sigma})]$
\end{algorithmic}
\end{algorithm}
\begin{algorithm}
\algname{Oracle}
\caption{$\calO(m)$}
\begin{algorithmic}
\State $\sigma \gets \Sign(\sk,m)$
\State $\calQ \gets \calQ \cup \{(m, \sigma)\}$
\Return $\sigma$
\end{algorithmic}
\end{algorithm}

A DS scheme is SUF-CMA unforgeable if for all efficient ,

is negligible.

Variations

Schnorr signatures

Schnorr signatures are built from the Schnorr identification protocol — a three-message sigma protocol for proving knowledge of a discrete logarithm — compiled to a signature via the Fiat-Shamir transform. For a generator of a group of prime order , to sign with secret key (where ): sample , compute , , ; the signature is . Verification checks .

Schnorr signatures (Sch91, via FS86) are EUF-CMA secure under the discrete logarithm assumption in the random oracle model — PS96, PS00. They support efficient multi-signatures whose signatures verify as Schnorr signatures, with the key included in the hash, under an aggregate public key (MuSig, MuSig2) — MPSW19, NRS21, and threshold signatures. Blinding the signer’s commitment and the challenge gives blind Schnorr signatures, analysed by Sch01 and FPS20.

For groups with compact encodings, such as elliptic-curve groups, two properties of the hash function, random-prefix preimage resistance and random-prefix second-preimage resistance, are necessary for the security of Schnorr signatures and, in the generic group model, sufficient; collision resistance is not among them — NSW09. The sufficiency theorem needs a further condition on how group elements are encoded as bit strings: a defective encoding of curve points meets its hypotheses while making Schnorr signatures insecure — Bro15.

EdDSA

EdDSA works in the subgroup of prime order generated by a base point of a twisted Edwards curve, written additively, with a hash function (SHA-512 for Ed25519). The secret key is a seed with , from which a clamped scalar is read off ; the public key is . To sign , set , and , and output . Verification checks , or the same equation multiplied by the curve’s cofactor — BDLSY11. EdDSA is the Schnorr scheme with the public key included in the hash and nonces derived deterministically from the secret key and the message — standard.

BLS signatures

BLS signatures (Boneh-Lynn-Shacham) BLS01 use a bilinear pairing to achieve unique, deterministic, and aggregatable signatures. To sign : output (where is a hash-to-curve function). Verification checks .

Key properties:

  • Deterministic: no per-signature randomness needed
  • Short: one group element ( bytes on BLS12-381)
  • Aggregatable: signatures on distinct messages can be aggregated into one signature verifiable with pairings, checking — BGLS03
  • co-CDH ⇒ BLS signatures

BLS signatures are used in Ethereum 2.0 for validator attestations and threshold BLS is widely used in threshold signature protocols.

Aggregate signatures

An aggregate signature scheme is a DS scheme with two further algorithms. combines signatures, by possibly different signers on possibly different messages, into one, and checks an aggregate. Restrictions such as pairwise-distinct messages belong to a scheme’s , not to the game. In the aggregate chosen-key model the adversary gets one honest key and a signing oracle for it, chooses every other key itself with no registration, and wins with an aggregate that verifies on a list whose first entry is for a message it never queried — BGLS03.

\begin{algorithm}
\algname{Game}
\caption{$\Game^{\mathrm{agg}}_{\Pi,\calA}(\secpar)$}
\begin{algorithmic}
\State $(\sk^*, \pk^*) \gets \KeyGen(1^\secpar)$; $\calQ \gets \{\}$
\State $((\pk_i, m_i)_{i \le n}, \sigma) \gets \calA^{\calO}(1^\secpar, \pk^*)$
\Comment{$\pk_2, \ldots, \pk_n$ are arbitrary}
\If{$\pk_1 \ne \pk^*$ or $m_1 \in \calQ$}
\Return $0$
\EndIf
\Return $[\AggVrfy((\pk_i, m_i)_{i \le n}, \sigma)]$
\end{algorithmic}
\end{algorithm}
\begin{algorithm}
\algname{Oracle}
\caption{$\calO(m)$}
\begin{algorithmic}
\State $\sigma \gets \Sign(\sk^*, m)$
\State $\calQ \gets \calQ \cup \{m\}$
\Return $\sigma$
\end{algorithmic}
\end{algorithm}

An aggregate signature scheme is unforgeable in the aggregate chosen-key model if for all efficient ,

is negligible.

Waters signatures

In a symmetric bilinear group , the Waters scheme for -bit messages has with and , and . With , samples and outputs , and accepts iff — Wat05. Signatures re-randomize publicly: for , is a uniformly random valid signature on — standard.

Tight Diffie-Hellman signatures

Signatures whose security reduces tightly, without forking, to a Diffie–Hellman problem in a group of prime order , with a hash modeled as a random oracle.

EDL signatures

The public key is . To sign , pick a random salt , set and , and output , where is a Fiat–Shamir Chaum–Pedersen proof that — GJ03.

Katz-Wang signatures

The public key is with and . To sign , sample and output with and . Verification checks . A signature is a Fiat–Shamir proof that is a Diffie–Hellman tuple — KW03, GJKW07.

Structure-preserving signatures

A DS scheme over a bilinear group is structure-preserving if its verification keys, messages and signatures are vectors of elements of and , and only checks group membership and a conjunction of pairing-product equations , where the and are key, message and signature elements and public constants, and the are public — AFG+10. Security is EUF-CMA. In a Type 3 bilinear group, every structure-preserving signature scheme whose signer uses only generic group operations has signatures of at least three group elements — AGHO11.

Optimally short structure-preserving signatures

Structure-preserving signature schemes in a Type 3 bilinear group whose signatures consist of three group elements, the minimum for a signer that uses only generic group operations — AGHO11.

ECDSA

ECDSA works in a subgroup of prime order generated by a point of an elliptic curve, with secret key and public key . To sign , sample , set , where the conversion function reduces the -coordinate of a point modulo , and , and output , resampling if or . Verification checks . DSA is the same scheme in a subgroup of prime order of , with reducing the group element modulo — standard. Since and have the same -coordinate, is again a valid ECDSA signature on , so ECDSA is not strongly unforgeable — standard.

  • ECDSA is EUF-CMA secure if the hash function is collision-resistant and has a uniformity property, the ephemeral-key generator is pseudorandom, the group is treated generically, and a further condition holds on the map from ephemeral public keys to scalars. That condition seems to fail for DSA — Bro05.
  • Prior generic-group analyses of ECDSA in fact establish strong unforgeability, which ECDSA does not have, so their abstraction of the conversion function does not describe ECDSA faithfully — FKP16.
  • With the conversion function modeled as two algebraic outer maps around an inner bijective random oracle, unmodified DSA and ECDSA are as hard to forge as DLOG, without assuming generic group behavior — FKP16.
  • An algebraic security reduction for ECDSA can exist only if it programs the conversion function — HK23.
  • If OMDL is hard, no algebraic reduction from DLOG proves DSA or ECDSA secure in the standard model (the barrier for Schnorr signatures) — PV05.

Hash-based signatures

Hash-based signatures need no number-theoretic or lattice assumption: one-time signatures follow from OWF — Lam79 — and many-time signatures from OWF — Rom90.

One-time signatures

A one-time signature scheme is EUF-CMA secure against adversaries that make at most one signing query.

Lattice-based signatures

Lattice-based signatures achieve post-quantum security under LWE/SIS assumptions.

Other results

  • OWF ⇒ One-time signatures (Lamport)
  • CRHF + One-time signature ⇒ DS
  • FAC ⇒ DS
  • DS ⇒ OWF
  • For Waters signatures, whose signatures re-randomize publicly, every simple reduction of EUF-CMA security to a non-interactive hardness assumption, one that runs the forger only as straight-line instances one after another — MP18 — loses a factor for signing queries, unless the assumption is false (the barrier for Waters signatures) — HJK12. Coron’s earlier meta-reduction, stated for schemes with unique signatures, gives the corresponding bound for BLS signatures in the random-oracle model (the barrier for BLS signatures) — Cor02.
  • For signature schemes whose relation between verification and signing keys is unique or re-randomizable, the security loss of passing from single-user EUF-CMA to multi-user EUF-CMA with adaptive corruptions cannot be avoided by reductions from a very general class of non-interactive assumptions — BJLS16. Their meta-reduction refines the one of Cor02.

Participates in

Builds on Digital signature

Produces Digital signature

Barriers