# [−][src]Module openssl::ec

Elliptic Curve

Cryptology relies on the difficulty of solving mathematical problems, such as the factor of large integers composed of two large prime numbers and the discrete logarithm of a random eliptic curve. This module provides low-level features of the latter. Elliptic Curve protocols can provide the same security with smaller keys.

There are 2 forms of elliptic curves, `Fp`

and `F2^m`

. These curves use irreducible
trinomial or pentanomial . Being a generic interface to a wide range of algorithms,
the cuves are generally referenced by `EcGroup`

. There are many built in groups
found in `Nid`

.

OpenSSL Wiki explains the fields and curves in detail at Eliptic Curve Cryptography.

# Examples

use openssl::ec::{EcGroup, EcPoint}; use openssl::nid::Nid; use openssl::error::ErrorStack; fn get_ec_point() -> Result<EcPoint, ErrorStack> { let group = EcGroup::from_curve_name(Nid::SECP224R1)?; let point = EcPoint::new(&group)?; Ok(point) }

## Structs

Asn1Flag | Named Curve or Explicit |

EcGroup | Describes the curve |

EcGroupRef | Reference to |

EcKey | Public and optional Private key on the given curve |

EcKeyRef | Reference to |

EcPoint | Represents a point on the curve |

EcPointRef | Reference to |

PointConversionForm | Compressed or Uncompressed conversion |