Clearmatics Libff
0.1
C++ library for Finite Fields and Elliptic Curves
libff
algebra
curves
bn128
bn128_pp.hpp
Go to the documentation of this file.
1
8
#ifndef BN128_PP_HPP_
9
#define BN128_PP_HPP_
10
#include <
libff/algebra/curves/bn128/bn128_g1.hpp
>
11
#include <
libff/algebra/curves/bn128/bn128_g2.hpp
>
12
#include <
libff/algebra/curves/bn128/bn128_gt.hpp
>
13
#include <
libff/algebra/curves/bn128/bn128_init.hpp
>
14
#include <
libff/algebra/curves/bn128/bn128_pairing.hpp
>
15
#include <
libff/algebra/curves/public_params.hpp
>
16
17
namespace
libff
18
{
19
20
class
bn128_pp
21
{
22
public
:
23
static
const
std::string
name
;
24
25
typedef
bn128_Fr
Fp_type
;
26
typedef
bn128_G1
G1_type
;
27
typedef
bn128_G2
G2_type
;
28
typedef
bn128_ate_G1_precomp
G1_precomp_type
;
29
typedef
bn128_ate_G2_precomp
G2_precomp_type
;
30
typedef
bn128_Fq
Fq_type
;
31
typedef
bn128_Fq12
Fqk_type
;
32
typedef
bn128_GT
GT_type
;
33
34
static
const
bool
has_affine_pairing
=
false
;
35
36
static
void
init_public_params
();
37
static
bn128_GT
final_exponentiation
(
const
bn128_Fq12
&elt);
38
static
bn128_ate_G1_precomp
precompute_G1
(
const
bn128_G1
&P);
39
static
bn128_ate_G2_precomp
precompute_G2
(
const
bn128_G2
&Q);
40
static
bn128_Fq12
miller_loop
(
41
const
bn128_ate_G1_precomp
&prec_P,
const
bn128_ate_G2_precomp
&prec_Q);
42
static
bn128_Fq12
double_miller_loop
(
43
const
bn128_ate_G1_precomp
&prec_P1,
44
const
bn128_ate_G2_precomp
&prec_Q1,
45
const
bn128_ate_G1_precomp
&prec_P2,
46
const
bn128_ate_G2_precomp
&prec_Q2);
47
48
/* the following are used in test files */
49
static
bn128_GT
pairing
(
const
bn128_G1
&P,
const
bn128_G2
&Q);
50
static
bn128_GT
reduced_pairing
(
const
bn128_G1
&P,
const
bn128_G2
&Q);
51
};
52
53
}
// namespace libff
54
#endif // BN128_PP_HPP_
libff::bn128_GT
Definition:
bn128_gt.hpp:23
libff::bn128_pp::precompute_G2
static bn128_ate_G2_precomp precompute_G2(const bn128_G2 &Q)
Definition:
bn128_pp.cpp:28
libff
Definition:
ffi.cpp:8
libff::bn128_G1
Definition:
bn128_g1.hpp:23
libff::bn128_pp::miller_loop
static bn128_Fq12 miller_loop(const bn128_ate_G1_precomp &prec_P, const bn128_ate_G2_precomp &prec_Q)
Definition:
bn128_pp.cpp:33
bn128_gt.hpp
libff::bn128_ate_G2_precomp
Definition:
bn128_pairing.hpp:34
libff::bn128_pp::init_public_params
static void init_public_params()
Definition:
bn128_pp.cpp:16
libff::bn128_pp::reduced_pairing
static bn128_GT reduced_pairing(const bn128_G1 &P, const bn128_G2 &Q)
Definition:
bn128_pp.cpp:66
libff::bn128_ate_G1_precomp
Definition:
bn128_pairing.hpp:22
libff::bn128_pp::final_exponentiation
static bn128_GT final_exponentiation(const bn128_Fq12 &elt)
Definition:
bn128_pp.cpp:18
libff::bn128_pp::G2_type
bn128_G2 G2_type
Definition:
bn128_pp.hpp:27
bn128_pairing.hpp
libff::bn128_pp::G1_precomp_type
bn128_ate_G1_precomp G1_precomp_type
Definition:
bn128_pp.hpp:28
public_params.hpp
libff::bn128_pp::double_miller_loop
static bn128_Fq12 double_miller_loop(const bn128_ate_G1_precomp &prec_P1, const bn128_ate_G2_precomp &prec_Q1, const bn128_ate_G1_precomp &prec_P2, const bn128_ate_G2_precomp &prec_Q2)
Definition:
bn128_pp.cpp:42
bn128_g1.hpp
bn128_init.hpp
libff::bn128_pp::GT_type
bn128_GT GT_type
Definition:
bn128_pp.hpp:32
libff::Fp_model
Definition:
fp.hpp:20
libff::bn128_pp::G1_type
bn128_G1 G1_type
Definition:
bn128_pp.hpp:26
libff::bn128_pp::has_affine_pairing
static const bool has_affine_pairing
Definition:
bn128_pp.hpp:34
libff::bn128_pp::Fp_type
bn128_Fr Fp_type
Definition:
bn128_pp.hpp:25
libff::bn128_pp::Fq_type
bn128_Fq Fq_type
Definition:
bn128_pp.hpp:30
libff::bn128_pp
Definition:
bn128_pp.hpp:20
bn128_g2.hpp
libff::bn128_pp::pairing
static bn128_GT pairing(const bn128_G1 &P, const bn128_G2 &Q)
Definition:
bn128_pp.cpp:55
libff::bn128_pp::name
static const std::string name
Definition:
bn128_pp.hpp:23
libff::bn128_G2
Definition:
bn128_g2.hpp:24
libff::bn128_pp::Fqk_type
bn128_Fq12 Fqk_type
Definition:
bn128_pp.hpp:31
libff::bn128_pp::precompute_G1
static bn128_ate_G1_precomp precompute_G1(const bn128_G1 &P)
Definition:
bn128_pp.cpp:23
libff::bn128_pp::G2_precomp_type
bn128_ate_G2_precomp G2_precomp_type
Definition:
bn128_pp.hpp:29
Generated on Thu Aug 18 2022 12:42:18 for Clearmatics Libff by
1.8.17