Skip to main content

EdwardsScalar

Type Alias EdwardsScalar 

Source
pub type EdwardsScalar = Scalar<Ed448>;
Expand description

Ed448 scalar field.

Aliased Type§

pub struct EdwardsScalar {
    pub(crate) scalar: Uint<7>,
    curve: PhantomData<Ed448>,
}

Fields§

§scalar: Uint<7>§curve: PhantomData<Ed448>

Implementations§

Source§

impl EdwardsScalar

Source

pub fn to_bytes_rfc_8032(&self) -> EdwardsScalarBytes

Serialize the scalar into 57 bytes, per RFC 8032. Byte 56 will always be zero.

Source

pub fn from_bytes_mod_order_wide( input: &WideEdwardsScalarBytes, ) -> EdwardsScalar

Construct a Scalar by reducing a 912-bit little-endian integer modulo the group order ℓ.

Trait Implementations§

Source§

impl From<&NonZeroScalar<Ed448>> for EdwardsScalar

Source§

fn from(scalar: &NonZeroScalar<Ed448>) -> Self

Converts to this type from the input type.
Source§

impl From<&ScalarValue<Ed448>> for EdwardsScalar

Source§

fn from(w: &ScalarValue<Ed448>) -> EdwardsScalar

Converts to this type from the input type.
Source§

impl From<&SecretKey<Ed448>> for EdwardsScalar

Source§

fn from(secret_key: &SecretKey<Ed448>) -> EdwardsScalar

Converts to this type from the input type.
Source§

impl From<NonZeroScalar<Ed448>> for EdwardsScalar

Source§

fn from(scalar: NonZeroScalar<Ed448>) -> Self

Converts to this type from the input type.
Source§

impl From<ScalarValue<Ed448>> for EdwardsScalar

Source§

fn from(w: ScalarValue<Ed448>) -> Self

Converts to this type from the input type.
Source§

impl Mul<&<Ed448 as CurveArithmetic>::AffinePoint> for &EdwardsScalar

Source§

type Output = <Ed448 as CurveArithmetic>::ProjectivePoint

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &AffinePoint<Ed448>) -> ProjectivePoint<Ed448>

Performs the * operation. Read more
Source§

impl Mul<&<Ed448 as CurveArithmetic>::AffinePoint> for EdwardsScalar

Source§

type Output = <Ed448 as CurveArithmetic>::ProjectivePoint

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &AffinePoint<Ed448>) -> ProjectivePoint<Ed448>

Performs the * operation. Read more
Source§

impl Mul<&<Ed448 as CurveArithmetic>::ProjectivePoint> for &EdwardsScalar

Source§

type Output = <Ed448 as CurveArithmetic>::ProjectivePoint

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &ProjectivePoint<Ed448>) -> ProjectivePoint<Ed448>

Performs the * operation. Read more
Source§

impl Mul<&<Ed448 as CurveArithmetic>::ProjectivePoint> for EdwardsScalar

Source§

type Output = <Ed448 as CurveArithmetic>::ProjectivePoint

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &ProjectivePoint<Ed448>) -> ProjectivePoint<Ed448>

Performs the * operation. Read more
Source§

impl Mul<&MontgomeryPoint> for &EdwardsScalar

Source§

type Output = MontgomeryPoint

The resulting type after applying the * operator.
Source§

fn mul(self, point: &MontgomeryPoint) -> MontgomeryPoint

Performs the * operation. Read more
Source§

impl Mul<<Ed448 as CurveArithmetic>::AffinePoint> for &EdwardsScalar

Source§

type Output = <Ed448 as CurveArithmetic>::ProjectivePoint

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: AffinePoint<Ed448>) -> ProjectivePoint<Ed448>

Performs the * operation. Read more
Source§

impl Mul<<Ed448 as CurveArithmetic>::AffinePoint> for EdwardsScalar

Source§

type Output = <Ed448 as CurveArithmetic>::ProjectivePoint

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: AffinePoint<Ed448>) -> ProjectivePoint<Ed448>

Performs the * operation. Read more
Source§

impl Mul<<Ed448 as CurveArithmetic>::ProjectivePoint> for &EdwardsScalar

Source§

type Output = <Ed448 as CurveArithmetic>::ProjectivePoint

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: ProjectivePoint<Ed448>) -> ProjectivePoint<Ed448>

Performs the * operation. Read more
Source§

impl Mul<<Ed448 as CurveArithmetic>::ProjectivePoint> for EdwardsScalar

Source§

type Output = <Ed448 as CurveArithmetic>::ProjectivePoint

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: ProjectivePoint<Ed448>) -> ProjectivePoint<Ed448>

Performs the * operation. Read more
Source§

impl MulVartime<&<Ed448 as CurveArithmetic>::AffinePoint> for &EdwardsScalar

Source§

fn mul_vartime(self, rhs: &AffinePoint<Ed448>) -> ProjectivePoint<Ed448>

Multiply self by rhs in variable-time.
Source§

impl MulVartime<&<Ed448 as CurveArithmetic>::AffinePoint> for EdwardsScalar

Source§

fn mul_vartime(self, rhs: &AffinePoint<Ed448>) -> ProjectivePoint<Ed448>

Multiply self by rhs in variable-time.
Source§

impl MulVartime<&<Ed448 as CurveArithmetic>::ProjectivePoint> for &EdwardsScalar

Source§

fn mul_vartime(self, rhs: &ProjectivePoint<Ed448>) -> ProjectivePoint<Ed448>

Multiply self by rhs in variable-time.
Source§

impl MulVartime<&<Ed448 as CurveArithmetic>::ProjectivePoint> for EdwardsScalar

Source§

fn mul_vartime(self, rhs: &ProjectivePoint<Ed448>) -> ProjectivePoint<Ed448>

Multiply self by rhs in variable-time.
Source§

impl MulVartime<<Ed448 as CurveArithmetic>::AffinePoint> for &EdwardsScalar

Source§

fn mul_vartime(self, rhs: AffinePoint<Ed448>) -> ProjectivePoint<Ed448>

Multiply self by rhs in variable-time.
Source§

impl MulVartime<<Ed448 as CurveArithmetic>::AffinePoint> for EdwardsScalar

Source§

fn mul_vartime(self, rhs: AffinePoint<Ed448>) -> ProjectivePoint<Ed448>

Multiply self by rhs in variable-time.
Source§

impl MulVartime<<Ed448 as CurveArithmetic>::ProjectivePoint> for &EdwardsScalar

Source§

fn mul_vartime(self, rhs: ProjectivePoint<Ed448>) -> ProjectivePoint<Ed448>

Multiply self by rhs in variable-time.
Source§

impl MulVartime<<Ed448 as CurveArithmetic>::ProjectivePoint> for EdwardsScalar

Source§

fn mul_vartime(self, rhs: ProjectivePoint<Ed448>) -> ProjectivePoint<Ed448>

Multiply self by rhs in variable-time.
Source§

impl Reduce<Array<u8, UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B1>, B0>, B0>>> for EdwardsScalar

Source§

fn reduce(value: &Array<u8, U84>) -> Self

Reduces self modulo Modulus.