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
.
OpenSSL documentation available at 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.
OpenSSL documentation at 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
.
OpenSSL documentation at EC_GROUP_get_cofactor
sourcepub fn degree(&self) -> u32
pub fn degree(&self) -> u32
Returns the degree of the curve.
OpenSSL documentation at 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.
OpenSSL documentation at EC_GROUP_order_bits
sourcepub fn generator(&self) -> &EcPointRef
pub fn generator(&self) -> &EcPointRef
Returns the generator for the given curve as a EcPoint
.
OpenSSL documentation at 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
.
OpenSSL documentation at 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.
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.
OpenSSL documentation at 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