Struct curve25519_dalek::backend::vector::scalar_mul::precomputed_straus::VartimePrecomputedStraus [−][src]
pub struct VartimePrecomputedStraus {
static_lookup_tables: Vec<NafLookupTable8<CachedPoint>>,
}
simd_backend
and (target features avx2
or avx512ifma
) only.Fields
static_lookup_tables: Vec<NafLookupTable8<CachedPoint>>
Trait Implementations
type Point = EdwardsPoint
type Point = EdwardsPoint
The type of point to be multiplied, e.g., RistrettoPoint
.
Given the static points \( B_i \), perform precomputation and return the precomputation data. Read more
fn optional_mixed_multiscalar_mul<I, J, K>(
&self,
static_scalars: I,
dynamic_scalars: J,
dynamic_points: K
) -> Option<Self::Point> where
I: IntoIterator,
I::Item: Borrow<Scalar>,
J: IntoIterator,
J::Item: Borrow<Scalar>,
K: IntoIterator<Item = Option<Self::Point>>,
fn optional_mixed_multiscalar_mul<I, J, K>(
&self,
static_scalars: I,
dynamic_scalars: J,
dynamic_points: K
) -> Option<Self::Point> where
I: IntoIterator,
I::Item: Borrow<Scalar>,
J: IntoIterator,
J::Item: Borrow<Scalar>,
K: IntoIterator<Item = Option<Self::Point>>,
Given static_scalars
, an iterator of public scalars
\(b_i\), dynamic_scalars
, an iterator of public scalars
\(a_i\), and dynamic_points
, an iterator of points
\(A_i\), compute
$$
Q = a_1 A_1 + \cdots + a_n A_n + b_1 B_1 + \cdots + b_m B_m,
$$
where the \(B_j\) are the points that were supplied to new
. Read more
fn vartime_multiscalar_mul<I>(&self, static_scalars: I) -> Self::Point where
I: IntoIterator,
I::Item: Borrow<Scalar>,
fn vartime_multiscalar_mul<I>(&self, static_scalars: I) -> Self::Point where
I: IntoIterator,
I::Item: Borrow<Scalar>,
Given static_scalars
, an iterator of public scalars
\(b_i\), compute
$$
Q = b_1 B_1 + \cdots + b_m B_m,
$$
where the \(B_j\) are the points that were supplied to new
. Read more
fn vartime_mixed_multiscalar_mul<I, J, K>(
&self,
static_scalars: I,
dynamic_scalars: J,
dynamic_points: K
) -> Self::Point where
I: IntoIterator,
I::Item: Borrow<Scalar>,
J: IntoIterator,
J::Item: Borrow<Scalar>,
K: IntoIterator,
K::Item: Borrow<Self::Point>,
fn vartime_mixed_multiscalar_mul<I, J, K>(
&self,
static_scalars: I,
dynamic_scalars: J,
dynamic_points: K
) -> Self::Point where
I: IntoIterator,
I::Item: Borrow<Scalar>,
J: IntoIterator,
J::Item: Borrow<Scalar>,
K: IntoIterator,
K::Item: Borrow<Self::Point>,
Given static_scalars
, an iterator of public scalars
\(b_i\), dynamic_scalars
, an iterator of public scalars
\(a_i\), and dynamic_points
, an iterator of points
\(A_i\), compute
$$
Q = a_1 A_1 + \cdots + a_n A_n + b_1 B_1 + \cdots + b_m B_m,
$$
where the \(B_j\) are the points that were supplied to new
. Read more
Auto Trait Implementations
impl RefUnwindSafe for VartimePrecomputedStraus
impl Send for VartimePrecomputedStraus
impl Sync for VartimePrecomputedStraus
impl Unpin for VartimePrecomputedStraus
impl UnwindSafe for VartimePrecomputedStraus
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn cast(self) -> U
pub fn cast(self) -> U
Numeric cast from self
to T
.
pub fn from_bits(t: T) -> T
pub fn from_bits(t: T) -> T
Safe lossless bitwise transmute from T
to Self
.
pub fn from_cast(t: T) -> T
pub fn from_cast(t: T) -> T
Numeric cast from T
to Self
.
pub fn into_bits(self) -> U
pub fn into_bits(self) -> U
Safe lossless bitwise transmute from self
to T
.