Crate ecdsa[−][src]
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::Signer
and signature::Verifier
traits.
For example, the ring-compat
crate implements the signature::Signer
and signature::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.47 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; |
pub use signature; |
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 ( |
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
EncodedPoint | SEC1 encoded curve point. |
Error | Signature errors. |
Signature | ECDSA signature (fixed-size). Generic over elliptic curve types. |
SigningKey | sign ECDSA signing key. Generic over elliptic curves. |
VerifyingKey | verify ECDSA verification key (i.e. public key). Generic over elliptic curves. |
Traits
CheckSignatureBytes | Ensure a signature is well-formed. |
Curve | Marker trait for elliptic curves in short Weierstrass form. |
NormalizeLow | Normalize a scalar (i.e. ECDSA S) to the lower half the field, as described in BIP 0062: Dealing with Malleability. |
Type Definitions
SignatureBytes | Fixed-size byte array containing an ECDSA signature |
SignatureSize | Size of a fixed sized signature for the given elliptic curve. |