primefield 0.14.0-rc.3

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`
Documentation

RustCrypto: Generic Prime Fields

crate Docs Build Status Apache2/MIT licensed Rust Version Project Chat

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.

Documentation

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.