Go Back

Digital Signatures

Topics

RSA Signatures

The RSA signature scheme was introduced by Rivest, Shamir, and Adleman. It parallels the structure of RSA encryption but is used to achieve data origin authentication, integrity, and non-repudiation.

Defining Signature Schemes

A digital signature scheme includes:

  1. A randomized key generation algorithm G → (kpubkey, kprivkey).
  2. A signing algorithm that produces a signature S(kprivkey, m) for a message m.
  3. A verification algorithm V(kpubkey, m, σ) that outputs true or false.

Correctness demands that any signature generated with a valid private key must verify under the corresponding public key. The security requirement is that forging signatures without the private key should be infeasible.

Basic Security Requirements

Attack Models

Adversaries may attempt:

Possible adversarial capabilities include known-message attacks or chosen-message attacks (i.e., obtaining signatures on messages of their choice).

EUF-CMA Security

A standard notion is existential unforgeability under chosen-message attack (EUF-CMA): given oracle access to a signer for messages of the adversary’s choice, it should still be infeasible to create a valid signature on any new message not queried.

RSA Signatures (Continued)

A naive RSA signature (i.e., signing m directly by md mod n) can be insecure if used without additional care:

Full Domain Hash RSA (RSA-FDH)

To counter these issues, one typically applies a hash function H:

  1. Key Generation: same as RSA (public key (n, e), private key (n, d)).
  2. Sign: σ = H(m)d mod n.
  3. Verify: check σe mod n == H(m).

In practice, H should be collision-resistant, preimage-resistant, and 2nd preimage-resistant for security.

Diffie–Hellman-based Signatures

Beyond RSA, signature schemes can also be built from Diffie–Hellman-type assumptions, leading to variants like DSA or ECDSA in elliptic curve settings.

For elliptic curves (ECDSA), we typically have:

These rely on the hardness of the Elliptic Curve Discrete Logarithm Problem.

Schnorr Signatures

A compact alternative in the Diffie–Hellman family is the Schnorr signature. It uses randomization plus a hash challenge:

  1. Pick random k and compute W = kP.
  2. Hash c = H(m || W || kpubkey || ...).
  3. Compute z = k + c·α mod q, where α is the private key.
  4. Signature (W, c, z) verifies by checking W + c·(αP) = zP.

Schnorr’s design influences many modern signature schemes, including post-quantum variants based on lattice assumptions.

Post-quantum Digital Signatures

Quantum computers threaten classical number-theoretic problems like factoring or discrete logs. Hence, signature schemes that remain secure against quantum adversaries are being standardized. Examples include:

These approaches protect against quantum algorithms that break RSA, ECDSA, and other classical techniques.

Standardization efforts by NIST (as of 2022–2025) focus on selecting robust post-quantum signature algorithms for widespread adoption.