Crate ecdsa_flow[][src]

Expand description

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_flow::Signer and signature_flow::Verifier traits.

For example, the ring-compat crate implements the signature_flow::Signer and signature_flow::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.52 or higher.

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

Re-exports

Modules

derder

Support for ECDSA signatures encoded as ASN.1 DER.

devdev

Development-related functionality.

hazmathazmat

Low-level ECDSA primitives.

Support for computing deterministic ECDSA ephemeral scalar (k).

Macros

Define ECDSA signing test.

Define ECDSA verification test.

Define a Wycheproof verification test.

Structs

SEC1 encoded curve point.

Signature errors.

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

ECDSA signing key. Generic over elliptic curves.

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

Traits

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

Marker trait for elliptic curves with prime order.

Type Definitions

Result type.

Fixed-size byte array containing an ECDSA signature

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