Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
libff::bn128_pp Class Reference

#include <bn128_pp.hpp>

Public Types

typedef bn128_Fr Fp_type
 
typedef bn128_G1 G1_type
 
typedef bn128_G2 G2_type
 
typedef bn128_ate_G1_precomp G1_precomp_type
 
typedef bn128_ate_G2_precomp G2_precomp_type
 
typedef bn128_Fq Fq_type
 
typedef bn128_Fq12 Fqk_type
 
typedef bn128_GT GT_type
 

Static Public Member Functions

static void init_public_params ()
 
static bn128_GT final_exponentiation (const bn128_Fq12 &elt)
 
static bn128_ate_G1_precomp precompute_G1 (const bn128_G1 &P)
 
static bn128_ate_G2_precomp precompute_G2 (const bn128_G2 &Q)
 
static bn128_Fq12 miller_loop (const bn128_ate_G1_precomp &prec_P, const bn128_ate_G2_precomp &prec_Q)
 
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)
 
static bn128_GT pairing (const bn128_G1 &P, const bn128_G2 &Q)
 
static bn128_GT reduced_pairing (const bn128_G1 &P, const bn128_G2 &Q)
 

Static Public Attributes

static const bool has_affine_pairing = false
 

Detailed Description

Definition at line 19 of file bn128_pp.hpp.

Member Typedef Documentation

◆ Fp_type

Definition at line 21 of file bn128_pp.hpp.

◆ Fq_type

Definition at line 26 of file bn128_pp.hpp.

◆ Fqk_type

Definition at line 27 of file bn128_pp.hpp.

◆ G1_precomp_type

◆ G1_type

Definition at line 22 of file bn128_pp.hpp.

◆ G2_precomp_type

◆ G2_type

Definition at line 23 of file bn128_pp.hpp.

◆ GT_type

Definition at line 28 of file bn128_pp.hpp.

Member Function Documentation

◆ double_miller_loop()

bn128_Fq12 libff::bn128_pp::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 )
static

Definition at line 42 of file bn128_pp.cpp.

46{
47 enter_block("Call to double_miller_loop<bn128_pp>");
48 bn128_Fq12 result = bn128_double_ate_miller_loop(prec_P1, prec_Q1, prec_P2, prec_Q2);
49 leave_block("Call to double_miller_loop<bn128_pp>");
50 return result;
51}
bn128_Fq12 bn128_double_ate_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)
void enter_block(const std::string &msg, const bool indent)
bn128_GT bn128_Fq12
void leave_block(const std::string &msg, const bool indent)
Here is the call graph for this function:

◆ final_exponentiation()

bn128_GT libff::bn128_pp::final_exponentiation ( const bn128_Fq12 & elt)
static

Definition at line 18 of file bn128_pp.cpp.

19{
21}
bn128_GT bn128_final_exponentiation(const bn128_Fq12 &elt)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_public_params()

void libff::bn128_pp::init_public_params ( )
static

Definition at line 13 of file bn128_pp.cpp.

14{
16}
void init_bn128_params()
Here is the call graph for this function:
Here is the caller graph for this function:

◆ miller_loop()

bn128_Fq12 libff::bn128_pp::miller_loop ( const bn128_ate_G1_precomp & prec_P,
const bn128_ate_G2_precomp & prec_Q )
static

Definition at line 33 of file bn128_pp.cpp.

35{
36 enter_block("Call to miller_loop<bn128_pp>");
37 bn128_Fq12 result = bn128_ate_miller_loop(prec_P, prec_Q);
38 leave_block("Call to miller_loop<bn128_pp>");
39 return result;
40}
bn128_Fq12 bn128_ate_miller_loop(const bn128_ate_G1_precomp &prec_P, const bn128_ate_G2_precomp &prec_Q)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pairing()

bn128_Fq12 libff::bn128_pp::pairing ( const bn128_G1 & P,
const bn128_G2 & Q )
static

Definition at line 53 of file bn128_pp.cpp.

55{
56 enter_block("Call to pairing<bn128_pp>");
57 bn128_ate_G1_precomp prec_P = bn128_pp::precompute_G1(P);
58 bn128_ate_G2_precomp prec_Q = bn128_pp::precompute_G2(Q);
59
60 bn128_Fq12 result = bn128_pp::miller_loop(prec_P, prec_Q);
61 leave_block("Call to pairing<bn128_pp>");
62 return result;
63}
static bn128_ate_G1_precomp precompute_G1(const bn128_G1 &P)
Definition bn128_pp.cpp:23
static bn128_ate_G2_precomp precompute_G2(const bn128_G2 &Q)
Definition bn128_pp.cpp:28
static bn128_Fq12 miller_loop(const bn128_ate_G1_precomp &prec_P, const bn128_ate_G2_precomp &prec_Q)
Definition bn128_pp.cpp:33
#define P
Definition dtoa.c:437
Here is the call graph for this function:
Here is the caller graph for this function:

◆ precompute_G1()

bn128_ate_G1_precomp libff::bn128_pp::precompute_G1 ( const bn128_G1 & P)
static

Definition at line 23 of file bn128_pp.cpp.

24{
26}
bn128_ate_G1_precomp bn128_ate_precompute_G1(const bn128_G1 &P)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ precompute_G2()

bn128_ate_G2_precomp libff::bn128_pp::precompute_G2 ( const bn128_G2 & Q)
static

Definition at line 28 of file bn128_pp.cpp.

29{
31}
bn128_ate_G2_precomp bn128_ate_precompute_G2(const bn128_G2 &Q)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ reduced_pairing()

bn128_GT libff::bn128_pp::reduced_pairing ( const bn128_G1 & P,
const bn128_G2 & Q )
static

Definition at line 65 of file bn128_pp.cpp.

67{
68 enter_block("Call to reduced_pairing<bn128_pp>");
69 const bn128_Fq12 f = bn128_pp::pairing(P, Q);
70 const bn128_GT result = bn128_pp::final_exponentiation(f);
71 leave_block("Call to reduced_pairing<bn128_pp>");
72 return result;
73}
static bn128_GT pairing(const bn128_G1 &P, const bn128_G2 &Q)
Definition bn128_pp.cpp:53
static bn128_GT final_exponentiation(const bn128_Fq12 &elt)
Definition bn128_pp.cpp:18
Here is the call graph for this function:

Member Data Documentation

◆ has_affine_pairing

const bool libff::bn128_pp::has_affine_pairing = false
static

Definition at line 30 of file bn128_pp.hpp.


The documentation for this class was generated from the following files: