group
Elliptic curve group traits and utilities
0.14.0
212M downloads/mo
#480 most downloaded on crates.io
zkcrypto/group
What this package is like to depend on
Last release 2 months ago
01 Jun 2026
Release timing varies
gaps range from 1 weeks to 2.4 years
Most releases are documented
notes for 8 of 13 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
15 releases · first in 2018
2 releases in the last 12 months
see the full history below
Release timeline
15 releases · Jul 2018 to Jun 2026Releases
latest 15-
0.14.001 Jun 2026Release notes
Open source →Added
group::CurveAffine, an affine-representation trait that the curve-specific affine traits are now built on top of.group::Group::mul_by_generator, with a default implementation. Implementors can override it to take advantage of precomputed tables.group::Group::try_random<R: TryRng + ?Sized>(rng: &mut R) -> Result<Self, R::Error>, a new trait method that must be implemented by downstreams. It samples a non-identity group element using a fallible RNG and propagates the RNG's error.
Changed
- MSRV is now 1.85.0.
- Bumped dependencies to
ff 0.14,rand_core 0.10. group::Group::random(rng: impl RngCore) -> Selfhas been changed toGroup::random<R: Rng + ?Sized>(rng: &mut R) -> Self, to enable passing a trait object as the RNG. It now has a default implementation in terms ofGroup::try_random.- The curve-related traits have been refactored around the new
CurveAffinetrait:group::Curve::AffineReprhas been renamed toCurve::Affine.- All of the trait methods and associated types on the following traits have
been removed (use
group::Curve::Affineor thegroup::CurveAffinetrait instead; trait implementors must implementgroup::CurveAffineinstead using the same logic):group::cofactor::CofactorCurvegroup::cofactor::CofactorCurveAffinegroup::prime::PrimeCurvegroup::prime::PrimeCurveAffine
group::cofactor::CofactorCurveAffineandgroup::prime::PrimeCurveAffinenow have blanket implementations for all typesC: group::CurveAffinewhereC::CurveimplementsCofactorCurveorPrimeCurverespectively.
-
0.14.0-pre.121 May 2026 pre-releaseNothing published for this version
-
0.14.0-pre.017 Apr 2025 pre-releaseNothing published for this version
-
0.13.006 Dec 2022 -
0.12.113 Oct 2022Release notes
Open source →Added
group::{WnafBase, WnafScalar}structs for caching precomputations of both bases and scalars, for improved many-base many-scalar multiplication performance.impl memuse::DynamicUsage for group::{Wnaf WnafBase, WnafScalar}, behind the newwnaf-memusefeature flag, to enable the heap usage of these types to be measured at runtime.
Changed
- Removed temporary allocations from
Wnafinternals for improved performance.
-
0.12.004 May 2022 -
0.11.002 Sep 2021Release notes
Open source →Fixed
- The affine scalar multiplication bounds on the following traits had typos that
prevented multiplying by
&Self::Scalar, which has now been fixed:group::cofactor::{CofactorCurve::Affine, CofactorCurveAffine}group::prime::{PrimeCurve::Affine, PrimeCurveAffine}
Added
Copy + Send + Sync + 'staticbounds ongroup::GroupEncoding::Repr.
Changed
- Bumped
ffto 0.11.
- The affine scalar multiplication bounds on the following traits had typos that
prevented multiplying by
-
0.10.001 Jun 2021Release notes
Open source →Added
group::ff, which re-exports theffcrate to make version-matching easier.
Changed
- MSRV is now 1.51.0.
- Bumped
ffto 0.10.
Removed
group::cofactor::CofactorGroup::is_torsion_freeprovided implementation (trait implementors must now implement this method themselves). This avoids a hard dependency on theff/bitsfeature flag.
-
0.9.006 Jan 2021 -
0.8.008 Sep 2020Release notes
Open source →Added
no_stdsupport.
Changed
- MSRV is now 1.44.0.
- Bumped
ffto 0.8. group::{wnaf, Wnaf, WnafGroup}are now gated behind the (default-enabled)allocfeature flag. Thebyteorderdependency is now optional.group::testsis now gated behind thetestsfeature flag. Therandandrand_xorshiftdependencies are now optional.
Removed
fmt::Displaybound from the following traits:group::Groupgroup::cofactor::CofactorCurveAffinegroup::prime::PrimeCurveAffine
-
0.7.024 Aug 2020Nothing published for this version
-
0.6.013 Mar 2020Nothing published for this version
-
0.2.008 Oct 2019Nothing published for this version
-
0.1.005 Jul 2018Nothing published for this version
-
0.0.002 Jul 2018Nothing published for this version