Skip to main content

product_weil_pairing

Function product_weil_pairing 

Source
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.