Open
Description
This is a ticket for tracking desired new features for crypto-bigint
and which algorithms should be used in order to implement particular features.
Unless otherwise stated, these features are implied to be for the UInt
type.
- signed integers (#700)
- addition/subtraction
- multiplication algorithms
- "schoolbook"
- Karatsuba
- sqrt
- modular arithmetic
- add
- subtract
- multiply
- negate
- modulus
- pow
- sqrt
- inversions
- bitwise operations (request other ops in comments)
- shift
- rotate
- XOR
- fields mod n (i.e. wrapper newtypes for
UInt
) - constant-time division
- by 2 (useful for
elliptic-curve
crates) - arbitrary
- by 2 (useful for
-
subtle
comparisons-
ConstantTimeEq
-
ConstantTimeGreater
-
ConstantTimeLess
-
- CRT (algorithms listed below)
- LCM
- GCD (algorithms listed below)
- safegcd (a.k.a. Bernstein-Yang)
- safegcd-bounds (#634)
- RNG
- random < n
better random < nrandom prime(usecrypto-primes
instead)
- Hardware acceleration / assembly (see also #572)
NOTE: for prime number support, see the crypto-primes
crate
Metadata
Assignees
Labels
No labels
Activity