Clearmatics Libff  0.1
C++ library for Finite Fields and Elliptic Curves
bw6_761_pairing.hpp
Go to the documentation of this file.
1 #ifndef BW6_761_PAIRING_HPP_
2 #define BW6_761_PAIRING_HPP_
3 
5 #include <vector>
6 
7 namespace libff
8 {
9 
10 /* final exponentiation */
11 
13 
14 /* ate pairing */
15 
19 
20  bool operator==(const bw6_761_ate_G1_precomp &other) const;
21  friend std::ostream &operator<<(
22  std::ostream &out, const bw6_761_ate_G1_precomp &prec_P);
23  friend std::istream &operator>>(
24  std::istream &in, bw6_761_ate_G1_precomp &prec_P);
25 };
26 
31 
32  bool operator==(const bw6_761_ate_ell_coeffs &other) const;
33  friend std::ostream &operator<<(
34  std::ostream &out, const bw6_761_ate_ell_coeffs &dc);
35  friend std::istream &operator>>(
36  std::istream &in, bw6_761_ate_ell_coeffs &dc);
37 };
38 
42  std::vector<bw6_761_ate_ell_coeffs> coeffs;
43 
44  bool operator==(const bw6_761_ate_G2_precomp_iteration &other) const;
45  friend std::ostream &operator<<(
46  std::ostream &out, const bw6_761_ate_G2_precomp_iteration &prec_Q);
47  friend std::istream &operator>>(
48  std::istream &in, bw6_761_ate_G2_precomp_iteration &prec_Q);
49 };
50 
54 
55  bool operator==(const bw6_761_ate_G2_precomp &other) const;
56  friend std::ostream &operator<<(
57  std::ostream &out, const bw6_761_ate_G2_precomp &prec_Q);
58  friend std::istream &operator>>(
59  std::istream &in, bw6_761_ate_G2_precomp &prec_Q);
60 };
61 
64 
66  const bw6_761_ate_G1_precomp &prec_P, const bw6_761_ate_G2_precomp &prec_Q);
67 
69  const bw6_761_ate_G1_precomp &prec_P1,
70  const bw6_761_ate_G2_precomp &prec_Q1,
71  const bw6_761_ate_G1_precomp &prec_P2,
72  const bw6_761_ate_G2_precomp &prec_Q2);
73 
76  const bw6_761_G1 &P, const bw6_761_G2 &Q);
77 
78 /* choice of pairing */
79 
82 
84 
86 
88  const bw6_761_G1_precomp &prec_P, const bw6_761_G2_precomp &prec_Q);
89 
91  const bw6_761_ate_G1_precomp &prec_P1,
92  const bw6_761_ate_G2_precomp &prec_Q1,
93  const bw6_761_ate_G1_precomp &prec_P2,
94  const bw6_761_ate_G2_precomp &prec_Q2);
95 
97 
99 
100 } // namespace libff
101 
102 #endif // BW6_761_PAIRING_HPP_
libff::bw6_761_ate_G2_precomp_iteration
Definition: bw6_761_pairing.hpp:39
libff::bw6_761_G2_precomp
bw6_761_ate_G2_precomp bw6_761_G2_precomp
Definition: bw6_761_pairing.hpp:81
libff::bw6_761_ate_G2_precomp::operator>>
friend std::istream & operator>>(std::istream &in, bw6_761_ate_G2_precomp &prec_Q)
Definition: bw6_761_pairing.cpp:120
libff::bw6_761_reduced_pairing
bw6_761_GT bw6_761_reduced_pairing(const bw6_761_G1 &P, const bw6_761_G2 &Q)
Definition: bw6_761_pairing.cpp:676
libff::bw6_761_ate_G2_precomp
Definition: bw6_761_pairing.hpp:51
libff::bw6_761_G1_precomp
bw6_761_ate_G1_precomp bw6_761_G1_precomp
Definition: bw6_761_pairing.hpp:80
libff::bw6_761_GT
bw6_761_Fq6 bw6_761_GT
Definition: bw6_761_init.hpp:27
libff::bw6_761_ate_ell_coeffs::operator==
bool operator==(const bw6_761_ate_ell_coeffs &other) const
Definition: bw6_761_pairing.cpp:34
libff::bw6_761_miller_loop
bw6_761_Fq6 bw6_761_miller_loop(const bw6_761_G1_precomp &prec_P, const bw6_761_G2_precomp &prec_Q)
Definition: bw6_761_pairing.cpp:656
libff::bw6_761_ate_G1_precomp::operator==
bool operator==(const bw6_761_ate_G1_precomp &other) const
Definition: bw6_761_pairing.cpp:11
libff::bw6_761_ate_G2_precomp_iteration::operator<<
friend std::ostream & operator<<(std::ostream &out, const bw6_761_ate_G2_precomp_iteration &prec_Q)
Definition: bw6_761_pairing.cpp:68
libff
Definition: ffi.cpp:8
libff::bw6_761_G2
Definition: bw6_761_g2.hpp:15
libff::bw6_761_ate_double_miller_loop
bw6_761_Fq6 bw6_761_ate_double_miller_loop(const bw6_761_ate_G1_precomp &prec_P1, const bw6_761_ate_G2_precomp &prec_Q1, const bw6_761_ate_G1_precomp &prec_P2, const bw6_761_ate_G2_precomp &prec_Q2)
Definition: bw6_761_pairing.cpp:508
libff::bw6_761_ate_G2_precomp_iteration::QY
bw6_761_Fq QY
Definition: bw6_761_pairing.hpp:41
libff::bw6_761_ate_miller_loop
bw6_761_Fq6 bw6_761_ate_miller_loop(const bw6_761_ate_G1_precomp &prec_P, const bw6_761_ate_G2_precomp &prec_Q)
Definition: bw6_761_pairing.cpp:423
libff::bw6_761_pairing
bw6_761_Fq6 bw6_761_pairing(const bw6_761_G1 &P, const bw6_761_G2 &Q)
Definition: bw6_761_pairing.cpp:671
libff::bw6_761_ate_G2_precomp::operator==
bool operator==(const bw6_761_ate_G2_precomp &other) const
Definition: bw6_761_pairing.cpp:105
libff::bw6_761_ate_G2_precomp::precomp_2
bw6_761_ate_G2_precomp_iteration precomp_2
Definition: bw6_761_pairing.hpp:53
libff::bw6_761_ate_ell_coeffs::operator>>
friend std::istream & operator>>(std::istream &in, bw6_761_ate_ell_coeffs &dc)
Definition: bw6_761_pairing.cpp:49
libff::bw6_761_ate_G1_precomp::operator<<
friend std::ostream & operator<<(std::ostream &out, const bw6_761_ate_G1_precomp &prec_P)
Definition: bw6_761_pairing.cpp:17
libff::bw6_761_ate_ell_coeffs::ell_0
bw6_761_Fq ell_0
Definition: bw6_761_pairing.hpp:28
libff::bw6_761_final_exponentiation
bw6_761_GT bw6_761_final_exponentiation(const bw6_761_Fq6 &elt)
Definition: bw6_761_pairing.cpp:258
libff::bw6_761_ate_G1_precomp::PX
bw6_761_Fq PX
Definition: bw6_761_pairing.hpp:17
libff::bw6_761_ate_precompute_G1
bw6_761_ate_G1_precomp bw6_761_ate_precompute_G1(const bw6_761_G1 &P)
Definition: bw6_761_pairing.cpp:354
libff::bw6_761_ate_precompute_G2
bw6_761_ate_G2_precomp bw6_761_ate_precompute_G2(const bw6_761_G2 &Q)
Definition: bw6_761_pairing.cpp:414
libff::bw6_761_ate_G1_precomp::PY
bw6_761_Fq PY
Definition: bw6_761_pairing.hpp:18
libff::bw6_761_ate_G1_precomp::operator>>
friend std::istream & operator>>(std::istream &in, bw6_761_ate_G1_precomp &prec_P)
Definition: bw6_761_pairing.cpp:25
libff::bw6_761_ate_ell_coeffs::ell_VV
bw6_761_Fq ell_VV
Definition: bw6_761_pairing.hpp:30
libff::bw6_761_ate_ell_coeffs
Definition: bw6_761_pairing.hpp:27
libff::bw6_761_ate_ell_coeffs::operator<<
friend std::ostream & operator<<(std::ostream &out, const bw6_761_ate_ell_coeffs &dc)
Definition: bw6_761_pairing.cpp:42
libff::bw6_761_ate_G2_precomp_iteration::coeffs
std::vector< bw6_761_ate_ell_coeffs > coeffs
Definition: bw6_761_pairing.hpp:42
libff::bw6_761_ate_G2_precomp::precomp_1
bw6_761_ate_G2_precomp_iteration precomp_1
Definition: bw6_761_pairing.hpp:52
libff::bw6_761_ate_reduced_pairing
bw6_761_GT bw6_761_ate_reduced_pairing(const bw6_761_G1 &P, const bw6_761_G2 &Q)
Definition: bw6_761_pairing.cpp:635
bw6_761_init.hpp
libff::bw6_761_precompute_G1
bw6_761_G1_precomp bw6_761_precompute_G1(const bw6_761_G1 &P)
Definition: bw6_761_pairing.cpp:646
libff::bw6_761_ate_G2_precomp::operator<<
friend std::ostream & operator<<(std::ostream &out, const bw6_761_ate_G2_precomp &prec_Q)
Definition: bw6_761_pairing.cpp:113
libff::Fp_model< bw6_761_q_limbs, bw6_761_modulus_q >
libff::bw6_761_ate_G2_precomp_iteration::operator>>
friend std::istream & operator>>(std::istream &in, bw6_761_ate_G2_precomp_iteration &prec_Q)
Definition: bw6_761_pairing.cpp:79
libff::bw6_761_ate_G2_precomp_iteration::operator==
bool operator==(const bw6_761_ate_G2_precomp_iteration &other) const
Definition: bw6_761_pairing.cpp:60
libff::bw6_761_ate_G2_precomp_iteration::QX
bw6_761_Fq QX
Definition: bw6_761_pairing.hpp:40
libff::bw6_761_Fq6
Fp6_2over3_model< bw6_761_q_limbs, bw6_761_modulus_q > bw6_761_Fq6
Definition: bw6_761_init.hpp:26
libff::Fp6_2over3_model
Definition: fp6_2over3.hpp:26
libff::bw6_761_double_miller_loop
bw6_761_Fq6 bw6_761_double_miller_loop(const bw6_761_ate_G1_precomp &prec_P1, const bw6_761_ate_G2_precomp &prec_Q1, const bw6_761_ate_G1_precomp &prec_P2, const bw6_761_ate_G2_precomp &prec_Q2)
Definition: bw6_761_pairing.cpp:662
libff::bw6_761_precompute_G2
bw6_761_G2_precomp bw6_761_precompute_G2(const bw6_761_G2 &Q)
Definition: bw6_761_pairing.cpp:651
libff::bw6_761_G1
Definition: bw6_761_g1.hpp:14
libff::bw6_761_ate_ell_coeffs::ell_VW
bw6_761_Fq ell_VW
Definition: bw6_761_pairing.hpp:29
libff::bw6_761_ate_G1_precomp
Definition: bw6_761_pairing.hpp:16
libff::bw6_761_ate_pairing
bw6_761_Fq6 bw6_761_ate_pairing(const bw6_761_G1 &P, const bw6_761_G2 &Q)
Definition: bw6_761_pairing.cpp:625