NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #478 most downloaded on crates.io
General purpose Elliptic Curve Cryptography (ECC) support, including traits and generic types for representing various elliptic curve forms, scalars, points, and public/secret keys composed thereof.
Last release 3 months ago
29 Jun 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 36 of 36 stable releases
33 versions withdrawn
withdrawn after publishing
7 years old
126 releases · first in 2019
BatchInvert::batch_invert_in_place_vartime
Implement PartialEq + Eq for NonIdentity and NonZeroScalar
PartialEq + Eq for NonIdentity and NonZeroScalar (#1834)Zeroize for NonIdentity (#1832)NonIdentity::mul_by_generator() (#1833)Mul<&NonZeroScalar> for NonIdentity (#1852)Mul<NonIdentity> for NonZeroScalar (#1855)AffineCoordinates::y (#1891)primeorder (#1894)BatchNormalize for NonIdentity (#1896)group::Curve as CurveGroup (#1902)NonIdentity/NonZeroScalar casting methods (#1903)AffineCoordinates::from_coordinates (#1996)getrandom feature (#2085)ctutils traits to arithmetic bounds (#2166)Retrieve bound for C::Scalar (#2169)crypto_common::Generate support (#2173, #2208)crypto_common::TryKeyInit for SecretKey<C> (#2174)dev::bench_projective! macro (#2177)Sec1Point::from/to_sec1_bytes (#2221)From<SecretKey<C>> for PublicKey<C> (#2247)SecretKey::diffie_hellman (#2248)LinearCombination::lincomb_vartime method (#2286)ops::MulVartime trait and bound Scalar (#2379)ops::MulByGeneratorVartime trait ([#2381])SecretKey::from_pem (#2387)SecretKey::from_der (#2408)hazmat module with FieldArithmetic trait (#2458)Double::double_in_place (#2464)generic-array to hybrid-array (#1462)LinearCombinationExt => LinearCombination; replacing oldSecretKey::new fallible (#1804)ops::Invert trait with crypto_bigint::Invert (#1839)SecretKey::new => ::from_scalar (#1893)Reduce trait with crypto_bigint::Reduce (#1949)serdect dependency to v0.4 (#1978)crypto_bigint::Odd to represent Curve::ORDER (#2006)Curve::Uint on Unsigned (#2007)ScalarPrimitive => ScalarValue (#2008)FromStr impl forScalarValue (#2037)SecretKey::random (#2086)MockCurve to dev::mock_curve (#2176)rand_core to v0.10 (#2250)EncodedPoint => Sec1Point (#2264)crypto-bigint to v0.7 (#2330)digest to v0.11 (#2331)sec1 to v0.8 (#2339)hkdf dependency to v0.13 (#2349)*Vartime as a suffix in names (#2378)pkcs8 to v0.11 (#2397)ff and group to v0.14 (#2430, #2431)BatchInvert trait (#2455)FieldBytesEncoding trait with C::FIELD_ENDIANNESS (#2457)Double to ops module (#2465)hazmat feature (#1599)hash2curve and oprf modules: moved to same-name crates (#1929)ShrAssign bound on Scalars (#1938)jose-jwk crate (#1963)weierstrass module (#2005)bits feature (#2417)One column per quarter.
PartialEq + Eq for NonIdentity and NonZeroScalar (#1834)Zeroize for NonIdentity (#1832)NonIdentity::mul_by_generator() (#1833)Mul<&NonZeroScalar> for NonIdentity (#1852)Mul<NonIdentity> for NonZeroScalar (#1855)AffineCoordinates::y (#1891)primeorder (#1894)BatchNormalize for NonIdentity (#1896)group::Curve as CurveGroup (#1902)NonIdentity/NonZeroScalar casting methods (#1903)AffineCoordinates::from_coordinates (#1996)getrandom feature (#2085)ctutils traits to arithmetic bounds (#2166)Retrieve bound for C::Scalar (#2169)crypto_common::Generate support (#2173, #2208)crypto_common::TryKeyInit for SecretKey<C> (#2174)dev::bench_projective! macro (#2177)Sec1Point::from/to_sec1_bytes (#2221)From<SecretKey<C>> for PublicKey<C> (#2247)SecretKey::diffie_hellman (#2248)LinearCombination::lincomb_vartime method (#2286)ops::MulVartime trait and bound Scalar (#2379)ops::MulByGeneratorVartime trait (#2381)SecretKey::from_pem (#2387)SecretKey::from_der (#2408)hazmat module with FieldArithmetic trait (#2458)Double::double_in_place (#2464)generic-array to hybrid-array (#1462)LinearCombinationExt => LinearCombination; replacing old trait (#1501)SecretKey::new fallible (#1804)ops::Invert trait with crypto_bigint::Invert (#1839)SecretKey::new => ::from_scalar (#1893)Reduce trait with crypto_bigint::Reduce (#1949)serdect dependency to v0.4 (#1978)crypto_bigint::Odd to represent Curve::ORDER (#2006)Curve::Uint on Unsigned (#2007)ScalarPrimitive => ScalarValue (#2008)FromStr impl for ScalarValue (#2037)SecretKey::random (#2086)MockCurve to dev::mock_curve (#2176)rand_core to v0.10 (#2250)EncodedPoint => Sec1Point (#2264)crypto-bigint to v0.7 (#2330)digest to v0.11 (#2331)sec1 to v0.8 (#2339)hkdf dependency to v0.13 (#2349)*Vartime as a suffix in names (#2378)pkcs8 to v0.11 (#2397)ff and group to v0.14 (#2430, #2431)BatchInvert trait (#2455)FieldBytesEncoding trait with C::FIELD_ENDIANNESS constant (#2457)Double to ops (#2465)hazmat feature (#1599)hash2curve and oprf modules: these are now their own crates (#1929)ShrAssign bound on Scalars (#1938)jose-jwk crate (#1963)weierstrass module (#2005)bits feature (#2417)May it be the one that is truly a "release candidate", after thirty some other failed attempts
May it be the one that is truly a "release candidate", after thirty some
other failed attempts
This removes the basepoint-table and wnaf features, shrinking the API surface, and ideally getting us to a true release candidate (I'd hope so after 3
This removes the basepoint-table and wnaf features, shrinking the
API surface, and ideally getting us to a true release candidate (I'd
hope so after 35 "release candidates"!)
This release uses the w-NAF implementation from the wnaf crate
This release uses the w-NAF implementation from the wnaf crate
This includes updates to upstream ff and group v0.14.0
This includes updates to upstream ff and group v0.14.0
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
SecretKey::from_slice now allows >=24-bytes ([#1412])
SecretKey::from_slice now allows >=24-bytes (#1412)BatchInvert and BatchNormalize traits ([#1376])
Minimum supported hkdf version is v0.12.1 ([#1353])
Faster PublicKey::from_encoded_point ([#1310])
Bump hex-literal to v0.4 ([#1295])
Impl AssociatedAlgorithmIdentifier for SecretKey and PublicKey ([#1286])
Weakly activate pkcs8?/std ([#1263])
SecretKey::from_slice short input support ([#1256])
SecretKey::from_slice short input support (#1256)PublicKey::to_sec1_bytes ([#1102])
PublicKey::to_sec1_bytes (#1102)std feature to sec1 dependency (#1131)NonIdentity wrapper type (#1176)serde traits for NonZeroScalar (#1178)MulByGenerator trait (#1198)NonZeroScalar::invert_vartime (#1207)BlindedScalar type (#1208)point::Double trait (#1218)FieldBytesEncoding trait (#1235)Invert::invert_vartime (#1239)c1 constant in OsswuMapParams (#1024)Curve::UInt => Curve::Uint (#1191)CurveArithmetic trait (#1196)SecretKey::to_pem => ::to_sec1_pem (#1202)ScalarCore to ScalarPrimitive (#1203)CryptoRngCore trait (#1206)SecretKey::as_scalar_core => ::as_scalar_primitive (#1228)Reduce::from_bytes_reduced => ::reduce_bytes (#1225, #1229)AffineCoordinates trait (#1237)dsts in the hash2curve API (#1238)serde feature activate pkcs8 (#1245)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →