#elliptic-curve #signature #nist #secp256k1 #crypto

no-std ecdsa

Pure Rust implementation of the Elliptic Curve Digital Signature Algorithm (ECDSA) as specified in FIPS 186-4 (Digital Signature Standard), providing RFC6979 deterministic signatures as well as support for added entropy

58 releases

0.17.0-pre.5 Feb 2, 2024
0.16.9 Nov 16, 2023
0.16.8 Jul 21, 2023
0.16.2 Mar 28, 2023
0.0.0 Oct 30, 2018

#788 in Cryptography

Download history 337538/week @ 2024-01-02 367368/week @ 2024-01-09 412308/week @ 2024-01-16 422894/week @ 2024-01-23 440883/week @ 2024-01-30 394716/week @ 2024-02-06 407741/week @ 2024-02-13 417638/week @ 2024-02-20 424542/week @ 2024-02-27 448052/week @ 2024-03-05 456043/week @ 2024-03-12 462666/week @ 2024-03-19 415893/week @ 2024-03-26 484855/week @ 2024-04-02 453000/week @ 2024-04-09 394286/week @ 2024-04-16

1,835,675 downloads per month
Used in 1,833 crates (81 directly)

Apache-2.0 OR MIT

110KB
2.5K SLoC

RustCrypto: ECDSA

crate Docs Build Status Apache2/MIT licensed MSRV Project Chat

Elliptic Curve Digital Signature Algorithm (ECDSA) as specified in FIPS 186-4 (Digital Signature Standard).

Documentation

About

This crate provides generic ECDSA support which can be used in the following ways:

  • Generic implementation of ECDSA usable with the following crates:
  • Other crates which provide their own complete implementations of ECDSA can also leverage the types from this crate to export ECDSA functionality in a generic, interoperable way by leveraging ecdsa::Signature with the signature::Signer and signature::Verifier traits.

⚠️ Security Warning

The ECDSA implementation contained in this crate has never been independently audited for security!

This crate contains a generic implementation of ECDSA which must be instantiated using a separate crate providing a concrete implementation of arithmetic for a particular curve. It's possible timing variability can exist in concrete curve implementations, and thus this crate's security can only be properly assessed for a specific elliptic curve.

USE AT YOUR OWN RISK!

Minimum Supported Rust Version

This crate requires Rust 1.73 at a minimum.

We may change the MSRV in the future, but it will be accompanied by a minor version bump.

License

All crates licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~2.5MB
~53K SLoC