# 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:
`p384`

(NIST P-384)

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

`pub use elliptic_curve_flow;`

`pub use signature_flow;`

## Modules

`der`

Support for ECDSA signatures encoded as ASN.1 DER.

`dev`

Development-related functionality.

`hazmat`

Low-level ECDSA primitives.

`sign`

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.

`sign`

ECDSA signing key. Generic over elliptic curves.

`verify`

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.