[][src]Struct curve25519_dalek::backend::vector::scalar_mul::straus::Straus

pub struct Straus {}
This is supported on feature="simd_backend" and (target feature avx2 or target feature avx512ifma) only.

Multiscalar multiplication using interleaved window / Straus' method. See the Straus struct in the serial backend for more details.

This exists as a seperate implementation from that one because the AVX2 code uses different curve models (it does not pass between multiple models during scalar mul), and it has to convert the point representation on the fly.

Trait Implementations

impl MultiscalarMul for Straus[src]

type Point = EdwardsPoint

The type of point being multiplied, e.g., RistrettoPoint.

impl VartimeMultiscalarMul for Straus[src]

type Point = EdwardsPoint

The type of point being multiplied, e.g., RistrettoPoint.

fn vartime_multiscalar_mul<I, J>(scalars: I, points: J) -> Self::Point where
    I: IntoIterator,
    I::Item: Borrow<Scalar>,
    J: IntoIterator,
    J::Item: Borrow<Self::Point>,
    Self::Point: Clone
[src]

Given an iterator of public scalars and an iterator of public points, compute $$ Q = c_1 P_1 + \cdots + c_n P_n, $$ using variable-time operations. Read more

Auto Trait Implementations

impl Send for Straus

impl Sync for Straus

Blanket Implementations

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> FromCast for T

impl<T, U> Cast for T where
    U: FromCast<T>, 

impl<T, U> IntoBits for T where
    U: FromBits<T>, 

impl<T> FromBits for T

impl<T> Same for T

type Output = T

Should always be Self