crypto-bigint
Pure Rust implementation of a big integer library which has been designed from the ground-up for use in cryptographic applications. Provides constant-time, no_std-friendly implementations of modern formulas using const generics.
0.7.5
255M downloads/mo
#409 most downloaded on crates.io
RustCrypto/crypto-bigint
What this package is like to depend on
Last release 2 months ago
22 Jun 2026
Release timing varies
gaps range from 8 days to 3 months
Nearly every release is documented
notes for 26 of 26 stable releases
16 versions withdrawn
withdrawn after publishing
5 years old
106 releases · first in 2021
32 releases in the last 12 months
see the full history below
Release timeline
106 releases · Apr 2021 to Jun 2026Releases
latest 60 of 106-
0.7.522 Jun 2026Release notes
Open source →Added
BoxedUint::{from_be_slice_truncated, from_le_slice_truncated}(#1266)Encoding::{from_bytes, to_bytes}(#1297)Uint::{from_be_slice_truncated, from_le_slice_truncated}(#1299)Limb::{from_*_bytes, from_*_slice_truncated, to_*_bytes}as
const fns (#1300)Encoding::{from_be_slice_truncated, from_le_slice_truncated}trait
methods (#1301)ArrayEncoding::{from_byte_array, to_byte_array}(#1302)
Fixed
Release notes
Open source →Added
BoxedUint::{from_be_slice_truncated, from_le_slice_truncated}(#1266)Encoding::{from_bytes, to_bytes}(#1297)Uint::{from_be_slice_truncated, from_le_slice_truncated}(#1299)Limb::{from_*_bytes, from_*_slice_truncated, to_*_bytes}asconst fns (#1300)Encoding::{from_be_slice_truncated, from_le_slice_truncated}trait methods (#1301)ArrayEncoding::{from_byte_array, to_byte_array}(#1302)
Fixed
-
0.7.416 Jun 2026 withdrawnRelease notes
Open source →Added
- Extend LCM support to
BoxedUintand add a supporting trait (#1240) - Impl
ConstantTimeGreater/ConstantTimeLessforConstMontyForm(#1247) - Support for exact division (#1256, #1271)
- Implement
Encodingtrait forIntserde support (#1286) ByteOrderenum (#1293)
Changed
Fixed
- Panic in
Int::div_rem_unsignedwith large divisors (#1250) - Avoid incorrect creation of an
Odd<BoxedUint>ininvert_mod2k(#1257) BoxedUintbitor-assign with widerrhs(#1270)- Enforce
UintRefslice length checks in release builds (#1272) - Clamp Montgomery exponent bit bounds (#1273)
- Reject oversized fixed-width DER integers (#1274)
- Update
CtEqimpl forMontyParamsto matchPartialEq(#1278) - Canonicalize modulus-one residues (#1280)
nlimbsoverflow nearu32::MAX(#1283)UintRefbyte precision [#1290)
Release notes
Open source →NOTE: yanked due to Karatsuba carry truncation bug fixed in [#1305].
Added
- Extend LCM support to
BoxedUintand add a supporting trait (#1240) - Impl
ConstantTimeGreater/ConstantTimeLessforConstMontyForm(#1247) - Support for exact division (#1256, #1271)
- Implement
Encodingtrait forIntserde support (#1286) ByteOrderenum (#1293)
Changed
Fixed
- Panic in
Int::div_rem_unsignedwith large divisors (#1250) - Avoid incorrect creation of an
Odd<BoxedUint>ininvert_mod2k(#1257) BoxedUintbitor-assign with widerrhs(#1270)- Enforce
UintRefslice length checks in release builds (#1272) - Clamp Montgomery exponent bit bounds (#1273)
- Reject oversized fixed-width DER integers (#1274)
- Update
CtEqimpl forMontyParamsto matchPartialEq(#1278) - Canonicalize modulus-one residues (#1280)
nlimbsoverflow nearu32::MAX(#1283)UintRefbyte precision (#1290)
- Extend LCM support to
-
0.7.325 Mar 2026 withdrawnRelease notes
Open source →Added
#[inline]attributes for shift and wrapping arithmetic ops (#1229)MontyForm::{is_zero, is_one}methods (#1230)Gcdsupertrait bound toUnsigned/Signedtraits (#1231)
Changed
Release notes
Open source →NOTE: yanked due to Karatsuba carry truncation bug fixed in [#1305].
Added
#[inline]attributes for shift and wrapping arithmetic ops (#1229)MontyForm::{is_zero, is_one}methods (#1230)Gcdsupertrait bound toUnsigned/Signedtraits (#1231)
Changed
-
0.7.220 Mar 2026 withdrawnRelease notes
Open source →Release notes
Open source →NOTE: yanked due to Karatsuba carry truncation bug fixed in [#1305].
Added
InverttoMontyFormsupertraits (#1226)
Changed
- BREAKING: seal the
Integertrait (#1227)
-
0.7.110 Mar 2026 withdrawnRelease notes
Open source →NOTE: this release contains breaking changes versus v0.7.0, which will
be yanked. The v0.7.0 release and the features involved in the change
are new enough we don't think this will have an impact.Added
Uint::{concat_resize, concat_checked, split_resize, split_checked}
methods (#1223)
Changed
Release notes
Open source →NOTE: this release, like v0.7.0, was yanked due to last-minute breaking changes, namely sealing the
Integertrait ([#1227]), which is technically a breaking change but one we do not expect will have any user-facing impact.Added
Uint::{concat_resize, concat_checked, split_resize, split_checked}methods (#1223)
Changed
-
0.7.008 Mar 2026 withdrawnRelease notes
Open source →Added
- Binary GCD algorithm (#755)
RandomMod::try_random_modandRandom::try_randommethods (#770)Monty::div_by_2_assign()(#777)BoxedUint::inv_mod2k_vartime()(#777)BoxedUint::inv_mod2k()(#777)Monty::Multiplier(#777)serdesupport for BoxedUint (#789)Binary,LowerHex, andUpperHexbounds forInteger(#792)DivVartimetrait (#800)PartialOrd<Uint>impl forBoxedUint(#803)UintReftype (#806, #1114)Resizetrait (#809)Invert::invert_vartimemethod (#814)From<Odd>forNonZeroimpl (#821)BoxedUint::{to_be_bytes_trimmed, to_le_bytes_trimmed}(#824)BoxedUint::{from_be_slice_vartime, from_le_slice_vartime}(#833)Int::to_uintandUint::to_int(#837)NonZeroandOddtype aliases (#844)NonZeroUint/OddUintNonZeroBoxedUint/OddBoxedUintNonZeroInt/OddInt(#845)
NonZeroInt::new_unwrap(#857)- Classic Binary Extended GCD algorithm (#854)
Xgcdtrait (#855)Uint::rem_wide(#896)Reducetrait (#887, #906)SquareModtrait (#915)JacobiSymbolcalculation (#927)NonZero::<Uint>::{from_be_hex, from_le_hex}(#928)SignedandUnsignedmarker traits (#942)Int::wrapping_mul(#946)Onetrait alaZero(#947)MontyParams::{one, r2}accessor methods (#948)- Optimized Binary Extended GCD a.k.a. binxgcd (#945)
ConstMontyForm::MODULUSconstant (#982)Uint::lcmmethod (#1028)getrandomfeature withRandomtrait support (#1057)NonZero::get_copy/Odd::get_copy(#1072)- Checked and wrapping exponentiation methods for
Uint(#1081) CheckedSquareRoottrait (#1083)BoxedUint::pow_modmethod (#1084)BoxedUint::concatenating_addmethod ([1090)BoxedUint::overflowing_addmethod (#1091)- Extra sizes
U8320andU12288(#1101) Limb::array_as_(mut_)words/slice_as_(mut_)words(#1103)Uint::{floor_root_vartime, checked_root_vartime}(#1089)(Const)MontyForm::pow_vartime(#1118)(Const)MontyForm::square_repeat_vartimemethod (#1122)ToOwned<Owned = BoxedUint>impl forUintRef(#1128)BoxedUintexponentiation methods:wrapping_pow,
wrapping_pow_bounded_exp,wrapped_pow_vartimeas well as
checked_*/saturating_*equivalents (#1159)- Division and remainder operations for
Limb(#1162) - Implement
IntegerandUnsignedforLimb(#1174) - Mixed-size comparisons for
Integertypes (#1184) MontyParamsgetter methods (#1188)Uint::resize_checkedmethod (#1194)const_prime_monty_params!macro andPrimeParamstrait (#1139)ConcatenatingSquaretrait (#1208)
Changed
- Bump
derto v0.8 (#763, #1206) - Bump edition to 2024; MSRV 1.85 (#772)
- Bound
MontyonRetrieve(#797) Uint::div/Int::divnow accept differently sized denominators (#799)- Rename
as_(limbs|words)_mut=>as_mut_(limbs|words)(#805) - Inversion method naming: (#816)
inv()->invert(),inv_mod()->invert_mod(),InvMod->InvertModinv_odd_mod()->invert_odd_mod()inv_mod2k()->invert_mod2k()
- Adopt
corenaming conventions for bigint methods (#817) - Rename
WideningMul->ConcatenatingMul,widening_mul()->concatenating_mul()- Rename
mul_wide()/split_mul()->widening_mul() - Rename
adc()->carrying_add() - Rename
sbb()->borrowing_sub()
- Rename
- Rename
mac()->carrying_mul_add()and change the order of
arguments to matchcore - Rename
impl_modulus!=>const_monty_params!(#861) - Unify
ConstMontyParamsandMontyParams(#873) BoxedUint::div_remnow accepts mixed sized inputs (#902)const_monty_form!now defines a type alias (#909)- Modular operations now accept a
NonZeromodulus (#914) - Simplify
Uint::add_mod,Uint::double_mod(#917) Uint::double_modnow requires aNonZeromodulus (#917)- Bump
hybrid-arrayto v0.4 (#934) - Implement
Encodingfor allUints (#1016, #1064) - Rename
random_mod->random_mod_vartime(#1030) - Replace
subtlewithctutils: - Rename
randfeature torand_core(#1058) - Have
BoxedMontyForm::newauto-Cloneits params (#1087) - Rename
SquareRoottrait toFloorSquareRoot(#1083) - Use
coreconvention for mixed-sign op names (#1092){unsigned}::*_signedfor ops that take{signed}RHS operand{signed}::*_unsignedfor ops that take{unsigned}RHS operand
- Make vartime bit shifts return an
Optioninstead ofCtOption(#1096) - Make vartime inversion return an
Optioninstead ofCtOption(#1097) - Unified
MontyParams(#1107) - Have
Monty::zeroandMonty::oneborrow params (#1140) - Rename
MontyForm->FixedMontyForm(#1145) - Split
UnsignedWithMontyFormout ofUnsigned(#1156, #1189) - Bump
rand_coreto v0.10 (#1165) - Wrapping shifts renamed to unbounded shifts to follow
coresemantics (#1160) - Replace
nlimbs!macro withconst fn nlimbs()(#1169) - Use
cpubitscrate for 32-bit vs 64-bit selection (#1170) - More flexible
BoxedUintaddition, subtraction, multiplication (#1177) - Lighter-weight support for
Uintconcat/split operations (#1191) - Deprecate
Uint:{square, square_wide}in favor ofconcatenating_square(#1207) - Deprecate
BoxedUint::{mul, square}in favor of concatenating
mul/square (#1208)
Fixed
- Make
random_bits_coreplatform independent (#781, #1010, #1026) Defaultimpl forOdd(#1071)NonZero::from_le_byte_array(#1211)
Removed
Release notes
Open source →NOTE: this release was yanked due to some last minute breaking-changes introduced in v0.7.1, namely an additional parameter added to
const_prime_monty_params!/PrimeParams.Added
- Binary GCD algorithm (#755)
- Provide
RandomMod::try_random_modandRandom::try_randommethods (#770) Monty::div_by_2_assign()(#777)BoxedUint::inv_mod2k_vartime()(#777)BoxedUint::inv_mod2k()(#777)Monty::Multiplier(#777)serdesupport for BoxedUint (#789)Binary,LowerHex, andUpperHexbounds forInteger(#792)DivVartimetrait (#800)PartialOrd<Uint>impl forBoxedUint(#803)UintReftype (#806, #1114)Resizetrait (#809)Invert::invert_vartimemethod (#814)From<Odd>forNonZeroimpl (#821)BoxedUint::{to_be_bytes_trimmed, to_le_bytes_trimmed}(#824)BoxedUint::{from_be_slice_vartime, from_le_slice_vartime}(#833)Int::to_uintandUint::to_int(#837)NonZeroandOddtype aliases (#844)NonZeroUint/OddUintNonZeroBoxedUint/OddBoxedUintNonZeroInt/OddInt(#845)
NonZeroInt::new_unwrap(#857)- Classic Binary Extended GCD algorithm (#854)
Xgcdtrait (#855)Uint::rem_wide(#896)Reducetrait (#887, #906)SquareModtrait (#915)JacobiSymbolcalculation (#927)NonZero::<Uint>::{from_be_hex, from_le_hex}(#928)SignedandUnsignedmarker traits (#942)Int::wrapping_mul(#946)Onetrait alaZero(#947)MontyParams::{one, r2}accessor methods (#948)- Optimized Binary Extended GCD a.k.a. binxgcd (#945)
ConstMontyForm::MODULUSconstant (#982)Uint::lcmmethod (#1028)getrandomfeature withRandomtrait support (#1057)NonZero::get_copy/Odd::get_copy(#1072)- Checked and wrapping exponentiation methods for
Uint(#1081) CheckedSquareRoottrait (#1083)BoxedUint::pow_modmethod (#1084)BoxedUint::concatenating_addmethod (#1090)BoxedUint::overflowing_addmethod (#1091)- Extra sizes
U8320andU12288(#1101) Limb::array_as_(mut_)words/slice_as_(mut_)words(#1103)Uint::{floor_root_vartime, checked_root_vartime}(#1089)(Const)MontyForm::pow_vartime(#1118)(Const)MontyForm::square_repeat_vartimemethod (#1122)ToOwned<Owned = BoxedUint>impl forUintRef(#1128)BoxedUintexponentiation methods:wrapping_pow,wrapping_pow_bounded_exp,wrapped_pow_vartimeas well aschecked_*/saturating_*equivalents (#1159)- Division and remainder operations for
Limb(#1162) - Implement
IntegerandUnsignedforLimb(#1174) - Mixed-size comparisons for
Integertypes (#1184) MontyParamsgetter methods (#1188)Uint::resize_checkedmethod (#1194)const_prime_monty_params!macro andPrimeParamstrait (#1139)ConcatenatingSquaretrait (#1208)
Changed
- Bump
derto v0.8 (#763, #1206) - Bump edition to 2024; MSRV 1.85 (#772)
- Bound
MontyonRetrieve(#797) Uint::div/Int::divnow accept differently sized denominators (#799)- Rename
as_(limbs|words)_mut=>as_mut_(limbs|words)(#805) - Inversion method naming: (#816)
inv()->invert(),inv_mod()->invert_mod(),InvMod->InvertModinv_odd_mod()->invert_odd_mod()inv_mod2k()->invert_mod2k()
- Adopt
corenaming conventions for bigint methods (#817)- Rename
WideningMul->ConcatenatingMul,widening_mul()->concatenating_mul() - Rename
mul_wide()/split_mul()->widening_mul() - Rename
adc()->carrying_add() - Rename
sbb()->borrowing_sub() - Rename
mac()->carrying_mul_add()and change the order of arguments to matchcore
- Rename
- Rename
impl_modulus!=>const_monty_params!(#861) - Unify
ConstMontyParamsandMontyParams(#873) BoxedUint::div_remnow accepts mixed sized inputs (#902)const_monty_form!now defines a type alias (#909)- Modular operations now accept a
NonZeromodulus (#914) - Simplify
Uint::add_mod,Uint::double_mod(#917) Uint::double_modnow requires aNonZeromodulus (#917)- Bump
hybrid-arrayto v0.4 (#934) - Implement
Encodingfor allUints (#1016, #1064) - Rename
random_mod->random_mod_vartime(#1030) - Replace
subtlewithctutils: - Rename
randfeature torand_core(#1058) - Have
BoxedMontyForm::newauto-Cloneits params (#1087) - Rename
SquareRoottrait toFloorSquareRoot(#1083) - Use
coreconvention for mixed-sign op names (#1092){unsigned}::*_signedfor ops that take{signed}RHS operand{signed}::*_unsignedfor ops that take{unsigned}RHS operand
- Make vartime bit shifts return an
Optioninstead ofCtOption(#1096) - Make vartime inversion return an
Optioninstead ofCtOption(#1097) - Unified
MontyParams(#1107) - Have
Monty::zeroandMonty::oneborrow params (#1140) - Rename
MontyForm->FixedMontyForm(#1145) - Split
UnsignedWithMontyFormout ofUnsigned(#1156, #1189) - Bump
rand_coreto v0.10 (#1165) - Wrapping shifts renamed to unbounded shifts to follow
coresemantics (#1160) - Replace
nlimbs!macro withconst fn nlimbs()(#1169) - Use
cpubitscrate for 32-bit vs 64-bit selection (#1170) - More flexible
BoxedUintaddition, subtraction, multiplication (#1177) - Lighter-weight support for
Uintconcat/split operations (#1191) - Deprecate
Uint:{square, square_wide}in favor ofconcatenating_square(#1207) - Deprecate
BoxedUint::{mul, square}in favor of concatenating mul/square (#1208)
Fixed
- Make
random_bits_coreplatform independent (#781, #1010, #1026) Defaultimpl forOdd(#1071)NonZero::from_le_byte_array(#1211)
Removed
-
0.7.0-rc.2826 Feb 2026 pre-release -
0.7.0-rc.2712 Feb 2026 pre-release -
0.7.0-rc.2611 Feb 2026 pre-release -
0.7.0-rc.2502 Feb 2026 pre-release -
0.7.0-rc.2402 Feb 2026 pre-releaseNothing published for this version
-
0.7.0-rc.2301 Feb 2026 pre-releaseNothing published for this version
-
0.7.0-rc.2224 Jan 2026 pre-releaseNothing published for this version
-
0.7.0-rc.2120 Jan 2026 pre-releaseNothing published for this version
-
0.7.0-rc.2019 Jan 2026 pre-releaseNothing published for this version
-
0.7.0-rc.1919 Jan 2026 pre-release withdrawnNothing published for this version
-
0.7.0-rc.1814 Jan 2026 pre-releaseNothing published for this version
-
0.7.0-rc.1713 Jan 2026 pre-releaseNothing published for this version
-
0.7.0-rc.1612 Jan 2026 pre-releaseNothing published for this version
-
0.7.0-rc.1506 Jan 2026 pre-releaseNothing published for this version
-
0.7.0-rc.1405 Jan 2026 pre-releaseNothing published for this version
-
0.7.0-rc.1329 Dec 2025 pre-releaseNothing published for this version
-
0.7.0-rc.1229 Dec 2025 pre-releaseNothing published for this version
-
0.7.0-rc.1129 Dec 2025 pre-releaseNothing published for this version
-
0.7.0-rc.1006 Nov 2025 pre-releaseNothing published for this version
-
0.7.0-rc.916 Oct 2025 pre-releaseNothing published for this version
-
0.7.0-rc.829 Sep 2025 pre-releaseNothing published for this version
-
0.7.0-rc.724 Sep 2025 pre-releaseNothing published for this version
-
0.7.0-rc.613 Sep 2025 pre-releaseNothing published for this version
-
0.7.0-rc.512 Sep 2025 pre-releaseNothing published for this version
-
0.7.0-rc.402 Sep 2025 pre-releaseNothing published for this version
-
0.7.0-rc.302 Sep 2025 pre-releaseNothing published for this version
-
0.7.0-rc.223 Aug 2025 pre-releaseNothing published for this version
-
0.7.0-rc.115 Aug 2025 pre-releaseNothing published for this version
-
0.7.0-rc.005 Aug 2025 pre-releaseNothing published for this version
-
0.7.0-pre.719 Jul 2025 pre-releaseNothing published for this version
-
0.7.0-pre.603 Jul 2025 pre-releaseNothing published for this version
-
0.7.0-pre.516 Jun 2025 pre-releaseNothing published for this version
-
0.7.0-pre.430 May 2025 pre-releaseNothing published for this version
-
0.7.0-pre.311 May 2025 pre-releaseNothing published for this version
-
0.7.0-pre.201 May 2025 pre-releaseNothing published for this version
-
0.7.0-pre.120 Apr 2025 pre-releaseNothing published for this version
-
0.7.0-pre.018 Feb 2025 pre-releaseNothing published for this version
-
0.6.114 Feb 2025 -
0.6.022 Jan 2025Release notes
Open source →Added
TryFrom<&[u8]>bound onEncoding::Repr(#261)- New
Uintfunctionality: - New
BoxedUintfunctionality:- New methods:
sbb/wrapping_sub/checked_sub(#303),mul(#306),from_be_slice/from_le_slice(#307),to_be_bytes/to_le_bytes(#308),bits(#328),conditional_select(#329),shl_vartime(#330),shr_vartime(#331),rem_vartime(#332),inv_mod2k/bitor(#334),pow(#337),inv_mod(#341),random(#349),cond_map/cond_and_then(#352),map_limbs(#357),div_rem/rem(#398),new_with_arc(#407),gcd(#497),from_str_radix_vartime(#603),to_string_radix_vartime(#659) - New trait impls:
BitAnd*(#314),ConstantTimeGreater/Less/PartialOrd/Ord(#316),AddMod(#317),SubMod(#320),Hash/BoxedUint(#350),MulMod/BoxedUint(#343),RandomMod(#349),Rem(#356),BitNot/BitXor(#358),CheckedMul/Mul(#361),NegMod(#362),Div(#366),Integer(#367) - Montgomery multiplication support (#323)
- New methods:
- New traits:
FixedInteger(#363),CheckedDiv(#369),WideningMul(#371),ConstantTimeSelect(#454),SquareAssign(#431),Gcd(#499),DivRemLimb/RemLimb(#496),InvMod(#505, #741),SquareRoot(#508),BitOperations(#507),ShrVartime/ShlVartime(#509),RandomBits(#510),RemMixed(#746) num-traitsimpls:Wrapping*(#425),Zero/One(#433),ConstZero(#573),Num(#720)- safegcd (Bernstein-Yang) GCD + inv mod algorithm (#372, #493, #632, #635, #655)
- Constant-time square root and division (#376)
- Implement
ZeroizeforNonZerowrapper (#406) Zero::set_zeromethod (#426)Inverter/PrecomputeInvertertraits (#438, #444)- Uint:
const fnencoders (#453) - Traits to connect integers and Montgomery form representations (#431):
Integer::Montyassociated typeMontytrait with arithmetic bounds and an associatedMonty::Integertype
Oddwrapper type (#487)NonZero::new_unwrap(#602)- Implement Karatsuba multiplication for
UintandBoxedUint(#649) - Efficient linear combination for Montgomery forms (#666)
- Doc comment support for
impl_modulus!(#676) core::error::Errorsupport (#680)Inttype providing initial signed integer support using two's complement (#695, #730)- Variable-time modular inversion support (#731)
Changed
- Toplevel
modularmodule now contains all modular functionality (#300, #324) Integertrait: expand bounds to include*Mod(#318),Add/Sub/Mul(#435),RemAssign(#709),AddAssign/MulAssign/SubAssign(#716)Integertrait: add new methodsbits(_vartime)/leading_zeros(#368),from_limb_like/one_like/zero_like` (#533)- Replace
BoxedUint::newwith::zero_with_precision(#327) - Split
Zerotrait intoZero+ZeroConstant(#335) - Refactor
Integertrait; addConstants/LimbsConstant(#355)- The existing
Boundedtrait subsumesBITS/BYTES ConstantsprovidesONEandMAXLimbsConstantprovidesLIMBS
- The existing
- Rename
BoxedUint::mul_widetomul(#359) - Round up
bits_precisionwhen creatingBoxedUint(#365) - Make bit ops use
u32for shifts and bit counts (#373) - Align with
core/stdon overflow behavior for bit shifts (#395) - Make
inv_mod2k(_vartime)return aCtChoice(#416) - Rename
CtChoicetoConstChoice(#417) - Make division methods take
NonZero-wrapped divisors (#419) - Align with
core/stdonoverflowing_sh*for functions which return an overflow flag (#430) Uint: renameHLIMBStoRHS_LIMBS(#432)- Bring
Checked*traits in line withWrapping*(#434) - Rename
*Residue*types i.e. Montgomery form representations (#485):Residue->ConstMontyFormDynResidue->MontyFormBoxedResidue->BoxedMontyForm*ResidueParams->*MontyParamsresidue_params->paramsparams.r->params.one
- Make
Monty::new_params()take anOdd-wrapped modulus (#488) - Expand
Uintsupport forconst fn:square(#514),widening_mul(#515),to_le_bytes(#555) - Have
(Boxed)MontyParams::modulusreturn&Odd<_>(#517) - Split
MontyParams::newandnew_vartime([#516], #518) - Reverse
Concat(Mixed)/Split(Mixed)argument ordering (#526) - Migrate from
generic-arraytohybrid-array(#544) - Replace
ZeroConstantwithConstZerotrait fromnum-traits(#546, #573) - Change
Uint::concat_mixedandsplit_mixedto acceptself; makepub(#556, #558) - Make
Uint::concatandsplitconst generic over inputs (#557, #558) - Split
Uint::mul_modandUint::mul_mod_vartime(#623) - Faster constant-time division (#643)
BoxedMontyForm: always useArcforparams(#645)- Leverage
const_mut_refs; MSRV 1.83 (#667) - Bump
rlpdependency from 0.5 to 0.6 (#673) - Require
RngCoreinstead ofCryptoRngCorefor various random methods (#710) - Bump
serdectdependency to v0.3 (#719) - Have
randfeature enablerand_core/getrandominstead ofrand_core/std(#745)
Fixed
- Argument ordering to
BoxedUint::chain(#315) - Modulus leading zeros calculation for
MontyForm/BoxedMontyForm(#713)
Removed
-
0.6.0-rc.820 Jan 2025 pre-releaseNothing published for this version
-
0.6.0-rc.720 Jan 2025 pre-releaseNothing published for this version
-
0.6.0-rc.605 Oct 2024 pre-releaseNothing published for this version
-
0.6.0-rc.519 Sep 2024 pre-releaseNothing published for this version
-
0.6.0-rc.410 Sep 2024 pre-releaseNothing published for this version
-
0.6.0-rc.321 Aug 2024 pre-releaseNothing published for this version
-
0.6.0-rc.226 Jul 2024 pre-releaseNothing published for this version
-
0.6.0-rc.023 Jun 2024 pre-releaseNothing published for this version
-
0.6.0-pre.1217 Jan 2024 pre-releaseNothing published for this version
-
0.6.0-pre.1116 Jan 2024 pre-releaseNothing published for this version
-
0.6.0-pre.1010 Jan 2024 pre-releaseNothing published for this version
-
0.6.0-pre.910 Jan 2024 pre-releaseNothing published for this version
-
0.6.0-pre.808 Jan 2024 pre-releaseNothing published for this version
-
0.6.0-pre.729 Dec 2023 pre-releaseNothing published for this version
-
0.6.0-pre.628 Dec 2023 pre-releaseNothing published for this version