RustCrypto: Generic Prime Fields
Generic implementation of prime fields built on crypto-bigint, along with macros for writing
field element newtypes including ones with formally verified arithmetic using fiat-crypto.
About
A prime field is a finite field of order 𝑝, where 𝑝 is a prime number. Because 𝑝 is prime, every non-zero element of the field has a modular inverse.
Prime fields are notable for their use in cryptography, particularly for their use as coordinates (a.k.a. base field) and the scalar field of elliptic curve implementations.
The implementation provided by this crate is built on crypto_bigint::modular, which provides
a generic implementation of modular arithmetic with a modulus fixed at compile-time.
Minimum Supported Rust Version (MSRV) Policy
MSRV increases are not considered breaking changes and can happen in patch releases.
The crate MSRV accounts for all supported targets and crate feature combinations, excluding explicitly unstable features.
License
Licensed under either of:
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.