pub struct ExtendedPoint {
pub(crate) X: FieldElement,
pub(crate) Y: FieldElement,
pub(crate) Z: FieldElement,
pub(crate) T: FieldElement,
}Fields§
§X: FieldElement§Y: FieldElement§Z: FieldElement§T: FieldElementImplementations§
Source§impl ExtendedPoint
impl ExtendedPoint
Sourcepub const GENERATOR: ExtendedPoint
pub const GENERATOR: ExtendedPoint
Generator for the prime subgroup
Sourcepub const IDENTITY: ExtendedPoint
pub const IDENTITY: ExtendedPoint
Identity point
Sourcepub fn add_extended(&self, other: &ExtendedPoint) -> ExtensiblePoint
pub fn add_extended(&self, other: &ExtendedPoint) -> ExtensiblePoint
Adds an extensible point to an extended point Returns an extensible point (3.1) https://iacr.org/archive/asiacrypt2008/53500329/53500329.pdf
Sourcepub fn sub_extended(&self, other: &ExtendedPoint) -> ExtensiblePoint
pub fn sub_extended(&self, other: &ExtendedPoint) -> ExtensiblePoint
Subtracts an extensible point from an extended point
Returns an extensible point
This is a direct modification of the addition formula to the negation of other
Sourcepub fn add_affine_niels(&self, other: AffineNielsPoint) -> ExtensiblePoint
pub fn add_affine_niels(&self, other: AffineNielsPoint) -> ExtensiblePoint
Adds an extensible point to an AffineNiels point Returns an Extensible point
Sourcepub fn add_projective_niels(
&self,
other: &ProjectiveNielsPoint,
) -> ExtensiblePoint
pub fn add_projective_niels( &self, other: &ProjectiveNielsPoint, ) -> ExtensiblePoint
Adds an extensible point to a ProjectiveNiels point Returns an extensible point (3.1)[Last set of formulas] https://iacr.org/archive/asiacrypt2008/53500329/53500329.pdf This differs from the formula above by a factor of 2. Saving 1 Double Cost 8M
Sourcepub fn to_extensible(self) -> ExtensiblePoint
pub fn to_extensible(self) -> ExtensiblePoint
Converts an ExtendedPoint to an ExtensiblePoint
Sourcepub fn to_untwisted(self) -> EdwardsExtendedPoint
pub fn to_untwisted(self) -> EdwardsExtendedPoint
Uses a 2-isogeny to map the point to the Ed448-Goldilocks
Sourcepub fn to_projective_niels(self) -> ProjectiveNielsPoint
pub fn to_projective_niels(self) -> ProjectiveNielsPoint
Converts an Extensible point to a ProjectiveNiels Point
Sourcepub(crate) fn is_on_curve(&self) -> Choice
pub(crate) fn is_on_curve(&self) -> Choice
Checks if the point is on the curve
Sourcepub fn negate(&self) -> ExtendedPoint
pub fn negate(&self) -> ExtendedPoint
Negates a point
Sourcepub fn torque(&self) -> ExtendedPoint
pub fn torque(&self) -> ExtendedPoint
Torques a point
Trait Implementations§
Source§impl Clone for ExtendedPoint
impl Clone for ExtendedPoint
Source§fn clone(&self) -> ExtendedPoint
fn clone(&self) -> ExtendedPoint
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl ConditionallySelectable for ExtendedPoint
impl ConditionallySelectable for ExtendedPoint
Source§fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self
fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self
Source§fn conditional_assign(&mut self, other: &Self, choice: Choice)
fn conditional_assign(&mut self, other: &Self, choice: Choice)
Source§fn conditional_swap(a: &mut Self, b: &mut Self, choice: Choice)
fn conditional_swap(a: &mut Self, b: &mut Self, choice: Choice)
self and other if choice == 1; otherwise,
reassign both unto themselves. Read moreSource§impl ConstantTimeEq for ExtendedPoint
impl ConstantTimeEq for ExtendedPoint
Source§impl Debug for ExtendedPoint
impl Debug for ExtendedPoint
Source§impl Default for ExtendedPoint
impl Default for ExtendedPoint
Source§fn default() -> ExtendedPoint
fn default() -> ExtendedPoint
Source§impl From<&ExtendedPoint> for LookupTable
Precomputes odd multiples of the point passed in
impl From<&ExtendedPoint> for LookupTable
Precomputes odd multiples of the point passed in