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
der - Support for ECDSA signatures encoded as ASN.1 DER.
- dev
dev - Development-related functionality.
- hazmat
hazmat - Low-level ECDSA primitives.
- rfc6979
sign - Support for computing deterministic ECDSA ephemeral scalar (
k).
Macros§
- new_
signing_ test dev - Define ECDSA signing test.
- new_
verification_ test dev - Define ECDSA verification test.
- new_
wycheproof_ test dev - Define a Wycheproof verification test.
Structs§
- Encoded
Point - SEC1 encoded curve point.
- Error
- Signature errors.
- Signature
- ECDSA signature (fixed-size). Generic over elliptic curve types.
- Signing
Key sign - ECDSA signing key. Generic over elliptic curves.
- Verifying
Key verify - ECDSA verification key (i.e. public key). Generic over elliptic curves.
Traits§
- Normalize
Low - Normalize a scalar (i.e. ECDSA S) to the lower half the field, as described in BIP 0062: Dealing with Malleability.
- Prime
Curve - Marker trait for elliptic curves with prime order.
Type Aliases§
- Result
- Result type.
- Signature
Bytes - Fixed-size byte array containing an ECDSA signature
- Signature
Size - Size of a fixed sized signature for the given elliptic curve.