p384
Pure Rust implementation of the NIST P-384 (a.k.a. secp384r1) elliptic curve as defined in SP 800-186 with support for ECDH, ECDSA signing/verification, and general purpose curve arithmetic support.
0.14.0
79M downloads/mo
#920 most downloaded on crates.io
RustCrypto/elliptic-curves
What this package is like to depend on
Last release 1 months ago
06 Jul 2026
Ships fairly regularly
a new release about every 5 weeks
Nearly every release is documented
notes for 19 of 19 stable releases
2 versions withdrawn
withdrawn after publishing
8 years old
52 releases · first in 2018
19 releases in the last 12 months
see the full history below
Release timeline
52 releases · Oct 2018 to Jul 2026Releases
latest 52-
0.14.006 Jul 2026Release notes
Open source →Added
EcdsaCurvetrait impls (#1019)- Implement
ReduceNonZeroforp384::Scalar(#1148) - Implement
From<NonZeroScalar>forScalar(#1188) getrandomfeature (#1521)cfg(p384_backend)withbigintandfiatoptions (#1548, #1806, #1808)- Implement
crypto_common::Generatetrait (#1586) precomputed-tablesfeature (#1737)
Changed
- Make
primeorderdependency optional (#799) ecdhfeature no longer enabled-by-default (#1112)- Edition changed to 2024 and MSRV bumped to 1.85 (#1125)
- Relax MSRV policy and allow MSRV bumps in patch releases
p384_backend="fiat"now usesfiat-cryptocrate (#1431)- Bump
sha2dependency to v0.11 (#1712) - Default field backend is now
crypto-bigintbased (#1808) - Bump
elliptic-curveto v0.14 (#1849) - Bump
ecdsato v0.17 (#1883) - Bump
primeorderv0.14 (#1887)
Removed
-
0.14.0-rc.1529 Jun 2026 pre-releaseNothing published for this version
-
0.14.0-rc.1424 Jun 2026 pre-releaseNothing published for this version
-
0.14.0-rc.1323 Jun 2026 pre-releaseNothing published for this version
-
0.14.0-rc.1217 Jun 2026 pre-releaseNothing published for this version
-
0.14.0-rc.1110 Jun 2026 pre-releaseNothing published for this version
-
0.14.0-rc.1004 Jun 2026 pre-releaseNothing published for this version
-
0.14.0-rc.919 Apr 2026 pre-releaseNothing published for this version
-
0.14.0-rc.810 Mar 2026 pre-releaseNothing published for this version
-
0.14.0-rc.703 Feb 2026 pre-releaseNothing published for this version
-
0.14.0-rc.624 Jan 2026 pre-releaseNothing published for this version
-
0.14.0-rc.521 Jan 2026 pre-releaseNothing published for this version
-
0.14.0-rc.408 Jan 2026 pre-releaseNothing published for this version
-
0.14.0-rc.304 Jan 2026 pre-releaseNothing published for this version
-
0.14.0-rc.230 Dec 2025 pre-releaseNothing published for this version
-
0.14.0-rc.125 Nov 2025 pre-releaseNothing published for this version
-
0.14.0-rc.023 Oct 2025 pre-releaseNothing published for this version
-
0.14.0-pre.1114 Sep 2025 pre-releaseNothing published for this version
-
0.14.0-pre.1003 Sep 2025 pre-releaseNothing published for this version
-
0.14.0-pre.910 Jul 2025 pre-releaseNothing published for this version
-
0.14.0-pre.821 Jun 2025 pre-releaseNothing published for this version
-
0.14.0-pre.714 Jun 2025 pre-releaseNothing published for this version
-
0.14.0-pre.614 Jun 2025 pre-releaseNothing published for this version
-
0.14.0-pre.507 Jun 2025 pre-releaseNothing published for this version
-
0.14.0-pre.431 May 2025 pre-releaseNothing published for this version
-
0.14.0-pre.329 May 2025 pre-releaseNothing published for this version
-
0.14.0-pre.222 Sep 2024 pre-releaseNothing published for this version
-
0.14.0-pre.127 Jul 2024 pre-releaseNothing published for this version
-
0.13.107 Feb 2025 -
0.13.003 Mar 2023Release notes
Open source →Added
Changed
FieldBytesEncodingtrait impls (#732)- Update
hash2curveimplementations to new API (#735) - Impl
Inverttrait forScalartypes (#741) - Bump
ecdsadependency to v0.16 (#770) - Bump
elliptic-curvedependency to v0.13 (#770) - Bump
primeorderdependency to v0.13 (#777)
Fixed
- Point compactability check (#772)
-
0.12.017 Jan 2023 -
0.12.0-pre.129 Dec 2022 pre-releaseNothing published for this version
-
0.12.0-pre.019 Nov 2022 pre-releaseNothing published for this version
-
0.11.203 Aug 2022 -
0.11.112 Jun 2022 -
0.11.003 Jun 2022Release notes
Open source →Added
- Arithmetic implementation (#565, #573)
- Addition formulas from Renes-Costello-Batina 2015, adapted from
@str4d's implementation in the
p256crate FieldElement::{invert, sqrt}implementationsScalar::{invert, sqrt}implementations- Scalar field implementation generated using
fiat-crypto - Scalar multiplication using 4-bit window ala #563
- ECDH support using generic implementation from
elliptic-curve - ECDSA support using generic implementation from the
ecdsacrate
- Addition formulas from Renes-Costello-Batina 2015, adapted from
@str4d's implementation in the
- Wycheproof test vectors (#574)
const fnfield arithmetic (#589, #590)
- Arithmetic implementation (#565, #573)
-
0.10.009 May 2022 -
0.9.014 Dec 2021 -
0.8.008 Jun 2021Release notes
Open source → -
0.7.029 Apr 2021 -
0.7.0-pre.122 Mar 2021 pre-releaseNothing published for this version
-
0.7.0-pre11 Feb 2021 pre-release withdrawnNothing published for this version
-
0.6.117 Dec 2020Release notes
Open source →Fixed
- Trigger docs.rs rebuild with nightly bugfix (RustCrypto/traits#412)
-
0.6.017 Dec 2020Release notes
Open source → -
0.5.006 Dec 2020 -
0.4.108 Oct 2020 -
0.4.018 Sep 2020 -
0.4.0-rc11 Sep 2020 pre-releaseNothing published for this version
-
0.3.011 Aug 2020 -
0.2.008 Jun 2020 -
0.1.006 Jan 2020 -
0.0.003 Oct 2018 withdrawnNothing published for this version