nil::crypto3::algebra::fields::field< ModulusBits > Struct Template Reference
#include <field.hpp>
Collaboration diagram for nil::crypto3::algebra::fields::field< ModulusBits >:
Public Types | |
typedef nil::crypto3::multiprecision::number< nil::crypto3::multiprecision::backends::cpp_int_backend< 16 *modulus_bits, 16 *modulus_bits, nil::crypto3::multiprecision::unsigned_magnitude, nil::crypto3::multiprecision::unchecked, void > > | extended_integral_type |
typedef nil::crypto3::multiprecision::number< nil::crypto3::multiprecision::backends::cpp_int_backend< modulus_bits, modulus_bits, nil::crypto3::multiprecision::unsigned_magnitude, nil::crypto3::multiprecision::unchecked, void > > | integral_type |
typedef nil::crypto3::multiprecision::backends::cpp_int_backend< modulus_bits, modulus_bits, nil::crypto3::multiprecision::signed_magnitude, nil::crypto3::multiprecision::unchecked, void > | modular_backend |
typedef nil::crypto3::multiprecision::modular_params< modular_backend > | modular_params_type |
typedef nil::crypto3::multiprecision::number< nil::crypto3::multiprecision::backends::modular_adaptor< modular_backend, nil::crypto3::multiprecision::backends::modular_params_rt< modular_backend > > > | modular_type |
Static Public Attributes | |
constexpr static const std::size_t | modulus_bits = ModulusBits |
constexpr static const std::size_t | number_bits = ModulusBits |
Detailed Description
template<std::size_t ModulusBits>
struct nil::crypto3::algebra::fields::field< ModulusBits >
Arithmetic in the finite field F[p], for prime p of fixed length.
This class implements Fp-arithmetic, for a large prime p, using a fixed number of words. It is optimized for tight memory consumption, so the modulus p is passed as a template parameter, to avoid per-element overheads.
Member Typedef Documentation
◆ extended_integral_type
template<std::size_t ModulusBits>
typedef nil::crypto3::multiprecision::number< nil::crypto3::multiprecision::backends::cpp_int_backend< 16 * modulus_bits, 16 * modulus_bits, nil::crypto3::multiprecision::unsigned_magnitude, nil::crypto3::multiprecision::unchecked, void> > nil::crypto3::algebra::fields::field< ModulusBits >::extended_integral_type |
◆ integral_type
template<std::size_t ModulusBits>
typedef nil::crypto3::multiprecision::number< nil::crypto3::multiprecision::backends::cpp_int_backend< modulus_bits, modulus_bits, nil::crypto3::multiprecision::unsigned_magnitude, nil::crypto3::multiprecision::unchecked, void> > nil::crypto3::algebra::fields::field< ModulusBits >::integral_type |
◆ modular_backend
template<std::size_t ModulusBits>
typedef nil::crypto3::multiprecision::backends::cpp_int_backend< modulus_bits, modulus_bits, nil::crypto3::multiprecision::signed_magnitude, nil::crypto3::multiprecision::unchecked, void> nil::crypto3::algebra::fields::field< ModulusBits >::modular_backend |
◆ modular_params_type
template<std::size_t ModulusBits>
typedef nil::crypto3::multiprecision::modular_params<modular_backend> nil::crypto3::algebra::fields::field< ModulusBits >::modular_params_type |
◆ modular_type
template<std::size_t ModulusBits>
typedef nil::crypto3::multiprecision::number< nil::crypto3::multiprecision::backends::modular_adaptor<modular_backend, nil::crypto3::multiprecision::backends::modular_params_rt<modular_backend> > > nil::crypto3::algebra::fields::field< ModulusBits >::modular_type |
Member Data Documentation
◆ modulus_bits
template<std::size_t ModulusBits>
|
staticconstexpr |
◆ number_bits
template<std::size_t ModulusBits>
|
staticconstexpr |
The documentation for this struct was generated from the following file: