Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

get_nG_glv_fake_glv

Returns the precomputed point 2^(nbits-1)·G for GLV/fake-GLV decomposition.

This precomputed value is used to accelerate scalar multiplication via GLV (Gallant-Lambert-Vanstone) or fake-GLV decomposition techniques.

The nbits parameter is computed as: nbits = n.bit_length() // 4 + 9 where n is the curve order.

Arguments

  • curve_index - Index of the curve (must be 0, 1, or 2)

Returns

  • The point 2^(nbits-1)·G as G1Point
    • For BN254: 2^72·G (nbits=73)
    • For BLS12_381: 2^72·G (nbits=73)
    • For SECP256K1: 2^72·G (nbits=73)

Panics

  • Panics for curves without efficient endomorphism (not BN254, BLS12_381, or SECP256K1)

Fully qualified path: garaga::definitions::curves::get_nG_glv_fake_glv

pub fn get_nG_glv_fake_glv(curve_index: u32) -> G1Point