Clearmatics Libff  0.1
C++ library for Finite Fields and Elliptic Curves
bls12_381_pp.hpp
Go to the documentation of this file.
1 
8 #ifndef BLS12_381_PP_HPP_
9 #define BLS12_381_PP_HPP_
15 
16 namespace libff
17 {
18 
20 {
21 public:
22  static const std::string name;
23 
33 
34  static const bool has_affine_pairing = false;
35 
36  static void init_public_params();
41  const bls12_381_G1_precomp &prec_P, const bls12_381_G2_precomp &prec_Q);
43  const bls12_381_G1_precomp &prec_P1,
44  const bls12_381_G2_precomp &prec_Q1,
45  const bls12_381_G1_precomp &prec_P2,
46  const bls12_381_G2_precomp &prec_Q2);
47  static bls12_381_Fq12 pairing(const bls12_381_G1 &P, const bls12_381_G2 &Q);
49  const bls12_381_G1 &P, const bls12_381_G2 &Q);
50 };
51 
52 } // namespace libff
53 
54 #endif // BLS12_381_PP_HPP_
libff::bls12_381_pp::Fqe_type
bls12_381_Fq2 Fqe_type
Definition: bls12_381_pp.hpp:30
libff::bls12_381_pp::Fp_type
bls12_381_Fr Fp_type
Definition: bls12_381_pp.hpp:24
libff::bls12_381_pp::precompute_G1
static bls12_381_G1_precomp precompute_G1(const bls12_381_G1 &P)
Definition: bls12_381_pp.cpp:15
libff::bls12_381_pp
Definition: bls12_381_pp.hpp:19
libff::bls12_381_ate_G1_precomp
Definition: bls12_381_pairing.hpp:22
libff
Definition: ffi.cpp:8
libff::bls12_381_pp::G2_type
bls12_381_G2 G2_type
Definition: bls12_381_pp.hpp:26
libff::bls12_381_G1
Definition: bls12_381_g1.hpp:21
libff::bls12_381_pp::miller_loop
static bls12_381_Fq12 miller_loop(const bls12_381_G1_precomp &prec_P, const bls12_381_G2_precomp &prec_Q)
Definition: bls12_381_pp.cpp:25
libff::bls12_381_pp::G2_precomp_type
bls12_381_G2_precomp G2_precomp_type
Definition: bls12_381_pp.hpp:28
libff::bls12_381_pp::Fqk_type
bls12_381_Fq12 Fqk_type
Definition: bls12_381_pp.hpp:31
libff::bls12_381_pp::GT_type
bls12_381_GT GT_type
Definition: bls12_381_pp.hpp:32
libff::bls12_381_pp::has_affine_pairing
static const bool has_affine_pairing
Definition: bls12_381_pp.hpp:34
public_params.hpp
libff::bls12_381_pp::precompute_G2
static bls12_381_G2_precomp precompute_G2(const bls12_381_G2 &Q)
Definition: bls12_381_pp.cpp:20
libff::Fp12_2over3over2_model
Definition: fp12_2over3over2.hpp:20
libff::bls12_381_pp::G1_precomp_type
bls12_381_G1_precomp G1_precomp_type
Definition: bls12_381_pp.hpp:27
bls12_381_pairing.hpp
libff::bls12_381_pp::pairing
static bls12_381_Fq12 pairing(const bls12_381_G1 &P, const bls12_381_G2 &Q)
Definition: bls12_381_pp.cpp:40
libff::Fp_model
Definition: fp.hpp:20
bls12_381_g2.hpp
libff::bls12_381_pp::reduced_pairing
static bls12_381_Fq12 reduced_pairing(const bls12_381_G1 &P, const bls12_381_G2 &Q)
Definition: bls12_381_pp.cpp:46
libff::bls12_381_ate_G2_precomp
Definition: bls12_381_pairing.hpp:45
bls12_381_init.hpp
libff::Fp2_model< bls12_381_q_limbs, bls12_381_modulus_q >
libff::bls12_381_pp::name
static const std::string name
Definition: bls12_381_pp.hpp:22
libff::bls12_381_pp::Fq_type
bls12_381_Fq Fq_type
Definition: bls12_381_pp.hpp:29
libff::bls12_381_pp::init_public_params
static void init_public_params()
Definition: bls12_381_pp.cpp:8
libff::bls12_381_pp::G1_type
bls12_381_G1 G1_type
Definition: bls12_381_pp.hpp:25
libff::bls12_381_pp::final_exponentiation
static bls12_381_GT final_exponentiation(const bls12_381_Fq12 &elt)
Definition: bls12_381_pp.cpp:10
libff::bls12_381_pp::double_miller_loop
static bls12_381_Fq12 double_miller_loop(const bls12_381_G1_precomp &prec_P1, const bls12_381_G2_precomp &prec_Q1, const bls12_381_G1_precomp &prec_P2, const bls12_381_G2_precomp &prec_Q2)
Definition: bls12_381_pp.cpp:31
bls12_381_g1.hpp
libff::bls12_381_G2
Definition: bls12_381_g2.hpp:21