Schnorr groups #
A Schnorr group is the subgroup of prime order q of (ZMod p)ˣ, for a prime p, generated by
a residue g of multiplicative order q. It is described by the triple (p, q, g) of binary
numbers, and its elements are encoded by the binary digits of their residues. Multiplication and
exponentiation are computed modulo p, by schoolbook multiplication and square-and-multiply.
These groups form a PrimeOrderGroupFamily, so the discrete-logarithm assumption and the
security theorems stated for such families apply to them.
A description is valid when p and q are prime, 1 < g < p and g ^ q % p = 1; these facts
imply that g has order q and that q divides p - 1. Validity is part of the description
type: algorithms receive only valid descriptions, and nothing here claims that valid descriptions
can be generated efficiently.
Main definitions #
Cslib.Crypto.SchnorrGroup.Valid: valid descriptions(p, q, g).Cslib.Crypto.schnorrGroups: Schnorr groups as aPrimeOrderGroupFamily.
References #
A valid description (p, q, g) of a Schnorr group: p and q are prime, and the residue
g satisfies 1 < g < p and g ^ q ≡ 1 (mod p).
- prime_modulus : Nat.Prime d.1
The modulus is prime.
- prime_order : Nat.Prime d.2.1
The group order is prime.
The generator is not
0or1.The generator is a reduced residue.
The generator has order dividing
q.
Instances For
Valid Schnorr-group descriptions.
Instances For
The generator as a unit modulo p.
Instances For
The Schnorr group of a description, written additively.
Instances For
The generator has order dividing q.
Every element of the Schnorr group has order dividing q.
The generator is not the identity.
The generator of the Schnorr group.
Instances For
The generator is not the identity of the Schnorr group.
Distinct elements have distinct encodings.
The group order is computable in polynomial time from the description.
The encoded generator is computable in polynomial time from the description.
Multiplication modulo p is computable in polynomial time.
Exponentiation modulo p is computable in polynomial time, by square-and-multiply.
Schnorr groups, the subgroups of prime order q of (ZMod p)ˣ, as a family of cyclic groups
of prime order with efficient operations.