Equivalence between one-way functions and one-time digital signatures, and necessity for EUF-CMA #
This module establishes the foundational reductions connecting one-way functions (OneWay) and
uniform digital signature schemes (SignatureScheme):
- Secure signatures imply one-way functions (
SignatureScheme.OneTimeEUFCMA.exists_oneWay,SignatureScheme.EUFCMA.exists_oneWay): for any digital signature schemeSthat is existentially unforgeable under one-time (or full adaptive) chosen-message attack, reindexing the seeded key-generation evaluator(seed ↦ (n, (evaluate n seed).1))across all input lengths viaGeneratorReindex.parameteryields a one-way function. Any PPT inverter for this function gives a zero-query PPT forger that recovers a valid secret key for the challenge public key and signs0^n. - Lamport's one-time signature scheme from any one-way function (
lamportScheme,OneWay.oneTimeEUFCMA_lamport,OneWay.exists_oneTimeSignature): given any polynomial-time functionf : List Bool → List Bool,lamportScheme fsamples2nindependentn-bit secret words, publishes theirf-images as the verification key, and signs ann-bit message by revealing one secret word per message bit. Whenfis one-way (OneWay f),lamportScheme fis one-time EUF-CMA secure (OneTimeEUFCMA): any one-time forger must forge a preimage at some pair(i, msg[i])that was never revealed by the single signing query. - Equivalence (
exists_oneWay_iff_exists_oneTimeSignature): a one-way function exists if and only if a one-time EUF-CMA secure signature scheme exists.
Together with SignatureScheme.EUFCMA.oneTimeEUFCMA, this establishes the necessity half of
Rompel's theorem ((∃ S, S.EUFCMA) → ∃ f, OneWay f) and the one-time sufficiency half
((∃ f, OneWay f) ↔ (∃ S, S.OneTimeEUFCMA)). Upgrading one-time signatures to stateless many-time
EUF-CMA signatures from arbitrary one-way functions requires Rompel's construction of universal
one-way hash functions and GMR/Merkle authentication trees.
Main definitions #
Cslib.Crypto.lamportKeyGen,lamportSign,lamportVerify,lamportScheme: Lamport's one-time digital signature scheme built from any polynomial-time functionf.Cslib.Crypto.lamportInverter: reduction invertingffrom a one-time forger againstlamportScheme f.
Main results #
Cslib.Crypto.SignatureScheme.OneTimeEUFCMA.exists_oneWay: any one-time EUF-CMA secure signature scheme implies the existence of a one-way function.Cslib.Crypto.SignatureScheme.EUFCMA.exists_oneWay: any full EUF-CMA secure signature scheme implies the existence of a one-way function.Cslib.Crypto.OneWay.oneTimeEUFCMA_lamport: Lamport's scheme constructed from a one-way function is one-time EUF-CMA secure.Cslib.Crypto.OneWay.exists_oneTimeSignature: any one-way function implies the existence of a one-time EUF-CMA secure signature scheme.Cslib.Crypto.exists_oneWay_iff_exists_oneTimeSignature: equivalence between one-way functions and one-time EUF-CMA secure signature schemes.
References #
Secure digital signatures imply one-way functions #
Any digital signature scheme that is existentially unforgeable under one-time chosen-message
attack (OneTimeEUFCMA) implies the existence of a one-way function.
Any digital signature scheme that is existentially unforgeable under adaptive chosen-message
attack (EUFCMA) implies the existence of a one-way function.
Lamport's one-time signature scheme from any one-way function #
Lamport's one-time digital signature scheme built from any polynomial-time function f.
Instances For
Security reduction for Lamport's one-time signature scheme #
Reduction that inverts f on challenge y at security parameter n by embedding y at a
uniformly sampled index j < dyadicSize (2 * n). When j < 2 * n, embed y in slot j of a
Lamport public key and run a one-time forger; otherwise return the empty word.
Instances For
Lamport's one-time signature theorem: for any one-way function f, lamportScheme f is
existentially unforgeable under one-time adaptive chosen-message attack (OneTimeEUFCMA).
Any one-way function implies the existence of a one-time EUF-CMA secure signature scheme.
Equivalence between one-way functions and one-time digital signatures: a one-way function exists if and only if a one-time EUF-CMA secure uniform signature scheme exists.