Skip to main content

DecafScalar

Type Alias DecafScalar 

Source
pub type DecafScalar = Scalar<Decaf448>;
Expand description

Decaf448 scalar field.

Aliased Type§

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

Fields§

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

Implementations§

Source§

impl DecafScalar

Source

pub fn from_bytes_mod_order_wide(input: &WideDecafScalarBytes) -> DecafScalar

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

Trait Implementations§

Source§

impl From<&NonZeroScalar<Decaf448>> for DecafScalar

Source§

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

Converts to this type from the input type.
Source§

impl From<&ScalarValue<Decaf448>> for DecafScalar

Source§

fn from(w: &ScalarValue<Decaf448>) -> DecafScalar

Converts to this type from the input type.
Source§

impl From<&SecretKey<Decaf448>> for DecafScalar

Source§

fn from(secret_key: &SecretKey<Decaf448>) -> DecafScalar

Converts to this type from the input type.
Source§

impl From<NonZeroScalar<Decaf448>> for DecafScalar

Source§

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

Converts to this type from the input type.
Source§

impl From<ScalarValue<Decaf448>> for DecafScalar

Source§

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

Converts to this type from the input type.
Source§

impl Mul<&<Decaf448 as CurveArithmetic>::AffinePoint> for &DecafScalar

Source§

type Output = <Decaf448 as CurveArithmetic>::ProjectivePoint

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl Mul<&<Decaf448 as CurveArithmetic>::AffinePoint> for DecafScalar

Source§

type Output = <Decaf448 as CurveArithmetic>::ProjectivePoint

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl Mul<&<Decaf448 as CurveArithmetic>::ProjectivePoint> for &DecafScalar

Source§

type Output = <Decaf448 as CurveArithmetic>::ProjectivePoint

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl Mul<&<Decaf448 as CurveArithmetic>::ProjectivePoint> for DecafScalar

Source§

type Output = <Decaf448 as CurveArithmetic>::ProjectivePoint

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl Mul<<Decaf448 as CurveArithmetic>::AffinePoint> for &DecafScalar

Source§

type Output = <Decaf448 as CurveArithmetic>::ProjectivePoint

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl Mul<<Decaf448 as CurveArithmetic>::AffinePoint> for DecafScalar

Source§

type Output = <Decaf448 as CurveArithmetic>::ProjectivePoint

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl Mul<<Decaf448 as CurveArithmetic>::ProjectivePoint> for &DecafScalar

Source§

type Output = <Decaf448 as CurveArithmetic>::ProjectivePoint

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl Mul<<Decaf448 as CurveArithmetic>::ProjectivePoint> for DecafScalar

Source§

type Output = <Decaf448 as CurveArithmetic>::ProjectivePoint

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl MulVartime<&<Decaf448 as CurveArithmetic>::AffinePoint> for &DecafScalar

Source§

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

Multiply self by rhs in variable-time.
Source§

impl MulVartime<&<Decaf448 as CurveArithmetic>::AffinePoint> for DecafScalar

Source§

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

Multiply self by rhs in variable-time.
Source§

impl MulVartime<&<Decaf448 as CurveArithmetic>::ProjectivePoint> for &DecafScalar

Source§

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

Multiply self by rhs in variable-time.
Source§

impl MulVartime<&<Decaf448 as CurveArithmetic>::ProjectivePoint> for DecafScalar

Source§

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

Multiply self by rhs in variable-time.
Source§

impl MulVartime<<Decaf448 as CurveArithmetic>::AffinePoint> for &DecafScalar

Source§

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

Multiply self by rhs in variable-time.
Source§

impl MulVartime<<Decaf448 as CurveArithmetic>::AffinePoint> for DecafScalar

Source§

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

Multiply self by rhs in variable-time.
Source§

impl MulVartime<<Decaf448 as CurveArithmetic>::ProjectivePoint> for &DecafScalar

Source§

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

Multiply self by rhs in variable-time.
Source§

impl MulVartime<<Decaf448 as CurveArithmetic>::ProjectivePoint> for DecafScalar

Source§

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

Multiply self by rhs in variable-time.
Source§

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

Source§

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

Reduces self modulo Modulus.