PackageTrack
Sign in Get early access

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 2026
2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 39
  1. 0.14.0 03 Jul 2026
    Release notes

    primeorder v0.14.0 (#1887)

    Open source →
    Release notes

    Added

    • Implement From<NonIdentity> for Projective/AffinePoint (#1190)
    • Implement TryFrom<Scalar/Projective/AffinePoint> for NonIdentity/ZeroScalar (#1193)
    • scalar_mul_impls! macro (#1198)
    • scalar_impls! and scalar_from_impls! (#1201)
    • Implement De/Serialize for ProjectivePoint (#1214)
    • Optimized addition formulas for curves with a=0 (#1270)
    • Optimized implementation for LinearCombination (#1343, #1360)
    • Implement CofactorGroup (#1394)
    • hash2curve::osswu implementation (#1404)
    • Implement AffineCoordinates::from_coordinates (#1405)
    • Implement crypto_common::Generate trait (#1586)
    • Support for wNAF variable-time scalar multiplications (#1714, #1779, #1870)
    • Implement MulVartime (#1715, #1870)
    • Implement MulByGeneratorVartime for ProjectivePoint (#1726)
    • BasepointTable and LookupTable types (#1788, #1789, #1796)
    • PrimeCurveWithBasepointTable trait (#1788)
    • lincomb_vartime support (#1797, #1870)
    • MulBackend trait and associated type (#1803, #1835)
    • double_in_place support (#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 to test_projective_arithmetic! (#1200)
    • Expose AffineCoordinates::y (#1230)
    • Use rejection sampling for random point generation (#1344)
    • Use new Reduce trait (#1359)
    • Avoid field inversion in ProjectivePoint equality (#1706)
    • Simplify bounds (#1721, #1784, #1802)
    • Use elliptic_curve::FieldArithmetic trait (#1833)
    • Use mixed arithmetic formulas for ProjectivePoint *Assign impls (#1842, #1844)
    • Bump elliptic-curve to v0.14 (#1849)

    Removed

    • MulByGenerator trait - use Group::mul_by_generator (#1145)
    • field module (#1175)
    Open source →
    Release notes

    Added

    • Implement From<NonIdentity> for Projective/AffinePoint (#1190)
    • Implement TryFrom<Scalar/Projective/AffinePoint> for NonIdentity/ZeroScalar (#1193)
    • scalar_mul_impls! macro (#1198)
    • scalar_impls! and scalar_from_impls! (#1201)
    • Implement De/Serialize for ProjectivePoint (#1214)
    • Optimized addition formulas for curves with a=0 (#1270)
    • Optimized implementation for LinearCombination (#1343, #1360)
    • Implement CofactorGroup (#1394)
    • hash2curve::osswu implementation (#1404)
    • Implement AffineCoordinates::from_coordinates (#1405)
    • Implement crypto_common::Generate trait (#1586)
    • Support for wNAF variable-time scalar multiplications (#1714, #1779, #1870)
    • Implement MulVartime (#1715, #1870)
    • Implement MulByGeneratorVartime for ProjectivePoint (#1726)
    • BasepointTable and LookupTable types (#1788, #1789, #1796)
    • PrimeCurveWithBasepointTable trait (#1788)
    • lincomb_vartime support (#1797, #1870)
    • MulBackend trait and associated type (#1803, #1835)
    • double_in_place support (#1843)
    • Support batch normalizations on hybrid Arrays (#1860)

    Changed

    • Update to elliptic-curve v0.14 (#1011)
    • Update to secdect v0.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 to test_projective_arithmetic! (#1200)
    • Expose AffineCoordinates::y (#1230)
    • Use rejection sampling for random point generation (#1344)
    • Use new Reduce trait (#1359)
    • Avoid field inversion in ProjectivePoint equality (#1706)
    • Simplify bounds (#1721, #1784, #1802)
    • Use elliptic_curve::FieldArithmetic trait (#1833)
    • Use mixed arithmetic formulas for ProjectivePoint *Assign impls (#1842, #1844)
    • Bump elliptic-curve to v0.14 (#1849)

    Removed

    • MulByGenerator trait - use Group::mul_by_generator (#1145)
    • field module (#1175)
    Open source →
  2. 0.14.0-rc.15 29 Jun 2026 pre-release
    Release notes

    Releases the following:

    • bignp256 v0.14.0-rc.15
    • bp256 v0.14.0-rc.15
    • bp384 v0.14.0-rc.15
    • k256 v0.14.0-rc.15
    • p192 v0.14.0-rc.15
    • p224 v0.14.0-rc.15
    • p256 v0.14.0-rc.15
    • p384 v0.14.0-rc.15
    • p521 v0.14.0-rc.15
    • primeorder v0.14.0-rc.15
    • sm2 v0.14.0-rc.15
    • wnaf v0.14.0-rc.2
    Open source →
  3. 0.14.0-rc.14 24 Jun 2026 pre-release

    Nothing published for this version

  4. 0.14.0-rc.13 23 Jun 2026 pre-release

    Nothing published for this version

  5. 0.14.0-rc.12 17 Jun 2026 pre-release

    Nothing published for this version

  6. 0.14.0-rc.11 10 Jun 2026 pre-release

    Nothing published for this version

  7. 0.14.0-rc.10 04 Jun 2026 pre-release

    Nothing published for this version

  8. 0.14.0-rc.9 17 Apr 2026 pre-release

    Nothing published for this version

  9. 0.14.0-rc.8 10 Mar 2026 pre-release

    Nothing published for this version

  10. 0.14.0-rc.7 03 Feb 2026 pre-release

    Nothing published for this version

  11. 0.14.0-rc.6 24 Jan 2026 pre-release

    Nothing published for this version

  12. 0.14.0-rc.5 21 Jan 2026 pre-release

    Nothing published for this version

  13. 0.14.0-rc.4 08 Jan 2026 pre-release

    Nothing published for this version

  14. 0.14.0-rc.3 04 Jan 2026 pre-release

    Nothing published for this version

  15. 0.14.0-rc.2 30 Dec 2025 pre-release

    Nothing published for this version

  16. 0.14.0-rc.1 25 Nov 2025 pre-release

    Nothing published for this version

  17. 0.14.0-rc.0 23 Oct 2025 pre-release

    Nothing published for this version

  18. 0.14.0-pre.9 13 Sep 2025 pre-release

    Nothing published for this version

  19. 0.14.0-pre.8 03 Sep 2025 pre-release

    Nothing published for this version

  20. 0.14.0-pre.7 10 Jul 2025 pre-release

    Nothing published for this version

  21. 0.14.0-pre.6 21 Jun 2025 pre-release

    Nothing published for this version

  22. 0.14.0-pre.5 14 Jun 2025 pre-release

    Nothing published for this version

  23. 0.14.0-pre.4 07 Jun 2025 pre-release

    Nothing published for this version

  24. 0.14.0-pre.3 29 May 2025 pre-release

    Nothing published for this version

  25. 0.14.0-pre.2 22 Sep 2024 pre-release

    Nothing published for this version

  26. 0.14.0-pre.1 27 Jul 2024 pre-release

    Nothing published for this version

  27. 0.14.0-pre.0 19 Jan 2024 pre-release

    Nothing published for this version

  28. 0.13.6 16 Nov 2023
    Release notes

    Removed

    • Invert bounds on FieldElement (#985)
    Open source →
  29. 0.13.5 16 Nov 2023 withdrawn
    Release notes

    Added

    • alloc feature (#982)
    Open source →
  30. 0.13.4 15 Nov 2023 withdrawn
    Release notes

    Added

    • BatchInvert and BatchNormalize impls (#971)

    Changed

    • Bump elliptic-curve to v0.13.7 (#979)
    Open source →
  31. 0.13.3 02 Nov 2023
    Release notes

    Added

    • Inline annotations on conditional_select (#942)

    Changed

    • Support field elements larger than 64-bytes in impl_projective_arithmetic_tests! (#951)
    Open source →
  32. 0.13.2 29 May 2023
    Release notes

    Changed

    • Improve decoding performance for uncompressed SEC1 points (#891)
    Open source →
  33. 0.13.1 10 Apr 2023
    Release notes

    Added

    • impl_bernstein_yang_invert! macro (#786)
    • impl_field_invert_tests! macro (#786)
    • impl_field_identity_tests! macro (#790)
    • impl_field_sqrt_tests! macro (#790, #800)

    Fixed

    • Correct product definition for empty iterators (#802)
    Open source →
  34. 0.13.0 03 Mar 2023
    Release notes

    Added

    • Support curves with any a-coefficient (#728, #729)
    • impl_primefield_tests! macro (#739)

    Changed

    • Use AffineCoordinates trait (#734)
    • Rename impl_field_element! to impl_mont_field_element! (#762)
    • Bump elliptic-curve dependency to v0.13 (#770)
    • Bump ecdsa to v0.16 (#770)
    Open source →
  35. 0.12.1 22 Jan 2023
    Release notes

    Added

    • Impl From/ToEncodedPoint for ProjectivePoint (#722)
    Open source →
  36. 0.12.0 16 Jan 2023
    Release notes

    Initial stable release.

    NOTE: other versions skipped to synchronize version numbers with elliptic-curve, k256, p256, and p384.

    Open source →
  37. 0.0.2 29 Dec 2022

    Nothing published for this version

  38. 0.0.1 07 Nov 2022

    Nothing published for this version

  39. 0.0.0 30 Jun 2022

    Nothing published for this version

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