Crate unknown_order
source ·Expand description
This crate handles groups of unknown order.
I’ve seen this commonly across multiple projects where they need a multiprecision library and use one of three libraries: Gnu MP BigNum Library, OpenSSL’s BigNum Library and Rust’s BigInt Library, depending on the needs and requirements (licensing, performance, platform target).
This library wraps them all into a common API, so they can be used interchangeably.
Groups of unknown order require using a modulus that is the composite of two big prime numbers. This library is designed to facilitate these use cases such as RSA, Paillier, Hyperelliptic Curves, Accumulators, CL signatures.
The modulus is not known at compile time which excludes using certain traits like ff::PrimeField
, so
unfortunately, the caller needs to remember to use methods prefixed with mod
to achieve the desired results.
Structs§
- GcdResult encapsulates the gcd result and the Bézout coefficients
- Represents a cyclic group where all operations are reduced by a modulus. Purely a convenience struct to avoid having to call mod{ops}
- Big number that handle up to 4096-bits
Type Aliases§
- The default big number type