pub fn product_weil_pairing(
c1: &Curve2,
c2: &Curve2,
p: (&Point2, &Point2),
q: (&Point2, &Point2),
n: u64,
) -> Option<Fp2>Expand description
The Weil pairing on a product surface E₁ × E₂: e((P₁,P₂),(Q₁,Q₂)) = e_N(P₁,Q₁)·e_N(P₂,Q₂). A
subgroup on which this vanishes (= 1) is isotropic; a maximal isotropic (Lagrangian) subgroup is
the kernel of an (N,N)-isogeny of abelian surfaces — the gluing at the heart of Kani’s theorem and the
Castryck–Decru attack.