Struct openssl::ec::EcGroupRef
source · [−]pub struct EcGroupRef(_);
Expand description
Reference to EcGroup
Implementations
sourceimpl EcGroupRef
impl EcGroupRef
sourcepub fn components_gfp(
&self,
p: &mut BigNumRef,
a: &mut BigNumRef,
b: &mut BigNumRef,
ctx: &mut BigNumContextRef
) -> Result<(), ErrorStack>
pub fn components_gfp(
&self,
p: &mut BigNumRef,
a: &mut BigNumRef,
b: &mut BigNumRef,
ctx: &mut BigNumContextRef
) -> Result<(), ErrorStack>
Places the components of a curve over a prime field in the provided BigNum
s.
The components make up the formula y^2 mod p = x^3 + ax + b mod p
.
This corresponds to EC_GROUP_get_curve_GFp
.
sourcepub fn components_gf2m(
&self,
p: &mut BigNumRef,
a: &mut BigNumRef,
b: &mut BigNumRef,
ctx: &mut BigNumContextRef
) -> Result<(), ErrorStack>
pub fn components_gf2m(
&self,
p: &mut BigNumRef,
a: &mut BigNumRef,
b: &mut BigNumRef,
ctx: &mut BigNumContextRef
) -> Result<(), ErrorStack>
Places the components of a curve over a binary field in the provided BigNum
s.
The components make up the formula y^2 + xy = x^3 + ax^2 + b
.
In this form p
relates to the irreducible polynomial. Each bit represents
a term in the polynomial. It will be set to 3 1
s or 5 1
s depending on
using a trinomial or pentanomial.
This corresponds to EC_GROUP_get_curve_GF2m
.
sourcepub fn cofactor(
&self,
cofactor: &mut BigNumRef,
ctx: &mut BigNumContextRef
) -> Result<(), ErrorStack>
pub fn cofactor(
&self,
cofactor: &mut BigNumRef,
ctx: &mut BigNumContextRef
) -> Result<(), ErrorStack>
Places the cofactor of the group in the provided BigNum
.
This corresponds to EC_GROUP_get_cofactor
.
sourcepub fn degree(&self) -> u32
pub fn degree(&self) -> u32
Returns the degree of the curve.
This corresponds to EC_GROUP_get_degree
.
sourcepub fn order_bits(&self) -> u32
pub fn order_bits(&self) -> u32
Returns the number of bits in the group order.
This corresponds to EC_GROUP_order_bits
.
sourcepub fn generator(&self) -> &EcPointRef
pub fn generator(&self) -> &EcPointRef
Returns the generator for the given curve as an EcPoint
.
This corresponds to EC_GROUP_get0_generator
.
sourcepub fn order(
&self,
order: &mut BigNumRef,
ctx: &mut BigNumContextRef
) -> Result<(), ErrorStack>
pub fn order(
&self,
order: &mut BigNumRef,
ctx: &mut BigNumContextRef
) -> Result<(), ErrorStack>
Places the order of the curve in the provided BigNum
.
This corresponds to EC_GROUP_get_order
.
sourcepub fn set_asn1_flag(&mut self, flag: Asn1Flag)
pub fn set_asn1_flag(&mut self, flag: Asn1Flag)
Sets the flag determining if the group corresponds to a named curve or must be explicitly parameterized.
This defaults to EXPLICIT_CURVE
in OpenSSL 1.0.1 and 1.0.2, but NAMED_CURVE
in OpenSSL
1.1.0.
This corresponds to EC_GROUP_set_asn1_flag
.
sourcepub fn curve_name(&self) -> Option<Nid>
pub fn curve_name(&self) -> Option<Nid>
Returns the name of the curve, if a name is associated.
This corresponds to EC_GROUP_get_curve_name
.
Trait Implementations
sourceimpl AsRef<EcGroupRef> for EcGroup
impl AsRef<EcGroupRef> for EcGroup
sourcefn as_ref(&self) -> &EcGroupRef
fn as_ref(&self) -> &EcGroupRef
Converts this type into a shared reference of the (usually inferred) input type.
sourceimpl Borrow<EcGroupRef> for EcGroup
impl Borrow<EcGroupRef> for EcGroup
sourcefn borrow(&self) -> &EcGroupRef
fn borrow(&self) -> &EcGroupRef
Immutably borrows from an owned value. Read more
sourceimpl ForeignTypeRef for EcGroupRef
impl ForeignTypeRef for EcGroupRef
impl Send for EcGroupRef
impl Sync for EcGroupRef
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