Struct curve25519_dalek::backend::vector::scalar_mul::precomputed_straus::spec_avx2::VartimePrecomputedStraus
source · pub struct VartimePrecomputedStraus { /* private fields */ }
Available on
curve25519_dalek_backend="simd"
and crate feature alloc
only.Trait Implementations§
source§impl VartimePrecomputedMultiscalarMul for VartimePrecomputedStraus
impl VartimePrecomputedMultiscalarMul for VartimePrecomputedStraus
§type Point = EdwardsPoint
type Point = EdwardsPoint
The type of point to be multiplied, e.g.,
RistrettoPoint
.source§fn new<I>(static_points: I) -> Selfwhere
I: IntoIterator,
I::Item: Borrow<EdwardsPoint>,
fn new<I>(static_points: I) -> Selfwhere I: IntoIterator, I::Item: Borrow<EdwardsPoint>,
Given the static points \( B_i \), perform precomputation
and return the precomputation data.
source§fn optional_mixed_multiscalar_mul<I, J, K>(
&self,
static_scalars: I,
dynamic_scalars: J,
dynamic_points: K
) -> Option<EdwardsPoint>where
I: IntoIterator,
I::Item: Borrow<Scalar>,
J: IntoIterator,
J::Item: Borrow<Scalar>,
K: IntoIterator<Item = Option<EdwardsPoint>>,
fn optional_mixed_multiscalar_mul<I, J, K>( &self, static_scalars: I, dynamic_scalars: J, dynamic_points: K ) -> Option<EdwardsPoint>where I: IntoIterator, I::Item: Borrow<Scalar>, J: IntoIterator, J::Item: Borrow<Scalar>, K: IntoIterator<Item = Option<EdwardsPoint>>,
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 moresource§fn vartime_multiscalar_mul<I>(&self, static_scalars: I) -> Self::Pointwhere
I: IntoIterator,
I::Item: Borrow<Scalar>,
fn vartime_multiscalar_mul<I>(&self, static_scalars: I) -> Self::Pointwhere 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 moresource§fn vartime_mixed_multiscalar_mul<I, J, K>(
&self,
static_scalars: I,
dynamic_scalars: J,
dynamic_points: K
) -> Self::Pointwhere
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::Pointwhere 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 moreAuto Trait Implementations§
impl RefUnwindSafe for VartimePrecomputedStraus
impl Send for VartimePrecomputedStraus
impl Sync for VartimePrecomputedStraus
impl Unpin for VartimePrecomputedStraus
impl UnwindSafe for VartimePrecomputedStraus
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more