Notations & Definitions
This page is a glossary for notation and concepts present in the documentation.
Sets and Groups #
Z is the set of integers, {…,−2,−2,−1,0,1,2,…}.
N is the set of integers greater than or equal to 0, {0,1,2,…}.
[n] is the finite set of integers {1,…,n}.
Zn are the integers modulo n, a set associated with the equivalence classes of integers {0,1,…,n−1}.
Zn∗ is the multiplicative group of integers modulo n: an element e from Zn is in Zn∗ iff gcd(e,n)=1, that is Zn∗={e∈Zn:gcd(e,n)=1}. When n is prime, then Zn∗={1,…,n−1}.
Fp is the finite field of order p; when p is a prime number, these are the integers modulo p, Zp; when p is a prime power qk, these are Galois fields.
∣S∣ is the order of a set S, i.e., its number of elements. For example, ∣Zn∗∣=Φ(n), and for a prime n, ∣Zn∗∣=n−1.
L: An evaluation domain, typically used in FFT-based polynomial commitment schemes (e.g., domains of size a power of two).
R: A relation or constraint system, such as an R1CS (Rank-1 Constraint System).
RS: Reed-Solomon codes.
Vectors #
a∈Zqn is a vector (a1,…,an) with ai∈Zq for all i.
c⋅a denotes the scalar product (c⋅a1,⋯,c⋅an).
⟨a,b⟩ denotes the inner product ∑i=1n=ai⋅bi
Sampling #
In protocol specifications, we will often need to uniformly sample elements from sets. We will use the following notation:
x←$X, where x is uniformly sampled from the set X.
Assertions #
We will use assertions in protocol descriptions. When the assertions do not hold, the protocol must abort to avoid leaking secret information.
a=?b, requires a=b, and aborts otherwise
a>?b, requires a>b, and aborts otherwise
a∈?S, requires that a is in the set S, and aborts otherwise.
Hash Functions #
Hash(⋅) is a cryptographically secure domain-separated hash function.
Hash(⋅)[0:k] is a cryptographically secure domain-separated hash function with specific output-size of kk-bits.
Special Functions
deg(f): The degree of a polynomial f, i.e., the highest exponent with non-zero coefficient in f.
logx: The logarithm of x (base context-dependent, often base 2 in crypto).
max(x1,…,xn): The maximum of a set of values.
min(x1,…,xn): The minimum of a set of values.
gcd(n,m) is the positive greatest common divisor of integers n and m; when gcd(n,m)=1
, n and m are said to be coprime.
φ(n) is Euler’s totient function; for n≥1, it is the number of integers in {1,…,n} coprime with n.
adj(M) denotes the adjugate of the matrix M, which is formed by taking the transpose of the matrix of cofactors of M.
Others
A Montgomery form of a∈ZN is represented by aˉ=aRmodN, given a modulus N and a Montgomery radix R such that gcd(N,R)=1.
References #
Last updated