Expand description
fp2-rs is a library for efficient and constant-time arithmetic for the finite field Fp^2
This library has been developed following a series of projects which needed finite field arithmetic over a number of different characteristics. Currently, the only intended usage for this code, is in isogeny-based cryptographic research, meaning the current functionality is tailored for a particular set of problems.
Modules§
- fp2_gen
- A macro to define efficient and constant-time arithmetic for the finite field Fp^2 with modulus x^2 + 1
- fp_gen
- A macro to define efficient and constant-time arithmetic for finite fields Fp with p = 3 mod 4 using Montgomery multiplication.
- test_
macros - Macros to generate deterministically random test vectors for finite fields
- traits
- Traits for implementing generic operations over finite fields.
- utils64
- Utility functions for performing arithmetic with
u64
words
Macros§
- define_
fp2_ from_ modulus - A macro to define the degree two extension of the finite field Fp, with modulus x^2 + 1 directly from the modulus. All functions are designed to run in constant time.
- define_
fp2_ from_ type - A macro to define the degree two extension of the finite field Fp, with modulus x^2 + 1. All functions are designed to run in constant time.
- define_
fp2_ tests - A macro to generate test vectors for a given finite field Fp^2.
- define_
fp_ core - A macro to define the finite field Fp, all functions are designed to run in constant time. Assumes that the characteristic is p = 3 mod 4.
- define_
fp_ tests - A macro to generate test vectors for a given finite field Fp.