pub struct Curve25519Config;Trait Implementations§
Source§impl Clone for Curve25519Config
impl Clone for Curve25519Config
Source§fn clone(&self) -> Curve25519Config
fn clone(&self) -> Curve25519Config
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl CurveConfig for Curve25519Config
impl CurveConfig for Curve25519Config
Source§const COFACTOR_INV: Fr
const COFACTOR_INV: Fr
COFACTOR_INV (mod r) = 2713877091499598330239944961141122840321418634767465352250731601857045344121
Source§type ScalarField = Fp<MontBackend<FrConfig, 4>, 4>
type ScalarField = Fp<MontBackend<FrConfig, 4>, 4>
Finite prime field corresponding to an appropriate prime-order subgroup
of the curve group.
fn cofactor_is_one() -> bool
Source§impl Default for Curve25519Config
impl Default for Curve25519Config
Source§fn default() -> Curve25519Config
fn default() -> Curve25519Config
Returns the “default value” for a type. Read more
Source§impl MontCurveConfig for Curve25519Config
impl MontCurveConfig for Curve25519Config
Source§impl PartialEq for Curve25519Config
impl PartialEq for Curve25519Config
Source§impl TECurveConfig for Curve25519Config
impl TECurveConfig for Curve25519Config
Source§const GENERATOR: EdwardsAffine
const GENERATOR: EdwardsAffine
Standard generators from https://neuromancer.sk/std/other/Curve25519. The Montgomery form is x = 0x09, y = 0x20ae19a1b8a086b4e01edd2c7748d14c923d4d7e6d7c61b229e9c5a27eced3d9 The twisted Edwards form is x = 0x547c4350219f5e19dd26a3d6668b74346a8eb726eb2396e1228cfa397ffe6bd4 y = 0x6666666666666666666666666666666666666666666666666666666666666658
Source§type MontCurveConfig = Curve25519Config
type MontCurveConfig = Curve25519Config
Model parameters for the Montgomery curve that is birationally
equivalent to this curve.
Source§fn mul_by_a(elem: Self::BaseField) -> Self::BaseField
fn mul_by_a(elem: Self::BaseField) -> Self::BaseField
Helper method for computing
elem * Self::COEFF_A. Read moreSource§fn is_in_correct_subgroup_assuming_on_curve(item: &Affine<Self>) -> bool
fn is_in_correct_subgroup_assuming_on_curve(item: &Affine<Self>) -> bool
Checks that the current point is in the prime order subgroup given
the point on the curve.
Source§fn clear_cofactor(item: &Affine<Self>) -> Affine<Self>
fn clear_cofactor(item: &Affine<Self>) -> Affine<Self>
Performs cofactor clearing.
The default method is simply to multiply by the cofactor.
For some curve families though, it is sufficient to multiply
by a smaller scalar.
Source§fn mul_projective(base: &Projective<Self>, scalar: &[u64]) -> Projective<Self>
fn mul_projective(base: &Projective<Self>, scalar: &[u64]) -> Projective<Self>
Default implementation of group multiplication for projective
coordinates
Source§fn mul_affine(base: &Affine<Self>, scalar: &[u64]) -> Projective<Self>
fn mul_affine(base: &Affine<Self>, scalar: &[u64]) -> Projective<Self>
Default implementation of group multiplication for affine
coordinates
Source§fn msm(
bases: &[Affine<Self>],
scalars: &[Self::ScalarField],
) -> Result<Projective<Self>, usize>
fn msm( bases: &[Affine<Self>], scalars: &[Self::ScalarField], ) -> Result<Projective<Self>, usize>
Default implementation for multi scalar multiplication
Source§fn serialize_with_mode<W>(
item: &Affine<Self>,
writer: W,
compress: Compress,
) -> Result<(), SerializationError>where
W: Write,
fn serialize_with_mode<W>(
item: &Affine<Self>,
writer: W,
compress: Compress,
) -> Result<(), SerializationError>where
W: Write,
If uncompressed, serializes both x and y coordinates.
If compressed, serializes y coordinate with a bit to encode whether x is positive.
Source§fn deserialize_with_mode<R>(
reader: R,
compress: Compress,
validate: Validate,
) -> Result<Affine<Self>, SerializationError>where
R: Read,
fn deserialize_with_mode<R>(
reader: R,
compress: Compress,
validate: Validate,
) -> Result<Affine<Self>, SerializationError>where
R: Read,
fn serialized_size(compress: Compress) -> usize
impl Eq for Curve25519Config
impl StructuralPartialEq for Curve25519Config
Auto Trait Implementations§
impl Freeze for Curve25519Config
impl RefUnwindSafe for Curve25519Config
impl Send for Curve25519Config
impl Sync for Curve25519Config
impl Unpin for Curve25519Config
impl UnwindSafe for Curve25519Config
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more