pub struct G1Affine { /* private fields */ }
Expand description
G₁ affine point representation.
Implementations§
Source§impl G1Affine
impl G1Affine
Sourcepub fn is_identity(&self) -> Choice
pub fn is_identity(&self) -> Choice
Check if point at infinity.
Sourcepub fn is_on_curve(&self) -> Choice
pub fn is_on_curve(&self) -> Choice
Curve membership check.
Sourcepub fn is_torsion_free(&self) -> Choice
pub fn is_torsion_free(&self) -> Choice
Subgroup check using endomorphism.
Sourcepub fn to_compressed(&self) -> [u8; 48]
pub fn to_compressed(&self) -> [u8; 48]
Compress to 48 bytes.
Sourcepub fn to_uncompressed(&self) -> [u8; 96]
pub fn to_uncompressed(&self) -> [u8; 96]
Serialize to 96 bytes uncompressed.
Sourcepub fn from_uncompressed(bytes: &[u8; 96]) -> CtOption<Self>
pub fn from_uncompressed(bytes: &[u8; 96]) -> CtOption<Self>
Deserialize from uncompressed bytes.
Sourcepub fn from_uncompressed_unchecked(bytes: &[u8; 96]) -> CtOption<Self>
pub fn from_uncompressed_unchecked(bytes: &[u8; 96]) -> CtOption<Self>
Deserialize without validation.
Sourcepub fn from_compressed(bytes: &[u8; 48]) -> Result<Self>
pub fn from_compressed(bytes: &[u8; 48]) -> Result<Self>
Deserialize from compressed bytes with dcrypt error handling
Trait Implementations§
Source§impl<'a, 'b> Add<&'b G1Affine> for &'a G1Projective
impl<'a, 'b> Add<&'b G1Affine> for &'a G1Projective
Source§type Output = G1Projective
type Output = G1Projective
The resulting type after applying the
+
operator.Source§impl<'b> Add<&'b G1Affine> for G1Projective
impl<'b> Add<&'b G1Affine> for G1Projective
Source§type Output = G1Projective
type Output = G1Projective
The resulting type after applying the
+
operator.Source§impl<'a, 'b> Add<&'b G1Projective> for &'a G1Affine
impl<'a, 'b> Add<&'b G1Projective> for &'a G1Affine
Source§type Output = G1Projective
type Output = G1Projective
The resulting type after applying the
+
operator.Source§fn add(self, rhs: &'b G1Projective) -> G1Projective
fn add(self, rhs: &'b G1Projective) -> G1Projective
Performs the
+
operation. Read moreSource§impl<'b> Add<&'b G1Projective> for G1Affine
impl<'b> Add<&'b G1Projective> for G1Affine
Source§type Output = G1Projective
type Output = G1Projective
The resulting type after applying the
+
operator.Source§fn add(self, rhs: &'b G1Projective) -> G1Projective
fn add(self, rhs: &'b G1Projective) -> G1Projective
Performs the
+
operation. Read moreSource§impl<'a> Add<G1Affine> for &'a G1Projective
impl<'a> Add<G1Affine> for &'a G1Projective
Source§type Output = G1Projective
type Output = G1Projective
The resulting type after applying the
+
operator.Source§impl Add<G1Affine> for G1Projective
impl Add<G1Affine> for G1Projective
Source§type Output = G1Projective
type Output = G1Projective
The resulting type after applying the
+
operator.Source§impl<'a> Add<G1Projective> for &'a G1Affine
impl<'a> Add<G1Projective> for &'a G1Affine
Source§type Output = G1Projective
type Output = G1Projective
The resulting type after applying the
+
operator.Source§fn add(self, rhs: G1Projective) -> G1Projective
fn add(self, rhs: G1Projective) -> G1Projective
Performs the
+
operation. Read moreSource§impl Add<G1Projective> for G1Affine
impl Add<G1Projective> for G1Affine
Source§type Output = G1Projective
type Output = G1Projective
The resulting type after applying the
+
operator.Source§fn add(self, rhs: G1Projective) -> G1Projective
fn add(self, rhs: G1Projective) -> G1Projective
Performs the
+
operation. Read moreSource§impl<'b> AddAssign<&'b G1Affine> for G1Projective
impl<'b> AddAssign<&'b G1Affine> for G1Projective
Source§fn add_assign(&mut self, rhs: &'b G1Affine)
fn add_assign(&mut self, rhs: &'b G1Affine)
Performs the
+=
operation. Read moreSource§impl AddAssign<G1Affine> for G1Projective
impl AddAssign<G1Affine> for G1Projective
Source§fn add_assign(&mut self, rhs: G1Affine)
fn add_assign(&mut self, rhs: G1Affine)
Performs the
+=
operation. Read moreSource§impl ConditionallySelectable for G1Affine
impl ConditionallySelectable for G1Affine
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)
Conditionally swap
self
and other
if choice == 1
; otherwise,
reassign both unto themselves. Read moreSource§impl ConstantTimeEq for G1Affine
impl ConstantTimeEq for G1Affine
Source§impl<'a> From<&'a G1Affine> for G1Projective
impl<'a> From<&'a G1Affine> for G1Projective
Source§fn from(p: &'a G1Affine) -> G1Projective
fn from(p: &'a G1Affine) -> G1Projective
Converts to this type from the input type.
Source§impl<'a> From<&'a G1Projective> for G1Affine
impl<'a> From<&'a G1Projective> for G1Affine
Source§fn from(p: &'a G1Projective) -> G1Affine
fn from(p: &'a G1Projective) -> G1Affine
Converts to this type from the input type.
Source§impl From<G1Affine> for G1Projective
impl From<G1Affine> for G1Projective
Source§fn from(p: G1Affine) -> G1Projective
fn from(p: G1Affine) -> G1Projective
Converts to this type from the input type.
Source§impl From<G1Projective> for G1Affine
impl From<G1Projective> for G1Affine
Source§fn from(p: G1Projective) -> G1Affine
fn from(p: G1Projective) -> G1Affine
Converts to this type from the input type.
Source§impl<'b> Mul<&'b G1Affine> for Scalar
impl<'b> Mul<&'b G1Affine> for Scalar
Source§type Output = G1Projective
type Output = G1Projective
The resulting type after applying the
*
operator.Source§impl<'b> Mul<&'b Scalar> for G1Affine
impl<'b> Mul<&'b Scalar> for G1Affine
Source§type Output = G1Projective
type Output = G1Projective
The resulting type after applying the
*
operator.Source§impl<'a> Mul<G1Affine> for &'a Scalar
impl<'a> Mul<G1Affine> for &'a Scalar
Source§type Output = G1Projective
type Output = G1Projective
The resulting type after applying the
*
operator.Source§impl Mul<G1Affine> for Scalar
impl Mul<G1Affine> for Scalar
Source§type Output = G1Projective
type Output = G1Projective
The resulting type after applying the
*
operator.Source§impl<'a> Mul<Scalar> for &'a G1Affine
impl<'a> Mul<Scalar> for &'a G1Affine
Source§type Output = G1Projective
type Output = G1Projective
The resulting type after applying the
*
operator.Source§impl Mul<Scalar> for G1Affine
impl Mul<Scalar> for G1Affine
Source§type Output = G1Projective
type Output = G1Projective
The resulting type after applying the
*
operator.Source§impl<'a, 'b> Sub<&'b G1Affine> for &'a G1Projective
impl<'a, 'b> Sub<&'b G1Affine> for &'a G1Projective
Source§type Output = G1Projective
type Output = G1Projective
The resulting type after applying the
-
operator.Source§impl<'b> Sub<&'b G1Affine> for G1Projective
impl<'b> Sub<&'b G1Affine> for G1Projective
Source§type Output = G1Projective
type Output = G1Projective
The resulting type after applying the
-
operator.Source§impl<'a, 'b> Sub<&'b G1Projective> for &'a G1Affine
impl<'a, 'b> Sub<&'b G1Projective> for &'a G1Affine
Source§type Output = G1Projective
type Output = G1Projective
The resulting type after applying the
-
operator.Source§fn sub(self, rhs: &'b G1Projective) -> G1Projective
fn sub(self, rhs: &'b G1Projective) -> G1Projective
Performs the
-
operation. Read moreSource§impl<'b> Sub<&'b G1Projective> for G1Affine
impl<'b> Sub<&'b G1Projective> for G1Affine
Source§type Output = G1Projective
type Output = G1Projective
The resulting type after applying the
-
operator.Source§fn sub(self, rhs: &'b G1Projective) -> G1Projective
fn sub(self, rhs: &'b G1Projective) -> G1Projective
Performs the
-
operation. Read moreSource§impl<'a> Sub<G1Affine> for &'a G1Projective
impl<'a> Sub<G1Affine> for &'a G1Projective
Source§type Output = G1Projective
type Output = G1Projective
The resulting type after applying the
-
operator.Source§impl Sub<G1Affine> for G1Projective
impl Sub<G1Affine> for G1Projective
Source§type Output = G1Projective
type Output = G1Projective
The resulting type after applying the
-
operator.Source§impl<'a> Sub<G1Projective> for &'a G1Affine
impl<'a> Sub<G1Projective> for &'a G1Affine
Source§type Output = G1Projective
type Output = G1Projective
The resulting type after applying the
-
operator.Source§fn sub(self, rhs: G1Projective) -> G1Projective
fn sub(self, rhs: G1Projective) -> G1Projective
Performs the
-
operation. Read moreSource§impl Sub<G1Projective> for G1Affine
impl Sub<G1Projective> for G1Affine
Source§type Output = G1Projective
type Output = G1Projective
The resulting type after applying the
-
operator.Source§fn sub(self, rhs: G1Projective) -> G1Projective
fn sub(self, rhs: G1Projective) -> G1Projective
Performs the
-
operation. Read moreSource§impl<'b> SubAssign<&'b G1Affine> for G1Projective
impl<'b> SubAssign<&'b G1Affine> for G1Projective
Source§fn sub_assign(&mut self, rhs: &'b G1Affine)
fn sub_assign(&mut self, rhs: &'b G1Affine)
Performs the
-=
operation. Read moreSource§impl SubAssign<G1Affine> for G1Projective
impl SubAssign<G1Affine> for G1Projective
Source§fn sub_assign(&mut self, rhs: G1Affine)
fn sub_assign(&mut self, rhs: G1Affine)
Performs the
-=
operation. Read moreimpl Copy for G1Affine
impl DefaultIsZeroes for G1Affine
impl Eq for G1Affine
Auto Trait Implementations§
impl Freeze for G1Affine
impl RefUnwindSafe for G1Affine
impl Send for G1Affine
impl Sync for G1Affine
impl Unpin for G1Affine
impl UnwindSafe for G1Affine
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