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
impl EdwardsScalar
Sourcepub fn to_bytes_rfc_8032(&self) -> EdwardsScalarBytes
pub fn to_bytes_rfc_8032(&self) -> EdwardsScalarBytes
Serialize the scalar into 57 bytes, per RFC 8032. Byte 56 will always be zero.
Sourcepub fn from_bytes_mod_order_wide(
input: &WideEdwardsScalarBytes,
) -> EdwardsScalar
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
impl From<&NonZeroScalar<Ed448>> for EdwardsScalar
Source§fn from(scalar: &NonZeroScalar<Ed448>) -> Self
fn from(scalar: &NonZeroScalar<Ed448>) -> Self
Converts to this type from the input type.
Source§impl From<&ScalarValue<Ed448>> for EdwardsScalar
impl From<&ScalarValue<Ed448>> for EdwardsScalar
Source§fn from(w: &ScalarValue<Ed448>) -> EdwardsScalar
fn from(w: &ScalarValue<Ed448>) -> EdwardsScalar
Converts to this type from the input type.
Source§impl From<NonZeroScalar<Ed448>> for EdwardsScalar
impl From<NonZeroScalar<Ed448>> for EdwardsScalar
Source§fn from(scalar: NonZeroScalar<Ed448>) -> Self
fn from(scalar: NonZeroScalar<Ed448>) -> Self
Converts to this type from the input type.
Source§impl From<ScalarValue<Ed448>> for EdwardsScalar
impl From<ScalarValue<Ed448>> for EdwardsScalar
Source§fn from(w: ScalarValue<Ed448>) -> Self
fn from(w: ScalarValue<Ed448>) -> Self
Converts to this type from the input type.
Source§impl Mul<&<Ed448 as CurveArithmetic>::AffinePoint> for &EdwardsScalar
impl Mul<&<Ed448 as CurveArithmetic>::AffinePoint> for &EdwardsScalar
Source§type Output = <Ed448 as CurveArithmetic>::ProjectivePoint
type Output = <Ed448 as CurveArithmetic>::ProjectivePoint
The resulting type after applying the
* operator.Source§fn mul(self, rhs: &AffinePoint<Ed448>) -> ProjectivePoint<Ed448>
fn mul(self, rhs: &AffinePoint<Ed448>) -> ProjectivePoint<Ed448>
Performs the
* operation. Read moreSource§impl Mul<&<Ed448 as CurveArithmetic>::AffinePoint> for EdwardsScalar
impl Mul<&<Ed448 as CurveArithmetic>::AffinePoint> for EdwardsScalar
Source§type Output = <Ed448 as CurveArithmetic>::ProjectivePoint
type Output = <Ed448 as CurveArithmetic>::ProjectivePoint
The resulting type after applying the
* operator.Source§fn mul(self, rhs: &AffinePoint<Ed448>) -> ProjectivePoint<Ed448>
fn mul(self, rhs: &AffinePoint<Ed448>) -> ProjectivePoint<Ed448>
Performs the
* operation. Read moreSource§impl Mul<&<Ed448 as CurveArithmetic>::ProjectivePoint> for &EdwardsScalar
impl Mul<&<Ed448 as CurveArithmetic>::ProjectivePoint> for &EdwardsScalar
Source§type Output = <Ed448 as CurveArithmetic>::ProjectivePoint
type Output = <Ed448 as CurveArithmetic>::ProjectivePoint
The resulting type after applying the
* operator.Source§fn mul(self, rhs: &ProjectivePoint<Ed448>) -> ProjectivePoint<Ed448>
fn mul(self, rhs: &ProjectivePoint<Ed448>) -> ProjectivePoint<Ed448>
Performs the
* operation. Read moreSource§impl Mul<&<Ed448 as CurveArithmetic>::ProjectivePoint> for EdwardsScalar
impl Mul<&<Ed448 as CurveArithmetic>::ProjectivePoint> for EdwardsScalar
Source§type Output = <Ed448 as CurveArithmetic>::ProjectivePoint
type Output = <Ed448 as CurveArithmetic>::ProjectivePoint
The resulting type after applying the
* operator.Source§fn mul(self, rhs: &ProjectivePoint<Ed448>) -> ProjectivePoint<Ed448>
fn mul(self, rhs: &ProjectivePoint<Ed448>) -> ProjectivePoint<Ed448>
Performs the
* operation. Read moreSource§impl Mul<&MontgomeryPoint> for &EdwardsScalar
impl Mul<&MontgomeryPoint> for &EdwardsScalar
Source§type Output = MontgomeryPoint
type Output = MontgomeryPoint
The resulting type after applying the
* operator.Source§fn mul(self, point: &MontgomeryPoint) -> MontgomeryPoint
fn mul(self, point: &MontgomeryPoint) -> MontgomeryPoint
Performs the
* operation. Read moreSource§impl Mul<<Ed448 as CurveArithmetic>::AffinePoint> for &EdwardsScalar
impl Mul<<Ed448 as CurveArithmetic>::AffinePoint> for &EdwardsScalar
Source§type Output = <Ed448 as CurveArithmetic>::ProjectivePoint
type Output = <Ed448 as CurveArithmetic>::ProjectivePoint
The resulting type after applying the
* operator.Source§fn mul(self, rhs: AffinePoint<Ed448>) -> ProjectivePoint<Ed448>
fn mul(self, rhs: AffinePoint<Ed448>) -> ProjectivePoint<Ed448>
Performs the
* operation. Read moreSource§impl Mul<<Ed448 as CurveArithmetic>::AffinePoint> for EdwardsScalar
impl Mul<<Ed448 as CurveArithmetic>::AffinePoint> for EdwardsScalar
Source§type Output = <Ed448 as CurveArithmetic>::ProjectivePoint
type Output = <Ed448 as CurveArithmetic>::ProjectivePoint
The resulting type after applying the
* operator.Source§fn mul(self, rhs: AffinePoint<Ed448>) -> ProjectivePoint<Ed448>
fn mul(self, rhs: AffinePoint<Ed448>) -> ProjectivePoint<Ed448>
Performs the
* operation. Read moreSource§impl Mul<<Ed448 as CurveArithmetic>::ProjectivePoint> for &EdwardsScalar
impl Mul<<Ed448 as CurveArithmetic>::ProjectivePoint> for &EdwardsScalar
Source§type Output = <Ed448 as CurveArithmetic>::ProjectivePoint
type Output = <Ed448 as CurveArithmetic>::ProjectivePoint
The resulting type after applying the
* operator.Source§fn mul(self, rhs: ProjectivePoint<Ed448>) -> ProjectivePoint<Ed448>
fn mul(self, rhs: ProjectivePoint<Ed448>) -> ProjectivePoint<Ed448>
Performs the
* operation. Read moreSource§impl Mul<<Ed448 as CurveArithmetic>::ProjectivePoint> for EdwardsScalar
impl Mul<<Ed448 as CurveArithmetic>::ProjectivePoint> for EdwardsScalar
Source§type Output = <Ed448 as CurveArithmetic>::ProjectivePoint
type Output = <Ed448 as CurveArithmetic>::ProjectivePoint
The resulting type after applying the
* operator.Source§fn mul(self, rhs: ProjectivePoint<Ed448>) -> ProjectivePoint<Ed448>
fn mul(self, rhs: ProjectivePoint<Ed448>) -> ProjectivePoint<Ed448>
Performs the
* operation. Read moreSource§impl MulVartime<&<Ed448 as CurveArithmetic>::AffinePoint> for &EdwardsScalar
impl MulVartime<&<Ed448 as CurveArithmetic>::AffinePoint> for &EdwardsScalar
Source§fn mul_vartime(self, rhs: &AffinePoint<Ed448>) -> ProjectivePoint<Ed448>
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
impl MulVartime<&<Ed448 as CurveArithmetic>::AffinePoint> for EdwardsScalar
Source§fn mul_vartime(self, rhs: &AffinePoint<Ed448>) -> ProjectivePoint<Ed448>
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
impl MulVartime<&<Ed448 as CurveArithmetic>::ProjectivePoint> for &EdwardsScalar
Source§fn mul_vartime(self, rhs: &ProjectivePoint<Ed448>) -> ProjectivePoint<Ed448>
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
impl MulVartime<&<Ed448 as CurveArithmetic>::ProjectivePoint> for EdwardsScalar
Source§fn mul_vartime(self, rhs: &ProjectivePoint<Ed448>) -> ProjectivePoint<Ed448>
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
impl MulVartime<<Ed448 as CurveArithmetic>::AffinePoint> for &EdwardsScalar
Source§fn mul_vartime(self, rhs: AffinePoint<Ed448>) -> ProjectivePoint<Ed448>
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
impl MulVartime<<Ed448 as CurveArithmetic>::AffinePoint> for EdwardsScalar
Source§fn mul_vartime(self, rhs: AffinePoint<Ed448>) -> ProjectivePoint<Ed448>
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
impl MulVartime<<Ed448 as CurveArithmetic>::ProjectivePoint> for &EdwardsScalar
Source§fn mul_vartime(self, rhs: ProjectivePoint<Ed448>) -> ProjectivePoint<Ed448>
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
impl MulVartime<<Ed448 as CurveArithmetic>::ProjectivePoint> for EdwardsScalar
Source§fn mul_vartime(self, rhs: ProjectivePoint<Ed448>) -> ProjectivePoint<Ed448>
fn mul_vartime(self, rhs: ProjectivePoint<Ed448>) -> ProjectivePoint<Ed448>
Multiply
self by rhs in variable-time.