pub struct EcPoint(_);
Expand description
Represents a point on the curve
OpenSSL documentation at EC_POINT_new
Implementations
sourceimpl EcPoint
impl EcPoint
sourcepub fn new(group: &EcGroupRef) -> Result<EcPoint, ErrorStack>
pub fn new(group: &EcGroupRef) -> Result<EcPoint, ErrorStack>
Creates a new point on the specified curve.
OpenSSL documentation at EC_POINT_new
sourcepub fn from_bytes(
group: &EcGroupRef,
buf: &[u8],
ctx: &mut BigNumContextRef
) -> Result<EcPoint, ErrorStack>
pub fn from_bytes(
group: &EcGroupRef,
buf: &[u8],
ctx: &mut BigNumContextRef
) -> Result<EcPoint, ErrorStack>
Creates point from a binary representation
OpenSSL documentation at EC_POINT_oct2point
Methods from Deref<Target = 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
.
OpenSSL documentation at 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
.
OpenSSL documentation at 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
.
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
.
sourcepub fn invert(
&mut self,
group: &EcGroupRef,
ctx: &BigNumContextRef
) -> Result<(), ErrorStack>
pub fn invert(
&mut self,
group: &EcGroupRef,
ctx: &BigNumContextRef
) -> Result<(), ErrorStack>
Inverts self
.
OpenSSL documentation at 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.
OpenSSL documentation at EC_POINT_point2oct
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.
OpenSSL documentation at 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.
OpenSSL doucmentation at 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>
Place affine coordinates of a curve over a prime field in the provided
x
and y
BigNum
s
OpenSSL documentation at 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>
Place affine coordinates of a curve over a prime field in the provided
x
and y
BigNum
s
OpenSSL documentation at EC_POINT_get_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>
Place affine coordinates of a curve over a binary field in the provided
x
and y
BigNum
s
OpenSSL documentation at 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
OpenSSL documentation at 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
OpenSSL documentation at EC_POINT_is_on_curve
Trait Implementations
sourceimpl AsRef<EcPointRef> for EcPoint
impl AsRef<EcPointRef> for EcPoint
sourcefn as_ref(&self) -> &EcPointRef
fn as_ref(&self) -> &EcPointRef
Converts this type into a shared reference of the (usually inferred) input type.
sourceimpl Borrow<EcPointRef> for EcPoint
impl Borrow<EcPointRef> for EcPoint
sourcefn borrow(&self) -> &EcPointRef
fn borrow(&self) -> &EcPointRef
Immutably borrows from an owned value. Read more
sourceimpl Deref for EcPoint
impl Deref for EcPoint
type Target = EcPointRef
type Target = EcPointRef
The resulting type after dereferencing.
sourcefn deref(&self) -> &EcPointRef
fn deref(&self) -> &EcPointRef
Dereferences the value.
sourceimpl DerefMut for EcPoint
impl DerefMut for EcPoint
sourcefn deref_mut(&mut self) -> &mut EcPointRef
fn deref_mut(&mut self) -> &mut EcPointRef
Mutably dereferences the value.
sourceimpl ForeignType for EcPoint
impl ForeignType for EcPoint
impl Send for EcPoint
impl Sync for EcPoint
Auto Trait Implementations
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more