pub struct EcPointRef(/* private fields */);
Expand description
A reference a borrowed EcPoint
.
Implementations§
Source§impl EcPointRef
impl EcPointRef
Sourcepub fn add(
&mut self,
group: &EcGroupRef,
a: &EcPointRef,
b: &EcPointRef,
ctx: &mut BigNumContextRef,
) -> Result<(), ErrorStack>
pub fn add( &mut self, group: &EcGroupRef, a: &EcPointRef, b: &EcPointRef, ctx: &mut BigNumContextRef, ) -> Result<(), ErrorStack>
Computes a + b
, storing the result in self
.
This corresponds to EC_POINT_add
.
Sourcepub fn mul(
&mut self,
group: &EcGroupRef,
q: &EcPointRef,
m: &BigNumRef,
ctx: &BigNumContextRef,
) -> Result<(), ErrorStack>
pub fn mul( &mut self, group: &EcGroupRef, q: &EcPointRef, m: &BigNumRef, ctx: &BigNumContextRef, ) -> Result<(), ErrorStack>
Computes q * m
, storing the result in self
.
This corresponds to EC_POINT_mul
.
Sourcepub fn mul_generator(
&mut self,
group: &EcGroupRef,
n: &BigNumRef,
ctx: &BigNumContextRef,
) -> Result<(), ErrorStack>
pub fn mul_generator( &mut self, group: &EcGroupRef, n: &BigNumRef, ctx: &BigNumContextRef, ) -> Result<(), ErrorStack>
Computes generator * n
, storing the result in self
.
This corresponds to EC_POINT_mul
.
Sourcepub fn mul_full(
&mut self,
group: &EcGroupRef,
n: &BigNumRef,
q: &EcPointRef,
m: &BigNumRef,
ctx: &mut BigNumContextRef,
) -> Result<(), ErrorStack>
pub fn mul_full( &mut self, group: &EcGroupRef, n: &BigNumRef, q: &EcPointRef, m: &BigNumRef, ctx: &mut BigNumContextRef, ) -> Result<(), ErrorStack>
Computes generator * n + q * m
, storing the result in self
.
This corresponds to EC_POINT_mul
.
Sourcepub fn invert(
&mut self,
group: &EcGroupRef,
ctx: &BigNumContextRef,
) -> Result<(), ErrorStack>
pub fn invert( &mut self, group: &EcGroupRef, ctx: &BigNumContextRef, ) -> Result<(), ErrorStack>
Inverts self
.
This corresponds to EC_POINT_invert
.
Sourcepub fn to_bytes(
&self,
group: &EcGroupRef,
form: PointConversionForm,
ctx: &mut BigNumContextRef,
) -> Result<Vec<u8>, ErrorStack>
pub fn to_bytes( &self, group: &EcGroupRef, form: PointConversionForm, ctx: &mut BigNumContextRef, ) -> Result<Vec<u8>, ErrorStack>
Serializes the point to a binary representation.
This corresponds to EC_POINT_point2oct
.
Sourcepub fn to_hex_str(
&self,
group: &EcGroupRef,
form: PointConversionForm,
ctx: &mut BigNumContextRef,
) -> Result<OpensslString, ErrorStack>
pub fn to_hex_str( &self, group: &EcGroupRef, form: PointConversionForm, ctx: &mut BigNumContextRef, ) -> Result<OpensslString, ErrorStack>
Serializes the point to a hexadecimal string representation.
This corresponds to EC_POINT_point2hex
.
Sourcepub fn to_owned(&self, group: &EcGroupRef) -> Result<EcPoint, ErrorStack>
pub fn to_owned(&self, group: &EcGroupRef) -> Result<EcPoint, ErrorStack>
Creates a new point on the specified curve with the same value.
This corresponds to EC_POINT_dup
.
Sourcepub fn eq(
&self,
group: &EcGroupRef,
other: &EcPointRef,
ctx: &mut BigNumContextRef,
) -> Result<bool, ErrorStack>
pub fn eq( &self, group: &EcGroupRef, other: &EcPointRef, ctx: &mut BigNumContextRef, ) -> Result<bool, ErrorStack>
Determines if this point is equal to another.
This corresponds to EC_POINT_cmp
.
Sourcepub fn affine_coordinates(
&self,
group: &EcGroupRef,
x: &mut BigNumRef,
y: &mut BigNumRef,
ctx: &mut BigNumContextRef,
) -> Result<(), ErrorStack>
pub fn affine_coordinates( &self, group: &EcGroupRef, x: &mut BigNumRef, y: &mut BigNumRef, ctx: &mut BigNumContextRef, ) -> Result<(), ErrorStack>
Places affine coordinates of a curve over a prime field in the provided
x
and y
BigNum
s.
This corresponds to EC_POINT_get_affine_coordinates
.
Sourcepub fn affine_coordinates_gfp(
&self,
group: &EcGroupRef,
x: &mut BigNumRef,
y: &mut BigNumRef,
ctx: &mut BigNumContextRef,
) -> Result<(), ErrorStack>
pub fn affine_coordinates_gfp( &self, group: &EcGroupRef, x: &mut BigNumRef, y: &mut BigNumRef, ctx: &mut BigNumContextRef, ) -> Result<(), ErrorStack>
Places affine coordinates of a curve over a prime field in the provided
x
and y
BigNum
s
This corresponds to EC_POINT_get_affine_coordinates_GFp
.
Sourcepub fn set_affine_coordinates_gfp(
&mut self,
group: &EcGroupRef,
x: &BigNumRef,
y: &BigNumRef,
ctx: &mut BigNumContextRef,
) -> Result<(), ErrorStack>
pub fn set_affine_coordinates_gfp( &mut self, group: &EcGroupRef, x: &BigNumRef, y: &BigNumRef, ctx: &mut BigNumContextRef, ) -> Result<(), ErrorStack>
Sets affine coordinates of a curve over a prime field using the provided
x
and y
BigNum
s
This corresponds to EC_POINT_set_affine_coordinates_GFp
.
Sourcepub fn affine_coordinates_gf2m(
&self,
group: &EcGroupRef,
x: &mut BigNumRef,
y: &mut BigNumRef,
ctx: &mut BigNumContextRef,
) -> Result<(), ErrorStack>
pub fn affine_coordinates_gf2m( &self, group: &EcGroupRef, x: &mut BigNumRef, y: &mut BigNumRef, ctx: &mut BigNumContextRef, ) -> Result<(), ErrorStack>
Places affine coordinates of a curve over a binary field in the provided
x
and y
BigNum
s
This corresponds to EC_POINT_get_affine_coordinates_GF2m
.
Sourcepub fn is_infinity(&self, group: &EcGroupRef) -> bool
pub fn is_infinity(&self, group: &EcGroupRef) -> bool
Checks if point is infinity
This corresponds to EC_POINT_is_at_infinity
.
Sourcepub fn is_on_curve(
&self,
group: &EcGroupRef,
ctx: &mut BigNumContextRef,
) -> Result<bool, ErrorStack>
pub fn is_on_curve( &self, group: &EcGroupRef, ctx: &mut BigNumContextRef, ) -> Result<bool, ErrorStack>
Checks if point is on a given curve
This corresponds to EC_POINT_is_on_curve
.
Trait Implementations§
Source§impl AsRef<EcPointRef> for EcPoint
impl AsRef<EcPointRef> for EcPoint
Source§fn as_ref(&self) -> &EcPointRef
fn as_ref(&self) -> &EcPointRef
Source§impl Borrow<EcPointRef> for EcPoint
impl Borrow<EcPointRef> for EcPoint
Source§fn borrow(&self) -> &EcPointRef
fn borrow(&self) -> &EcPointRef
Source§impl ForeignTypeRef for EcPointRef
impl ForeignTypeRef for EcPointRef
impl Send for EcPointRef
impl Sync for EcPointRef
Auto Trait Implementations§
impl !Freeze for EcPointRef
impl !RefUnwindSafe for EcPointRef
impl Unpin for EcPointRef
impl UnwindSafe for EcPointRef
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
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 0 bytes