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.