[][src]Function zerocaf::edwards::double_and_add

pub fn double_and_add<'b, 'a, T>(point: &'a T, scalar: &'b Scalar) -> T where
    &'c T: Add<Output = T> + Double<Output = T>,
    T: Identity + Clone

Implementation of the standard algorithm of double_and_add. This is a function implemented for Generic points that have implemented Add, Double, Identity and Clone.

Hankerson, Darrel; Vanstone, Scott; Menezes, Alfred (2004). Guide to Elliptic Curve Cryptography. Springer Professional Computing. New York: Springer-Verlag.

We implement this and not windowing algorithms because we prioritize less constraints on R1CS over the computational costs of the algorithm.