Documentation

TauCeti.AlgebraicGeometry.EllipticCurve.Isogeny.Dual.WeilPairing

The Weil pairing and the dual isogeny #

Let φ : W₁ → W₂ be a separable isogeny of elliptic curves over a separably closed field F, and N a positive integer invertible in F. The dual φ̂ : W₂ → W₁ is adjoint to φ for the Weil pairing (Silverman III.8.2):

e_N(φ S, T) = e_N(S, φ̂ T)    for `S ∈ W₁[N]` and `T ∈ W₂[N]`,

and consequently e_N(φ S, φ T) = e_N(S, T) ^ deg φ.

The proof is Silverman's. Let g be a function on W₂ with divisor [N]^* (T) - [N]^* (O), the function from which e_N(·, T) is built. Over a separably closed field the pullback φ^* (T) is the fibre ∑_{φ P = T} (P), a translate of the kernel, so φ^* ((T) - (O)) is a degree-zero divisor whose sum is deg φ • P₀ = φ̂ (φ P₀) = φ̂ T for any P₀ over T. Hence φ^* ((T) - (O)) - ((φ̂ T) - (O)) is the divisor of a function h. Since φ commutes with [N], the function φ^* g / [N]^* h has divisor [N]^* (φ̂ T) - [N]^* (O), so it computes e_N(·, φ̂ T). Translation by an N-torsion point fixes [N]^* h, and moves φ^* g to φ^* (τ_{φ S}^* g), so e_N(S, φ̂ T) = φ^* (τ_{φ S}^* g / g) = e_N(φ S, T).

Main results #

References #

φ^* ((T) - (O)) is linearly equivalent to (φ̂ T) - (O): their difference is principal, over a separably closed field (Silverman III.6.1). Its sum is deg φ • P₀ - φ̂ T for any P₀ over T, and φ̂ T = φ̂ (φ P₀) = deg φ • P₀.

Adjointness of the dual for the Weil pairing #

theorem TauCeti.Isogeny.weilPairing_eq_weilPairing_dual {F : Type u_1} [Field F] [DecidableEq F] [IsSepClosed F] {W₁ W₂ : WeierstrassCurve.Affine F} [WeierstrassCurve.IsElliptic W₁] [WeierstrassCurve.IsElliptic W₂] (φ : Isogeny W₁ W₂) [Algebra.IsSeparable (↥φ.fieldPullback.fieldRange) W₁.FunctionField] (N : ℕ) [NeZero N] (hN : ↑N ≠ 0) {S : ↥(Submodule.torsionBy ℤ W₁.Point ↑N)} {T S' : ↥(Submodule.torsionBy ℤ W₂.Point ↑N)} {T' : ↥(Submodule.torsionBy ℤ W₁.Point ↑N)} (hS : (Hom.ofIsogeny φ).pointMap ↑S = ↑S') (hT : (Hom.ofIsogeny φ.dual).pointMap ↑T = ↑T') :
((weilPairing W₂ N hN) S') T = ((weilPairing W₁ N hN) S) T'

The dual isogeny is adjoint to φ for the Weil pairing: e_N(φ S, T) = e_N(S, φ̂ T) for S ∈ W₁[N] and T ∈ W₂[N], where φ is a separable isogeny over a separably closed field in which N is invertible (Silverman III.8.2). The images φ S and φ̂ T are given as the torsion points S' and T'.

theorem TauCeti.Isogeny.weilPairing_eq_degree_nsmul_weilPairing {F : Type u_1} [Field F] [DecidableEq F] [IsSepClosed F] {W₁ W₂ : WeierstrassCurve.Affine F} [WeierstrassCurve.IsElliptic W₁] [WeierstrassCurve.IsElliptic W₂] (φ : Isogeny W₁ W₂) [Algebra.IsSeparable (↥φ.fieldPullback.fieldRange) W₁.FunctionField] (N : ℕ) [NeZero N] (hN : ↑N ≠ 0) {S T : ↥(Submodule.torsionBy ℤ W₁.Point ↑N)} {S' T' : ↥(Submodule.torsionBy ℤ W₂.Point ↑N)} (hS : (Hom.ofIsogeny φ).pointMap ↑S = ↑S') (hT : (Hom.ofIsogeny φ).pointMap ↑T = ↑T') :
((weilPairing W₂ N hN) S') T' = φ.degree • ((weilPairing W₁ N hN) S) T

A separable isogeny scales the Weil pairing by its degree: e_N(φ S, φ T) = e_N(S, T) ^ deg φ for S, T ∈ W₁[N], written additively, since φ̂ (φ T) = deg φ • T (Silverman III.8.2). The images φ S and φ T are given as the torsion points S' and T'.