Expand description
Multiprecision integer arithmetic primitives.
Modules§
Structs§
- CtLDivisor
- Constant-time
LimbTypedivisor. - CtMp
Divisor - Limb
Choice - Condition value representation supporting branchless programming patterns.
- MpBig
EndianU IntByte Slice - MpLittle
EndianU IntByte Slice - MpMut
BigEndianU IntByte Slice - MpMut
Little EndianU IntByte Slice - MpMut
Native EndianU IntLimbs Slice - MpNative
EndianU IntLimbs Slice - MpUInt
Common TryInto Native Error - Prime
Wheel Sieve
Enums§
- CtAdd
ModMp MpError - CtComposite
Test Small Prime GcdMp Error - CtDiv
MpMp Error - CtDiv
Pow2 MpError - CtExp
ModOdd MpMp Error - CtGcd
MpMp Error - CtGcd
OddMp MpError - CtInv
ModMp MpError - CtInv
ModOdd MpMp Error - CtLDivisor
Error - Error type returned by
CtLDivisor::new(). - CtLcm
MpMp Error - CtMod
Pow2 MpError - CtMontgomery
ExpMod OddMp MpError - CtMontgomery
MulMod MpMp Error - CtMontgomery
NegN0 InvModL MpError - CtMontgomery
Redc MpError - CtMontgomery
Transformation Error - CtMp
Divisor Error - CtPrime
Test Miller Rabin MpError - CtTo
Montgomery Form MpError
Traits§
Functions§
- clear_
bits_ above_ mp - clear_
bits_ below_ mp - ct_
add_ cond_ mp_ mp - Conditionally add two multiprecision integers of specified endianess.
- ct_
add_ mod_ mp_ mp - ct_
add_ mp_ l - ct_
add_ mp_ mp - ct_
clear_ bits_ above_ mp - ct_
clear_ bits_ below_ mp - ct_
composite_ test_ small_ prime_ gcd_ mp - ct_
div_ mp_ l - ct_
div_ mp_ mp - ct_
eq_ l_ l - Constant-time comparison of two
LimbTypevalues for==. - ct_
eq_ mp_ mp - Compare two multiprecision integers of specified endianess for
==. - ct_
eq_ usize_ usize - ct_
exp_ mod_ odd_ mp_ mp - ct_
find_ first_ set_ bit_ mp - ct_
find_ last_ set_ bit_ mp - ct_
gcd_ mp_ mp - ct_
gcd_ odd_ mp_ mp - ct_
geq_ l_ l - Constant-time comparison of two
LimbTypevalues for>=. - ct_
geq_ mp_ mp - Compare two multiprecision integers of specified_endianess for
>=. - ct_
geq_ usize_ usize - ct_
gt_ l_ l - Constant-time comparison of two
LimbTypevalues for>. - ct_
gt_ mp_ mp - Compare two multiprecision integers of specified endianess for
>. - ct_
gt_ usize_ usize - ct_
inv_ mod_ mp_ mp - ct_
inv_ mod_ odd_ mp_ mp - ct_
is_ nonzero_ l - Constant-time test if a
LimbTypevalue is non-zero. - ct_
is_ one_ mp - ct_
is_ zero_ l - Constant-time test if a
LimbTypevalue is zero. - ct_
is_ zero_ mp - ct_
lcm_ mp_ mp - ct_
leq_ l_ l - Constant-time comparison of two
LimbTypevalues for<=. - ct_
leq_ mp_ l - ct_
leq_ mp_ mp - Compare two multiprecision integers of specified endianess for
<=. - ct_
leq_ usize_ usize - ct_
lshift_ mp - ct_
lt_ l_ l - Constant-time comparison of two
LimbTypevalues for<. - ct_
lt_ mp_ mp - Compare two multiprecision integers of specified endianess for
<. - ct_
lt_ usize_ usize - ct_
mod_ mp_ l - ct_
mod_ mp_ mp - ct_
montgomery_ mul_ mod_ mp_ mp - ct_
montgomery_ neg_ n0_ inv_ mod_ l_ mp - ct_
montgomery_ radix2_ mod_ n_ mp - ct_
montgomery_ redc_ mp - ct_
montogmery_ exp_ mod_ odd_ mp_ mp - ct_
mul_ trunc_ mp_ l - ct_
mul_ trunc_ mp_ mp - ct_
negate_ cond_ mp - ct_
negate_ mod_ mp - ct_
negate_ mp - ct_
neq_ l_ l - Constant-time comparison of two
LimbTypevalues for!=. - ct_
neq_ mp_ mp - Compare two multiprecision integers of specified endianess for
!=. - ct_
prime_ test_ miller_ rabin_ mp - ct_
rshift_ mp - ct_
square_ trunc_ mp - Square a multiprecision integer of specified endianess.
- ct_
sub_ mod_ mp_ mp - ct_
sub_ mp_ l - ct_
sub_ mp_ mp - ct_
swap_ cond_ mp - ct_
to_ montgomery_ form_ direct_ mp - ct_
to_ montgomery_ form_ mp - limb_
slice_ as_ bytes - limb_
slice_ as_ bytes_ mut
Type Aliases§
- CtDiv
Lshifted MpMp Error - CtDiv
MpLError - CtMod
Lshifted MpMp Error - CtNegate
ModMp Error - CtSub
ModMp MpError - Limb
Type - The basic unit used by the multiprecision integer arithmetic implementation.