PackageTrack
Sign in Get early access

ecdsa

Pure Rust implementation of the Elliptic Curve Digital Signature Algorithm (ECDSA) as specified in FIPS 186-4 (Digital Signature Standard), implemented generically over elliptic curves, providing RFC6979 deterministic signing support as well as randomized signatures and signature verification

0.17.0 206M downloads/mo #489 most downloaded on crates.io RustCrypto/signatures

What this package is like to depend on

Last release 1 months ago

02 Jul 2026

Release timing varies

gaps range from 9 days to 2 months

Nearly every release is documented

notes for 39 of 39 stable releases

24 versions withdrawn

withdrawn after publishing

8 years old

111 releases · first in 2018

19 releases in the last 12 months

see the full history below

Release timeline

111 releases · Oct 2018 to Jul 2026
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 60 of 111
  1. 0.17.0 02 Jul 2026
    Release notes

    ecdsa v0.17.0 (#1412)

    Open source →
    Release notes

    Added

    • DER support for SignatureWithOid (#786)
    • EcdsaCurve marker trait (#787)
    • Recoverable RandomizedPrehashSigner impl for SigningKey (#878)
    • Implement MultipartSigner/Verifier (#982)
    • getrandom feature (#1107)
    • Implement crypto_common::Generate trait for SigningKey (#1140)
    • Implement Hash on Signature and VerifyingKey (#1309)

    Changed

    • Make Signature::normalize_s infallible (#780)
    • Use NonZeroScalar arguments to sign_prehashed (#794)
    • Upgrade to the 2024 edition; bump MSRV to 1.85 (#913)
    • Rename DigestPrimitive to DigestAlgorithm (#996)
    • Bump serdect dependency to v0.4 - new wire format for binary serializations (#1048)
    • Support new signature::DigestSigner/Verifier API (#1064)
    • Bump der to v0.8 (#1232)
    • Bump digest to v0.11 (#1237)
    • Bump sha2 dependency to v0.11 (#1267)
    • Bump spki to v0.8 (#1303)
    • Bump signature to v3 (#1321)
    • Move low-S normalization check into verify_prehashed (#1379)
    • Bump elliptic-curve to v0.14 (#1391)
    • Low-level RFC6979 signing functions are now infallible (#1395, #1411)
    • Bump rfc6979 to v0.6 (#1404)
    • Move Array* bounds to EcdsaCurve (#1408)

    Removed

    • SignPrimitive and VerifyPrimitive traits (#793)
    • signature::PrehashSignature implementation for Signature (#1007)
    • VerifyingKey::recover* no longer performs signature verification (#1381)

    Fixed

    • Reduce z mod q when performing RFC6979 (#777, #1395)
    Open source →
  2. 0.17.0-rc.23 29 Jun 2026 pre-release
    Release notes

    ecdsa v0.17.0-rc.23 (#1399)

    Open source →
  3. 0.17.0-rc.22 23 Jun 2026 pre-release
    Release notes

    Release PR: RustCrypto/traits#2466

    Also cuts an ecdsa v0.17.0-rc.22 prerelease

    Open source →
  4. 0.17.0-rc.21 23 Jun 2026 pre-release
    Release notes

    ecdsa v0.17.0-rc.21 (#1390)

    Open source →
  5. 0.17.0-rc.20 17 Jun 2026 pre-release
    Release notes

    ecdsa v0.17.0-rc.20 (#1383)

    Open source →
  6. 0.17.0-rc.19 10 Jun 2026 pre-release

    Nothing published for this version

  7. 0.17.0-rc.18 28 Apr 2026 pre-release

    Nothing published for this version

  8. 0.17.0-rc.17 15 Apr 2026 pre-release

    Nothing published for this version

  9. 0.17.0-rc.16 02 Feb 2026 pre-release

    Nothing published for this version

  10. 0.17.0-rc.15 02 Feb 2026 pre-release

    Nothing published for this version

  11. 0.17.0-rc.14 24 Jan 2026 pre-release

    Nothing published for this version

  12. 0.17.0-rc.13 20 Jan 2026 pre-release

    Nothing published for this version

  13. 0.17.0-rc.12 08 Jan 2026 pre-release

    Nothing published for this version

  14. 0.17.0-rc.11 04 Jan 2026 pre-release

    Nothing published for this version

  15. 0.17.0-rc.10 30 Dec 2025 pre-release

    Nothing published for this version

  16. 0.17.0-rc.9 22 Nov 2025 pre-release

    Nothing published for this version

  17. 0.17.0-rc.8 22 Oct 2025 pre-release

    Nothing published for this version

  18. 0.17.0-rc.7 13 Sep 2025 pre-release

    Nothing published for this version

  19. 0.17.0-rc.6 03 Sep 2025 pre-release

    Nothing published for this version

  20. 0.17.0-rc.5 16 Jul 2025 pre-release

    Nothing published for this version

  21. 0.17.0-rc.4 03 Jul 2025 pre-release

    Nothing published for this version

  22. 0.17.0-rc.3 20 Jun 2025 pre-release

    Nothing published for this version

  23. 0.17.0-rc.2 14 Jun 2025 pre-release

    Nothing published for this version

  24. 0.17.0-rc.1 06 Jun 2025 pre-release

    Nothing published for this version

  25. 0.17.0-rc.0 29 May 2025 pre-release

    Nothing published for this version

  26. 0.17.0-pre.9 20 Sep 2024 pre-release

    Nothing published for this version

  27. 0.17.0-pre.8 20 Sep 2024 pre-release

    Nothing published for this version

  28. 0.17.0-pre.7 27 Jul 2024 pre-release

    Nothing published for this version

  29. 0.17.0-pre.6 27 Jul 2024 pre-release

    Nothing published for this version

  30. 0.17.0-pre.5 02 Feb 2024 pre-release

    Nothing published for this version

  31. 0.17.0-pre.4 19 Jan 2024 pre-release

    Nothing published for this version

  32. 0.17.0-pre.3 17 Jan 2024 pre-release

    Nothing published for this version

  33. 0.17.0-pre.2 11 Jan 2024 pre-release

    Nothing published for this version

  34. 0.17.0-pre.1 10 Jan 2024 pre-release

    Nothing published for this version

  35. 0.17.0-pre.0 09 Jan 2024 pre-release

    Nothing published for this version

  36. 0.16.9 16 Nov 2023
    Release notes

    Changed

    • Loosen signature bound to 2.0, <2.3 (#756)
    Open source →
  37. 0.16.8 21 Jul 2023
    Release notes

    Added

    • hazmat::{sign_prehashed, verify_prehashed} (#731)

    Changed

    • Refactor Signature constructors and improve docs (#730)
    Open source →
  38. 0.16.7 11 May 2023
    Release notes

    Added

    • RFC5480 citation for der::Signature (#710)
    • support for the SignatureBitStringEncoding trait (#716)

    Changed

    • bump elliptic-curve from 0.13.3 to 0.13.4 (#709)
    • der::Signature citation to RFC5912 (#711)
    • make fmt impls more consistent (#713)

    Fixed

    • serde doc fixup (#712)
    Open source →
  39. 0.16.6 10 Apr 2023
    Release notes

    Fixed

    • Test macro handling of serialized field size (#707)
    Open source →
  40. 0.16.5 09 Apr 2023
    Release notes

    Fixed

    • Use C::FieldBytesSize instead of C::Uint::BYTES (#705)
    Open source →
  41. 0.16.4 05 Apr 2023
    Release notes

    Fixed

    • RecoveryId computation in SignPrimitive (#702)
    Open source →
  42. 0.16.3 05 Apr 2023
    Release notes

    Added

    • RFC5758 OID support (#686)
    • SignatureAlgorithmIdentifier impls for SigningKey/VerifyingKey (#688)
    • SignatureWithOid (#689, #690)
    • AssociatedAlgorithmIdentifier impls for SigningKey/VerifyingKey (#698)

    Changed

    • Loosen signature bound to 2.0, <2.2 (#697)
    Open source →
  43. 0.16.2 28 Mar 2023
    Release notes

    Added

    • Handle the reduced R.x case in public key recovery (#680)
    • Signature::{from_bytes, from_slice} methods (#684)
    Open source →
  44. 0.16.1 08 Mar 2023
    Release notes

    Added

    • VerifyingKey::to_sec1_bytes + more conversions (#675)
    Open source →
  45. 0.16.0 02 Mar 2023
    Release notes

    Added

    • Decode and Encode impls for der::Signature (#666)

    Changed

    • Use Scalar::invert_vartime for faster verification (#651)
    • Bump serdect dependency to 0.2 (#657)
    • Bump elliptic-curve dependency to v0.13; MSRV 1.65 (#660, [#663])
    • Bump rfc6979 dependency to v0.4 (#662)
    Open source →
  46. 0.16.0-rc.0 28 Feb 2023 pre-release

    Nothing published for this version

  47. 0.16.0-pre.1 03 Feb 2023 pre-release

    Nothing published for this version

  48. 0.16.0-pre.0 01 Feb 2023 pre-release

    Nothing published for this version

  49. 0.15.1 23 Jan 2023
    Release notes

    Added

    • SigningKey::*_recoverable methods (#635)
    Open source →
  50. 0.15.0 15 Jan 2023
    Release notes

    Added

    • DigestPrimitive::Digest now has bounds that work with RFC6979 (#568)
    • *Signer/*Verifier impls for der::Signature (#569)
    • VerifyingKey recovery support (#576)
    • Trial recovery support (#580)

    Changed

    • Signature now internally structured with r and s components (#565)
    • SigningKey::verifying_key now returns a reference (#567)
    • Refactor prehash_to_field_bytes to bits2field free function (#574)
    • Rename sign feature to signing (#610)
    • Rename verify feature to verifying features (#610)
    • Bump signature crate dependency to v2.0 (#614)
    Open source →
  51. 0.15.0-rc.1 08 Jan 2023 pre-release

    Nothing published for this version

  52. 0.15.0-rc.0 04 Jan 2023 pre-release

    Nothing published for this version

  53. 0.15.0-pre.1 11 Dec 2022 pre-release

    Nothing published for this version

  54. 0.15.0-pre.0 06 Nov 2022 pre-release

    Nothing published for this version

  55. 0.14.8 28 Sep 2022
    Release notes

    Added

    • Impl From<SigningKey> for SecretKey (#548)

    Fixed

    • Prehash must receive zero-pads on left (#547)
    Open source →
  56. 0.14.7 15 Sep 2022
    Release notes

    Changed

    • Relax Keypair bounds (#539)
    Open source →
  57. 0.14.6 13 Sep 2022
    Release notes

    Added

    • Impl signature::hazmat::{PrehashSigner, PrehashVerifier} (#534)
    • Impl signature::Keypair for SigningKey (#535)
    Open source →
  58. 0.14.5 07 Sep 2022
    Release notes

    Added

    • Impl EncodePrivateKey for SigningKey (#523)
    • SigningKey::as_nonzero_scalar (#528)
    • VerifyingKey::as_affine (#528)
    • RecoveryId::from_byte (#531)

    Changed

    • Make RecoveryId methods const fn (#529)
    Open source →
  59. 0.14.4 16 Aug 2022
    Release notes

    Added

    • Impl EncodePublicKey for VerifyingKey (#505)
    • ZeroizeOnDrop marker for SigningKey (#509)

    Changed

    • Restrict signature version to v1.5-v1.6 (#508, #512)
    Open source →
  60. 0.14.3 27 Jun 2022 withdrawn
    Release notes

    Changed

    • Simplified digest trait bounds (#499)
    • Bump rfc6979 dependency to v0.3 (#500)
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive