Skip to main content

kani_diamond_degrees

Function kani_diamond_degrees 

Source
pub fn kani_diamond_degrees(
    d: u64,
    max_e: u32,
    smooth_bound: u64,
) -> Option<(u32, u64)>
Expand description

The Kani degree condition. To embed a degree-d secret isogeny in a (2,2)-isogeny chain of an abelian surface (the Castryck–Decru diamond), pick an exponent e and an auxiliary isogeny of degree c = 2^e − d, so the two sides of the diamond sum to 2^e — the surface isogeny is then a length-e Richelot chain. c must be positive and smooth (efficiently computable). Returns the smallest such (e, c). This is the diamond’s number-theoretic bookkeeping.