Elligator 1 Variables #
In this file we introduce all the independent variables introduced in the definition of Elligator 1.
References #
See [bernstein2013a], Section 3.
c(s) is a function defined in the paper.
Original:, Section "3.2 The map": Theorem 1
Equations
- Elligator.Elligator1.c s = 2 / s ^ 2
Instances For
r(s) is a function defined in the paper.
Original:, Section "3.2 The map": Theorem 1
Equations
Instances For
d(s) is a function defined in the paper.
Original:, Section "3.2 The map": Theorem 1
Equations
- Elligator.Elligator1.d s = -(Elligator.Elligator1.c s + 1) ^ 2 / (Elligator.Elligator1.c s - 1) ^ 2
Instances For
v(t, s) is a function defined in the paper.
Original:, Section "3.2 The map": Theorem 1
Equations
- Elligator.Elligator1.v t s = Elligator.Elligator1.u t ^ 5 + (Elligator.Elligator1.r s ^ 2 - 2) * Elligator.Elligator1.u t ^ 3 + Elligator.Elligator1.u t
Instances For
Y(t, s) is a function defined in the paper.
q is still unrelated to the cardinality F here by intention. The theorems using
Y will build the necessary context to show useful properties of Y by creating
the relation of Field cardinality and q.
Original:, Section "3.2 The map": Theorem 1
Equations
- One or more equations did not get rendered due to their size.
Instances For
x(t, s) is a function defined in the paper. It is the x-coordinate of the point on the curve.
Original:, Section "3.2 The map": Theorem 1
Equations
- Elligator.Elligator1.x t s q = (Elligator.Elligator1.c s - 1) * s * Elligator.Elligator1.X t s * (1 + Elligator.Elligator1.X t s) / Elligator.Elligator1.Y t s q
Instances For
y(t, s) is a function defined in the paper. It is the y-coordinate of the point on the curve.
Original:, Section "3.2 The map": Theorem 1
Equations
- One or more equations did not get rendered due to their size.
Instances For
X2 is a function defined in the paper.
Original:, Section "3.3 Inverting the map": Theorem 3
Equations
- Elligator.Elligator1.X2 s P q = -(1 + Elligator.Elligator1.η P * Elligator.Elligator1.r s) + ((1 + Elligator.Elligator1.η P * Elligator.Elligator1.r s) ^ 2 - 1) ^ ((q + 1) / 4)
Instances For
z is a function defined in the paper.
Original:, Section "3.3 Inverting the map": Theorem 3
Equations
- One or more equations did not get rendered due to their size.
Instances For
u2 is a function defined in the paper.
Original:, Section "3.3 Inverting the map": Theorem 3
Equations
- Elligator.Elligator1.u2 s P q = Elligator.Elligator1.z s P q * Elligator.Elligator1.X2 s P q
Instances For
t2 is a function defined in the paper.
Original:, Section "3.3 Inverting the map": Theorem 3
Equations
- Elligator.Elligator1.t2 s P q = (1 - Elligator.Elligator1.u2 s P q) / (1 + Elligator.Elligator1.u2 s P q)
Instances For
b q is ⌊log₂ q⌋, the number of bits needed.
Original:, Section "3.4 Encoding as strings": Theorem 4
Equations
- Elligator.Elligator1.b q = Nat.log 2 q
Instances For
σ interprets a bit vector (τ₀, τ₁, …, τ_{b−1}) as the field element
∑ᵢ τᵢ · 2ⁱ ∈ Fq. This is the standard binary-to-integer conversion followed by casting into F.
Original:, Section "3.4 Encoding as strings": Theorem 4
Equations
Instances For
S = σ⁻¹({0, 1, 2, ..., (q-1)/2}), the set of bit vectors whose binary value falls in the lower half {0, 1, ..., (q-1)/2} of F_q.
Original:, Section "3.4 Encoding as strings": Theorem 4
Equations
- Elligator.Elligator1.S = {τ : Fin (Elligator.Elligator1.b q) → Bool | Elligator.Elligator1.bitsToNat τ ≤ (q - 1) / 2}