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 ing 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 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_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