Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
pairing.hpp File Reference
#include <random>
#include "./fq12.hpp"
#include "./fq2.hpp"
#include "./fq6.hpp"
#include "./g1.hpp"
#include "./g2.hpp"

Go to the source code of this file.

Classes

struct  bb::pairing::miller_lines
 
struct  bb::pairing::g2Projective
 
struct  bb::pairing::g1Projective
 Struct representing a point in G1 in homogeneous projective coordinates. More...
 

Namespaces

namespace  bb
 Entry point for Barretenberg command-line interface.
 
namespace  bb::pairing
 

Functions

constexpr void bb::pairing::doubling_step_for_miller_loop (g2Projective &work_point, fq12::ell_coeffs &line)
 Doubling step for Miller loop calculation.
 
constexpr void bb::pairing::mixed_addition_step_for_miller_loop (const g2Projective &Q, g2Projective &work_point, fq12::ell_coeffs &line)
 Addition step for Miller loop calculation.
 
constexpr void bb::pairing::precompute_miller_lines (const g2Projective &Q, miller_lines &lines)
 Precomputation of Miller lines for a point Q in G2.
 
constexpr void bb::pairing::precompute_miller_lines (const g2::element &Q, miller_lines &lines)
 
constexpr fq12 bb::pairing::miller_loop (const g1::affine_element &P, const miller_lines &lines)
 Miller loop implementation.
 
constexpr fq12 bb::pairing::miller_loop_batch (const g1::affine_element *points, const miller_lines *lines, size_t num_pairs)
 Compute the Miller loop for multiple pairs of points.
 

Variables

constexpr size_t bb::pairing::loop_length = 64
 
constexpr size_t bb::pairing::z_loop_length = 62
 
constexpr size_t bb::pairing::precomputed_coefficients_length = 87
 
constexpr std::array< uint8_t, loop_lengthbb::pairing::loop_bits
 
constexpr std::array< bool, z_loop_lengthbb::pairing::z_loop_bits