betrusted-curve25519-dalek-.../src/scalar_mul
Henry de Valence b4db0afe18 Allow Options in the VartimeMultiscalarMul trait
This changes the primary function for the `VartimeMultiscalarMul` trait
to an `optional_multiscalar_mul` trait that accepts
`Option<Self::Point>` (and returns `None` if any input points are
`None`).

The existing `vartime_multiscalar_mul` is changed to be a wrapper around
this function to avoid code duplication.  This may result in an
extra copy of each input point, but that cost is probably not
significant compared to the cost of the multiscalar multiplication.

The motivation is to allow performing multiscalar multiplications with
inline decompression.  Currently, API consumers have to allocate
temporary buffers for all of their points, decompress into those
buffers, then pass (iterators over) those buffers into the multiscalar
multiplication code, which then creates new buffers for lookup tables.
2018-07-17 08:19:48 -07:00
..
mod.rs Add doc comments 2018-05-15 11:33:38 -07:00
straus.rs Allow Options in the VartimeMultiscalarMul trait 2018-07-17 08:19:48 -07:00
variable_base.rs Split out constant-time variable-base scalar mul. 2018-03-26 16:01:51 -07:00
vartime_double_base.rs Add NafLookupTable8 and use for pre-computed basepoint table generation. 2018-04-05 05:12:13 +00:00
window.rs Update year in copyright notices to 2018. 2018-07-05 00:30:27 +00:00