invert_batch_internal

Function invert_batch_internal 

Source
fn invert_batch_internal<T: Invert<Output = CtOption<T>> + Mul<T, Output = T> + Default + ConditionallySelectable>(
    field_elements: &[T],
    field_elements_multiples: &mut [T],
    field_elements_multiples_inverses: &mut [T],
    field_elements_inverses: &mut [T],
) -> Choice
Expand description

Implements “Montgomery’s trick”, a trick for computing many modular inverses at once.

“Montgomery’s trick” works by reducing the problem of computing n inverses to computing a single inversion, plus some storage and O(n) extra multiplications.

See: https://iacr.org/archive/pkc2004/29470042/29470042.pdf section 2.2.