Crate ecdsa_flow

Source
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§

pub use elliptic_curve_flow;
pub use signature_flow;

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§

NormalizeLow
Normalize a scalar (i.e. ECDSA S) to the lower half the field, as described in BIP 0062: Dealing with Malleability.
PrimeCurve
Marker trait for elliptic curves with prime order.

Type Aliases§

Result
Result type.
SignatureBytes
Fixed-size byte array containing an ECDSA signature
SignatureSize
Size of a fixed sized signature for the given elliptic curve.