primeorder
Pure Rust implementation of complete addition formulas for prime order elliptic curves (Renes-Costello-Batina 2015). Generic over field elements and curve equation coefficients
0.14.0
114M downloads/mo
#741 most downloaded on crates.io
RustCrypto/elliptic-curves
What this package is like to depend on
Last release 1 months ago
03 Jul 2026
Ships fairly regularly
a new release about every 5 weeks
Most releases are documented
notes for 8 of 11 stable releases
2 versions withdrawn
withdrawn after publishing
4 years old
39 releases · first in 2022
19 releases in the last 12 months
see the full history below
Release timeline
39 releases · Jun 2022 to Jul 2026Releases
latest 39-
0.14.003 Jul 2026Release notes
Open source →Added
- Implement
From<NonIdentity>forProjective/AffinePoint(#1190) - Implement
TryFrom<Scalar/Projective/AffinePoint>forNonIdentity/ZeroScalar(#1193) scalar_mul_impls!macro (#1198)scalar_impls!andscalar_from_impls!(#1201)- Implement
De/SerializeforProjectivePoint(#1214) - Optimized addition formulas for curves with
a=0(#1270) - Optimized implementation for
LinearCombination(#1343, #1360) - Implement
CofactorGroup(#1394) hash2curve::osswuimplementation (#1404)- Implement
AffineCoordinates::from_coordinates(#1405) - Implement
crypto_common::Generatetrait (#1586) - Support for wNAF variable-time scalar multiplications (#1714, #1779, #1870)
- Implement
MulVartime(#1715, #1870) - Implement
MulByGeneratorVartimeforProjectivePoint(#1726) BasepointTableandLookupTabletypes (#1788, #1789, #1796)PrimeCurveWithBasepointTabletrait (#1788)lincomb_vartimesupport (#1797, #1870)MulBackendtrait and associated type (#1803, #1835)double_in_placesupport (#1843)- Support batch normalizations on hybrid
Arrays (#1860)
Changed
- Edition changed to 2024 and MSRV bumped to 1.85 (#1125)
- Relax MSRV policy and allow MSRV bumps in patch releases
- Rename
impl_projective_arithmetic_tests!macro totest_projective_arithmetic!(#1200) - Expose
AffineCoordinates::y(#1230) - Use rejection sampling for random point generation (#1344)
- Use new
Reducetrait (#1359) - Avoid field inversion in ProjectivePoint equality (#1706)
- Simplify bounds (#1721, #1784, #1802)
- Use
elliptic_curve::FieldArithmetictrait (#1833) - Use mixed arithmetic formulas for
ProjectivePoint*Assignimpls (#1842, #1844) - Bump
elliptic-curveto v0.14 (#1849)
Removed
Release notes
Open source →Added
- Implement
From<NonIdentity>forProjective/AffinePoint(#1190) - Implement
TryFrom<Scalar/Projective/AffinePoint>forNonIdentity/ZeroScalar(#1193) scalar_mul_impls!macro (#1198)scalar_impls!andscalar_from_impls!(#1201)- Implement
De/SerializeforProjectivePoint(#1214) - Optimized addition formulas for curves with
a=0(#1270) - Optimized implementation for
LinearCombination(#1343, #1360) - Implement
CofactorGroup(#1394) hash2curve::osswuimplementation (#1404)- Implement
AffineCoordinates::from_coordinates(#1405) - Implement
crypto_common::Generatetrait (#1586) - Support for wNAF variable-time scalar multiplications (#1714, #1779, #1870)
- Implement
MulVartime(#1715, #1870) - Implement
MulByGeneratorVartimeforProjectivePoint(#1726) BasepointTableandLookupTabletypes (#1788, #1789, #1796)PrimeCurveWithBasepointTabletrait (#1788)lincomb_vartimesupport (#1797, #1870)MulBackendtrait and associated type (#1803, #1835)double_in_placesupport (#1843)- Support batch normalizations on hybrid
Arrays (#1860)
Changed
- Update to
elliptic-curvev0.14 (#1011) - Update to
secdectv0.3 (#1084) - Edition changed to 2024 and MSRV bumped to 1.85 (#1125)
- Relax MSRV policy and allow MSRV bumps in patch releases
- Rename
impl_projective_arithmetic_tests!macro totest_projective_arithmetic!(#1200) - Expose
AffineCoordinates::y(#1230) - Use rejection sampling for random point generation (#1344)
- Use new
Reducetrait (#1359) - Avoid field inversion in ProjectivePoint equality (#1706)
- Simplify bounds (#1721, #1784, #1802)
- Use
elliptic_curve::FieldArithmetictrait (#1833) - Use mixed arithmetic formulas for
ProjectivePoint*Assignimpls (#1842, #1844) - Bump
elliptic-curveto v0.14 (#1849)
Removed
- Implement
-
0.14.0-rc.1529 Jun 2026 pre-releaseRelease notes
Open source →Releases the following:
bignp256v0.14.0-rc.15bp256v0.14.0-rc.15bp384v0.14.0-rc.15k256v0.14.0-rc.15p192v0.14.0-rc.15p224v0.14.0-rc.15p256v0.14.0-rc.15p384v0.14.0-rc.15p521v0.14.0-rc.15primeorderv0.14.0-rc.15sm2v0.14.0-rc.15wnafv0.14.0-rc.2
-
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.917 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.913 Sep 2025 pre-releaseNothing published for this version
-
0.14.0-pre.803 Sep 2025 pre-releaseNothing published for this version
-
0.14.0-pre.710 Jul 2025 pre-releaseNothing published for this version
-
0.14.0-pre.621 Jun 2025 pre-releaseNothing published for this version
-
0.14.0-pre.514 Jun 2025 pre-releaseNothing published for this version
-
0.14.0-pre.407 Jun 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.14.0-pre.019 Jan 2024 pre-releaseNothing published for this version
-
0.13.616 Nov 2023 -
0.13.516 Nov 2023 withdrawn -
0.13.415 Nov 2023 withdrawnRelease notes
Open source → -
0.13.302 Nov 2023Release notes
Open source →Added
- Inline annotations on
conditional_select(#942)
Changed
- Support field elements larger than 64-bytes in
impl_projective_arithmetic_tests!(#951)
- Inline annotations on
-
0.13.229 May 2023Release notes
Open source →Changed
- Improve decoding performance for uncompressed SEC1 points (#891)
-
0.13.110 Apr 2023 -
0.13.003 Mar 2023 -
0.12.122 Jan 2023 -
0.12.016 Jan 2023Release notes
Open source →Initial stable release.
NOTE: other versions skipped to synchronize version numbers with
elliptic-curve,k256,p256, andp384. -
0.0.229 Dec 2022Nothing published for this version
-
0.0.107 Nov 2022Nothing published for this version
-
0.0.030 Jun 2022Nothing published for this version