Schnorr signatures #
Schnorr signatures ([BS23], Section 19.2) are the Fiat–Shamir signatures of Schnorr's
Sigma protocol. Over a vector space of prime order q with a nonzero base g, the commitment
r • g of a uniform r takes each value with probability at most 1 / q
(schnorr_commit_map_fst_le). The Fiat–Shamir theorem then bounds the success of a forger making
at most Qs signing calls and Qro hash calls by
Qs · (Qs + Qro) / q + (Qro + 1) / N + √((Qro + 1) · ε'),
where N is the number of challenges and ε' the probability that the forking reduction computes
a discrete logarithm of the public key (schnorr_succProbability_eufCmaGame_le,
[BS23], Theorem 19.7 with Equation 19.21). These are exact laws for one group and one
forger; the computational statement under the discrete-logarithm assumption is separate.
Main results #
Cslib.Crypto.Protocols.SigmaProtocol.schnorr_commit_map_fst_le: Schnorr commitments are1 / q-unpredictable.Cslib.Crypto.Protocols.SigmaProtocol.schnorr_succProbability_eufCmaGame_le: the security bound for Schnorr signatures in the random-oracle model.
References #
Unpredictable Schnorr commitments ([BS23], Definition 19.7): with a nonzero base,
the commitment r • g of a uniform r takes each value with probability at most 1 / q.
Security of Schnorr signatures ([BS23], Theorem 19.7 with Equation 19.21, exact
form): with a nonzero base, a forger making at most Qs signing calls and Qro hash calls
succeeds with probability at most Qs · (Qs + Qro) / q + (Qro + 1) / N + √((Qro + 1) · ε'), where
N is the number of challenges and ε' the probability that the forking reduction computes a
discrete logarithm of the public key.