Crate ecdsa[][src]

Elliptic Curve Digital Signature Algorithm (ECDSA) as specified in FIPS 186-4 (Digital Signature Standard)

About

This crate provides generic ECDSA support which can be used in the following ways:

  • Generic implementation of ECDSA usable with the following crates:
  • ECDSA signature types alone which can be used to provide interoperability between other crates that provide an ECDSA implementation:

Any crates which provide an implementation of ECDSA for a particular elliptic curve can leverage the types from this crate, along with the k256, p256, and/or p384 crates to expose ECDSA functionality in a generic, interoperable way by leveraging the Signature type with in conjunction with the signature::Signer and signature::Verifier traits.

For example, the ring-compat crate implements the signature::Signer and signature::Verifier traits in conjunction with the p256::ecdsa::Signature and p384::ecdsa::Signature types to wrap the ECDSA implementations from ring in a generic, interoperable API.

Minimum Supported Rust Version

Rust 1.47 or higher.

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

Re-exports

pub use elliptic_curve;
pub use signature;

Modules

derder

Support for ECDSA signatures encoded as ASN.1 DER.

devdev

Development-related functionality.

hazmathazmat

Low-level ECDSA primitives.

rfc6979sign

Support for computing deterministic ECDSA ephemeral scalar (k).

Macros

new_signing_testdev

Define ECDSA signing test.

new_verification_testdev

Define ECDSA verification test.

new_wycheproof_testdev

Define a Wycheproof verification test.

Structs

EncodedPoint

SEC1 encoded curve point.

Error

Signature errors.

Signature

ECDSA signature (fixed-size). Generic over elliptic curve types.

SigningKeysign

ECDSA signing key. Generic over elliptic curves.

VerifyingKeyverify

ECDSA verification key (i.e. public key). Generic over elliptic curves.

Traits

Curve

Marker trait for elliptic curves in short Weierstrass form.

NormalizeLow

Normalize a scalar (i.e. ECDSA S) to the lower half the field, as described in BIP 0062: Dealing with Malleability.

Type Definitions

SignatureBytes

Fixed-size byte array containing an ECDSA signature

SignatureSize

Size of a fixed sized signature for the given elliptic curve.