Learning path

Full curriculum

Full curriculum

Unit content

Digital signatures

A digital signature lets a private-key holder authenticate a message in a way that anyone with the corresponding public key can verify.

The signer computes

$$\sigma=\operatorname{Sign}_{sk}(m),$$

and a verifier checks

$$\operatorname{Verify}_{pk}(m,\sigma).$$

A valid signature provides evidence that the message was produced by someone controlling the private signing key and that the signed message has not been altered.

Verification uses the public key, so independent verifiers do not need access to the private signing secret. This makes signatures useful for software releases, certificates and documents that many parties must verify.

A signature does not encrypt the message: signed data may remain public.

The meaning of a valid signature still depends on the public key's identity. If the verifier has the wrong public key, cryptographic verification can succeed for the wrong signer. Public-key authentication therefore remains a separate problem.