Clearmatics Libff
0.1
C++ library for Finite Fields and Elliptic Curves
|
Go to the documentation of this file.
26 template<mp_
size_t n, const big
int<n> &modulus>
class Fp4_model;
28 template<mp_
size_t n, const big
int<n> &modulus>
31 template<mp_
size_t n, const big
int<n> &modulus>
34 template<mp_
size_t n, const big
int<n> &modulus>
class Fp4_model
102 friend std::ostream &operator<<<n, modulus>(
104 friend std::istream &
operator>>
108 template<mp_
size_t n, const big
int<n> &modulus>
110 const Fp_model<n, modulus> &lhs,
const Fp4_model<n, modulus> &rhs);
112 template<mp_
size_t n, const big
int<n> &modulus>
114 const Fp2_model<n, modulus> &lhs,
const Fp4_model<n, modulus> &rhs);
116 template<mp_
size_t n, const big
int<n> &modulus, mp_
size_t m>
118 const Fp4_model<n, modulus> &
self,
const bigint<m> &exponent);
122 const bigint<n> &modulus,
124 const bigint<m> &modulus_p>
126 const Fp4_model<n, modulus> &
self,
const Fp_model<m, modulus_p> &exponent);
128 template<mp_
size_t n, const big
int<n> &modulus>
131 template<mp_
size_t n, const big
int<n> &modulus>
Fp4_model Frobenius_map(unsigned long power) const
bool operator!=(const Fp4_model &other) const
Fp4_model unitary_inverse() const
Fp_model< n, modulus > my_Fp
static my_Fp2 mul_by_non_residue(const my_Fp2 &elt)
Fp4_model operator*(const Fp4_model &other) const
std::istream & operator>>(std::istream &in, alt_bn128_G1 &g)
Fp4_model cyclotomic_exp(const bigint< m > &exponent) const
bool operator==(const Fp4_model &other) const
static const size_t tower_extension_degree
Fp4_model inverse() const
Fp2_model< n, modulus > my_Fp2
Fp4_model cyclotomic_squared() const
static Fp4_model< n, modulus > zero()
Fp4_model operator-() const
bn128_GT operator^(const bn128_GT &rhs, const bigint< m > &lhs)
Fp4_model mul_by_023(const Fp4_model &other) const
Fp4_model operator+(const Fp4_model &other) const
Fp4_model(const my_Fp2 &c0, const my_Fp2 &c1)
static constexpr size_t extension_degree()
std::ostream & operator<<(std::ostream &out, const alt_bn128_G1 &g)
alt_bn128_G1 operator*(const bigint< m > &lhs, const alt_bn128_G1 &rhs)
static bigint< n > base_field_char()
Fp4_model squared() const
FieldT power(const FieldT &base, const bigint< m > &exponent)
static my_Fp Frobenius_coeffs_c1[4]
non_residue^((modulus^i-1)/4) for i=0,1,2,3
static Fp4_model< n, modulus > one()
static Fp4_model< n, modulus > random_element()