Clearmatics Libff
0.1
C++ library for Finite Fields and Elliptic Curves
libff
algebra
curves
bls12_381
bls12_381_pp.hpp
Go to the documentation of this file.
1
8
#ifndef BLS12_381_PP_HPP_
9
#define BLS12_381_PP_HPP_
10
#include <
libff/algebra/curves/bls12_381/bls12_381_g1.hpp
>
11
#include <
libff/algebra/curves/bls12_381/bls12_381_g2.hpp
>
12
#include <
libff/algebra/curves/bls12_381/bls12_381_init.hpp
>
13
#include <
libff/algebra/curves/bls12_381/bls12_381_pairing.hpp
>
14
#include <
libff/algebra/curves/public_params.hpp
>
15
16
namespace
libff
17
{
18
19
class
bls12_381_pp
20
{
21
public
:
22
static
const
std::string
name
;
23
24
typedef
bls12_381_Fr
Fp_type
;
25
typedef
bls12_381_G1
G1_type
;
26
typedef
bls12_381_G2
G2_type
;
27
typedef
bls12_381_G1_precomp
G1_precomp_type
;
28
typedef
bls12_381_G2_precomp
G2_precomp_type
;
29
typedef
bls12_381_Fq
Fq_type
;
30
typedef
bls12_381_Fq2
Fqe_type
;
31
typedef
bls12_381_Fq12
Fqk_type
;
32
typedef
bls12_381_GT
GT_type
;
33
34
static
const
bool
has_affine_pairing
=
false
;
35
36
static
void
init_public_params
();
37
static
bls12_381_GT
final_exponentiation
(
const
bls12_381_Fq12
&elt);
38
static
bls12_381_G1_precomp
precompute_G1
(
const
bls12_381_G1
&P);
39
static
bls12_381_G2_precomp
precompute_G2
(
const
bls12_381_G2
&Q);
40
static
bls12_381_Fq12
miller_loop
(
41
const
bls12_381_G1_precomp
&prec_P,
const
bls12_381_G2_precomp
&prec_Q);
42
static
bls12_381_Fq12
double_miller_loop
(
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);
48
static
bls12_381_Fq12
reduced_pairing
(
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
Generated on Thu Aug 18 2022 12:42:18 for Clearmatics Libff by
1.8.17