Crate elliptic_curve[][src]

Expand description

General purpose Elliptic Curve Cryptography (ECC) support, including types and traits for representing various elliptic curve forms, scalars, points, and public/secret keys composed thereof.

Minimum Supported Rust Version

Rust 1.51 or higher.

Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump.

Re-exports

pub use crypto_bigint as bigint;
pub use generic_array;
pub use rand_core;
pub use subtle;
pub use group;
pub use pkcs8;
pub use zeroize;

Modules

consts

Type aliases for many constants.

ecdhecdh

Elliptic Curve Diffie-Hellman Support.

ops

Traits for arithmetic operations on elliptic curve field elements.

sec1

SEC1 encoding support.

weierstrass

Elliptic curves in short Weierstrass form.

Structs

Error

Elliptic curve errors.

JwkEcKeyjwk

JSON Web Key (JWK) with a kty of "EC" (elliptic curve).

NonZeroScalararithmetic

Non-zero scalar type.

PublicKeyarithmetic

Elliptic curve public keys.

ScalarBytes

Scalar bytes: wrapper for FieldBytes which guarantees that the the inner byte value is within range of the Curve::ORDER.

SecretKeyzeroize

Elliptic curve secret keys.

Constants

ALGORITHM_OIDpkcs8

Algorithm ObjectIdentifier for elliptic curve public key cryptography.

Traits

AffineArithmeticarithmetic

Elliptic curve with affine arithmetic implementation.

AlgorithmParameterspkcs8

Associate an ObjectIdentifier (OID) with an elliptic curve algorithm implementation.

Curve

Elliptic curve.

Field

This trait represents an element of a field.

Group

This trait represents an element of a cryptographic group.

JwkParametersjwk

Elliptic curve parameters used by JSON Web Keys.

ProjectiveArithmeticarithmetic

Elliptic curve with projective arithmetic implementation.

ScalarArithmeticarithmetic

Scalar arithmetic.

Type Definitions

AffinePointarithmetic

Affine point type for a given curve with a ProjectiveArithmetic implementation.

FieldBytes

Byte representation of a base/scalar field element of a given curve.

FieldSize

Size of field elements of this elliptic curve.

ProjectivePointarithmetic

Projective point type for a given curve with a ProjectiveArithmetic implementation.

Result

Result type.

Scalararithmetic

Scalar field element for a particular elliptic curve.