Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::Bn254FqParams Class Reference

Parameters defining the base field of the BN254 curve. More...

#include <fq.hpp>

Static Public Attributes

static constexpr uint64_t modulus_0 = 0x3C208C16D87CFD47UL
 
static constexpr uint64_t modulus_1 = 0x97816a916871ca8dUL
 
static constexpr uint64_t modulus_2 = 0xb85045b68181585dUL
 
static constexpr uint64_t modulus_3 = 0x30644e72e131a029UL
 
static constexpr uint64_t r_squared_0 = 0xF32CFC5B538AFA89UL
 
static constexpr uint64_t r_squared_1 = 0xB5E71911D44501FBUL
 
static constexpr uint64_t r_squared_2 = 0x47AB1EFF0A417FF6UL
 
static constexpr uint64_t r_squared_3 = 0x06D89F71CAB8351FUL
 
static constexpr uint64_t r_inv = 0x87d20782e4866389UL
 
static constexpr uint64_t r_inv_0 = 0x327d7c1b18f7bd41UL
 
static constexpr uint64_t r_inv_1 = 0xdb8ed52f824ed32fUL
 
static constexpr uint64_t r_inv_2 = 0x29b67b05eb29a6a1UL
 
static constexpr uint64_t r_inv_3 = 0x19ac99126b459ddaUL
 
static constexpr uint64_t cube_root_0 = 0x71930c11d782e155UL
 
static constexpr uint64_t cube_root_1 = 0xa6bb947cffbe3323UL
 
static constexpr uint64_t cube_root_2 = 0xaa303344d4741444UL
 
static constexpr uint64_t cube_root_3 = 0x2c3b3f0d26594943UL
 
static constexpr uint64_t primitive_root_0 = 0UL
 
static constexpr uint64_t primitive_root_1 = 0UL
 
static constexpr uint64_t primitive_root_2 = 0UL
 
static constexpr uint64_t primitive_root_3 = 0UL
 
static constexpr uint64_t coset_generator_0 = 0x7a17caa950ad28d7ULL
 
static constexpr uint64_t coset_generator_1 = 0x1f6ac17ae15521b9ULL
 
static constexpr uint64_t coset_generator_2 = 0x334bea4e696bd284ULL
 
static constexpr uint64_t coset_generator_3 = 0x2a1f6744ce179d8eULL
 
static constexpr uint64_t modulus_wasm_0 = 0x187cfd47
 
static constexpr uint64_t modulus_wasm_1 = 0x10460b6
 
static constexpr uint64_t modulus_wasm_2 = 0x1c72a34f
 
static constexpr uint64_t modulus_wasm_3 = 0x2d522d0
 
static constexpr uint64_t modulus_wasm_4 = 0x1585d978
 
static constexpr uint64_t modulus_wasm_5 = 0x2db40c0
 
static constexpr uint64_t modulus_wasm_6 = 0xa6e141
 
static constexpr uint64_t modulus_wasm_7 = 0xe5c2634
 
static constexpr uint64_t modulus_wasm_8 = 0x30644e
 
static constexpr uint64_t r_squared_wasm_0 = 0xe1a2a074659bac10UL
 
static constexpr uint64_t r_squared_wasm_1 = 0x639855865406005aUL
 
static constexpr uint64_t r_squared_wasm_2 = 0xff54c5802d3e2632UL
 
static constexpr uint64_t r_squared_wasm_3 = 0x2a11a68c34ea65a6UL
 
static constexpr uint64_t r_inv_wasm_0 = 0x17789a9f
 
static constexpr uint64_t r_inv_wasm_1 = 0x5ffc3dc
 
static constexpr uint64_t r_inv_wasm_2 = 0xd6bde42
 
static constexpr uint64_t r_inv_wasm_3 = 0x1cf152e3
 
static constexpr uint64_t r_inv_wasm_4 = 0x18eb055f
 
static constexpr uint64_t r_inv_wasm_5 = 0xed815e2
 
static constexpr uint64_t r_inv_wasm_6 = 0x16626d2
 
static constexpr uint64_t r_inv_wasm_7 = 0xb8bab0f
 
static constexpr uint64_t r_inv_wasm_8 = 0x6d7c4
 
static constexpr uint64_t cube_root_wasm_0 = 0x62b1a3a46a337995UL
 
static constexpr uint64_t cube_root_wasm_1 = 0xadc97d2722e2726eUL
 
static constexpr uint64_t cube_root_wasm_2 = 0x64ee82ede2db85faUL
 
static constexpr uint64_t cube_root_wasm_3 = 0x0c0afea1488a03bbUL
 
static constexpr uint64_t primitive_root_wasm_0 = 0x0000000000000000UL
 
static constexpr uint64_t primitive_root_wasm_1 = 0x0000000000000000UL
 
static constexpr uint64_t primitive_root_wasm_2 = 0x0000000000000000UL
 
static constexpr uint64_t primitive_root_wasm_3 = 0x0000000000000000UL
 
static constexpr uint64_t coset_generator_wasm_0 = 0xeb8a8ec140766463ULL
 
static constexpr uint64_t coset_generator_wasm_1 = 0xf2b1f20626a3da49ULL
 
static constexpr uint64_t coset_generator_wasm_2 = 0xf905ef8d84d5fea4ULL
 
static constexpr uint64_t coset_generator_wasm_3 = 0x2958a27c02b7cd5fULL
 
static constexpr uint64_t endo_g1_lo = 0x7a7bd9d4391eb18d
 
static constexpr uint64_t endo_g1_mid = 0x4ccef014a773d2cfUL
 
static constexpr uint64_t endo_g1_hi = 0x0000000000000002UL
 
static constexpr uint64_t endo_g2_lo = 0xd91d232ec7e0b3d2UL
 
static constexpr uint64_t endo_g2_mid = 0x0000000000000002UL
 
static constexpr uint64_t endo_minus_b1_lo = 0x8211bbeb7d4f1129UL
 
static constexpr uint64_t endo_minus_b1_mid = 0x6f4d8248eeb859fcUL
 
static constexpr uint64_t endo_b2_lo = 0x89d3256894d213e2UL
 
static constexpr uint64_t endo_b2_mid = 0UL
 
static constexpr char schema_name [] = "fq"
 
static constexpr bool has_high_2adicity = false
 
static constexpr size_t NUM_BN254_SCALARS = 2
 
static constexpr size_t MAX_BITS_PER_ENDOMORPHISM_SCALAR = 128
 
static constexpr size_t PUBLIC_INPUTS_SIZE = BIGFIELD_PUBLIC_INPUTS_SIZE
 

Detailed Description

Parameters defining the base field of the BN254 curve.

When split into 4 64-bit words, the parameters are represented in little-endian, i.e. the least significant bit comes first. For example, to recover the modulus from the 64-bit words we concatenate its limbs to obtain: 0x30644e72e131a029b85045b68181585d97816a916871ca8d3C208C16D87CFD47

Note
These parameters can be extracted by running the script parameter_helper.py in ecc/fields

Definition at line 28 of file fq.hpp.

Member Data Documentation

◆ coset_generator_0

constexpr uint64_t bb::Bn254FqParams::coset_generator_0 = 0x7a17caa950ad28d7ULL
staticconstexpr

Definition at line 72 of file fq.hpp.

◆ coset_generator_1

constexpr uint64_t bb::Bn254FqParams::coset_generator_1 = 0x1f6ac17ae15521b9ULL
staticconstexpr

Definition at line 73 of file fq.hpp.

◆ coset_generator_2

constexpr uint64_t bb::Bn254FqParams::coset_generator_2 = 0x334bea4e696bd284ULL
staticconstexpr

Definition at line 74 of file fq.hpp.

◆ coset_generator_3

constexpr uint64_t bb::Bn254FqParams::coset_generator_3 = 0x2a1f6744ce179d8eULL
staticconstexpr

Definition at line 75 of file fq.hpp.

◆ coset_generator_wasm_0

constexpr uint64_t bb::Bn254FqParams::coset_generator_wasm_0 = 0xeb8a8ec140766463ULL
staticconstexpr

Definition at line 124 of file fq.hpp.

◆ coset_generator_wasm_1

constexpr uint64_t bb::Bn254FqParams::coset_generator_wasm_1 = 0xf2b1f20626a3da49ULL
staticconstexpr

Definition at line 125 of file fq.hpp.

◆ coset_generator_wasm_2

constexpr uint64_t bb::Bn254FqParams::coset_generator_wasm_2 = 0xf905ef8d84d5fea4ULL
staticconstexpr

Definition at line 126 of file fq.hpp.

◆ coset_generator_wasm_3

constexpr uint64_t bb::Bn254FqParams::coset_generator_wasm_3 = 0x2958a27c02b7cd5fULL
staticconstexpr

Definition at line 127 of file fq.hpp.

◆ cube_root_0

constexpr uint64_t bb::Bn254FqParams::cube_root_0 = 0x71930c11d782e155UL
staticconstexpr

Definition at line 60 of file fq.hpp.

◆ cube_root_1

constexpr uint64_t bb::Bn254FqParams::cube_root_1 = 0xa6bb947cffbe3323UL
staticconstexpr

Definition at line 61 of file fq.hpp.

◆ cube_root_2

constexpr uint64_t bb::Bn254FqParams::cube_root_2 = 0xaa303344d4741444UL
staticconstexpr

Definition at line 62 of file fq.hpp.

◆ cube_root_3

constexpr uint64_t bb::Bn254FqParams::cube_root_3 = 0x2c3b3f0d26594943UL
staticconstexpr

Definition at line 63 of file fq.hpp.

◆ cube_root_wasm_0

constexpr uint64_t bb::Bn254FqParams::cube_root_wasm_0 = 0x62b1a3a46a337995UL
staticconstexpr

Definition at line 112 of file fq.hpp.

◆ cube_root_wasm_1

constexpr uint64_t bb::Bn254FqParams::cube_root_wasm_1 = 0xadc97d2722e2726eUL
staticconstexpr

Definition at line 113 of file fq.hpp.

◆ cube_root_wasm_2

constexpr uint64_t bb::Bn254FqParams::cube_root_wasm_2 = 0x64ee82ede2db85faUL
staticconstexpr

Definition at line 114 of file fq.hpp.

◆ cube_root_wasm_3

constexpr uint64_t bb::Bn254FqParams::cube_root_wasm_3 = 0x0c0afea1488a03bbUL
staticconstexpr

Definition at line 115 of file fq.hpp.

◆ endo_b2_lo

constexpr uint64_t bb::Bn254FqParams::endo_b2_lo = 0x89d3256894d213e2UL
staticconstexpr

Definition at line 138 of file fq.hpp.

◆ endo_b2_mid

constexpr uint64_t bb::Bn254FqParams::endo_b2_mid = 0UL
staticconstexpr

Definition at line 139 of file fq.hpp.

◆ endo_g1_hi

constexpr uint64_t bb::Bn254FqParams::endo_g1_hi = 0x0000000000000002UL
staticconstexpr

Definition at line 133 of file fq.hpp.

◆ endo_g1_lo

constexpr uint64_t bb::Bn254FqParams::endo_g1_lo = 0x7a7bd9d4391eb18d
staticconstexpr

Definition at line 131 of file fq.hpp.

◆ endo_g1_mid

constexpr uint64_t bb::Bn254FqParams::endo_g1_mid = 0x4ccef014a773d2cfUL
staticconstexpr

Definition at line 132 of file fq.hpp.

◆ endo_g2_lo

constexpr uint64_t bb::Bn254FqParams::endo_g2_lo = 0xd91d232ec7e0b3d2UL
staticconstexpr

Definition at line 134 of file fq.hpp.

◆ endo_g2_mid

constexpr uint64_t bb::Bn254FqParams::endo_g2_mid = 0x0000000000000002UL
staticconstexpr

Definition at line 135 of file fq.hpp.

◆ endo_minus_b1_lo

constexpr uint64_t bb::Bn254FqParams::endo_minus_b1_lo = 0x8211bbeb7d4f1129UL
staticconstexpr

Definition at line 136 of file fq.hpp.

◆ endo_minus_b1_mid

constexpr uint64_t bb::Bn254FqParams::endo_minus_b1_mid = 0x6f4d8248eeb859fcUL
staticconstexpr

Definition at line 137 of file fq.hpp.

◆ has_high_2adicity

constexpr bool bb::Bn254FqParams::has_high_2adicity = false
staticconstexpr

Definition at line 143 of file fq.hpp.

◆ MAX_BITS_PER_ENDOMORPHISM_SCALAR

constexpr size_t bb::Bn254FqParams::MAX_BITS_PER_ENDOMORPHISM_SCALAR = 128
staticconstexpr

Definition at line 147 of file fq.hpp.

◆ modulus_0

constexpr uint64_t bb::Bn254FqParams::modulus_0 = 0x3C208C16D87CFD47UL
staticconstexpr

Definition at line 31 of file fq.hpp.

◆ modulus_1

constexpr uint64_t bb::Bn254FqParams::modulus_1 = 0x97816a916871ca8dUL
staticconstexpr

Definition at line 32 of file fq.hpp.

◆ modulus_2

constexpr uint64_t bb::Bn254FqParams::modulus_2 = 0xb85045b68181585dUL
staticconstexpr

Definition at line 33 of file fq.hpp.

◆ modulus_3

constexpr uint64_t bb::Bn254FqParams::modulus_3 = 0x30644e72e131a029UL
staticconstexpr

Definition at line 34 of file fq.hpp.

◆ modulus_wasm_0

constexpr uint64_t bb::Bn254FqParams::modulus_wasm_0 = 0x187cfd47
staticconstexpr

Definition at line 79 of file fq.hpp.

◆ modulus_wasm_1

constexpr uint64_t bb::Bn254FqParams::modulus_wasm_1 = 0x10460b6
staticconstexpr

Definition at line 80 of file fq.hpp.

◆ modulus_wasm_2

constexpr uint64_t bb::Bn254FqParams::modulus_wasm_2 = 0x1c72a34f
staticconstexpr

Definition at line 81 of file fq.hpp.

◆ modulus_wasm_3

constexpr uint64_t bb::Bn254FqParams::modulus_wasm_3 = 0x2d522d0
staticconstexpr

Definition at line 82 of file fq.hpp.

◆ modulus_wasm_4

constexpr uint64_t bb::Bn254FqParams::modulus_wasm_4 = 0x1585d978
staticconstexpr

Definition at line 83 of file fq.hpp.

◆ modulus_wasm_5

constexpr uint64_t bb::Bn254FqParams::modulus_wasm_5 = 0x2db40c0
staticconstexpr

Definition at line 84 of file fq.hpp.

◆ modulus_wasm_6

constexpr uint64_t bb::Bn254FqParams::modulus_wasm_6 = 0xa6e141
staticconstexpr

Definition at line 85 of file fq.hpp.

◆ modulus_wasm_7

constexpr uint64_t bb::Bn254FqParams::modulus_wasm_7 = 0xe5c2634
staticconstexpr

Definition at line 86 of file fq.hpp.

◆ modulus_wasm_8

constexpr uint64_t bb::Bn254FqParams::modulus_wasm_8 = 0x30644e
staticconstexpr

Definition at line 87 of file fq.hpp.

◆ NUM_BN254_SCALARS

constexpr size_t bb::Bn254FqParams::NUM_BN254_SCALARS = 2
staticconstexpr

Definition at line 146 of file fq.hpp.

◆ primitive_root_0

constexpr uint64_t bb::Bn254FqParams::primitive_root_0 = 0UL
staticconstexpr

Definition at line 66 of file fq.hpp.

◆ primitive_root_1

constexpr uint64_t bb::Bn254FqParams::primitive_root_1 = 0UL
staticconstexpr

Definition at line 67 of file fq.hpp.

◆ primitive_root_2

constexpr uint64_t bb::Bn254FqParams::primitive_root_2 = 0UL
staticconstexpr

Definition at line 68 of file fq.hpp.

◆ primitive_root_3

constexpr uint64_t bb::Bn254FqParams::primitive_root_3 = 0UL
staticconstexpr

Definition at line 69 of file fq.hpp.

◆ primitive_root_wasm_0

constexpr uint64_t bb::Bn254FqParams::primitive_root_wasm_0 = 0x0000000000000000UL
staticconstexpr

Definition at line 118 of file fq.hpp.

◆ primitive_root_wasm_1

constexpr uint64_t bb::Bn254FqParams::primitive_root_wasm_1 = 0x0000000000000000UL
staticconstexpr

Definition at line 119 of file fq.hpp.

◆ primitive_root_wasm_2

constexpr uint64_t bb::Bn254FqParams::primitive_root_wasm_2 = 0x0000000000000000UL
staticconstexpr

Definition at line 120 of file fq.hpp.

◆ primitive_root_wasm_3

constexpr uint64_t bb::Bn254FqParams::primitive_root_wasm_3 = 0x0000000000000000UL
staticconstexpr

Definition at line 121 of file fq.hpp.

◆ PUBLIC_INPUTS_SIZE

constexpr size_t bb::Bn254FqParams::PUBLIC_INPUTS_SIZE = BIGFIELD_PUBLIC_INPUTS_SIZE
staticconstexpr

Definition at line 150 of file fq.hpp.

◆ r_inv

constexpr uint64_t bb::Bn254FqParams::r_inv = 0x87d20782e4866389UL
staticconstexpr

Definition at line 48 of file fq.hpp.

◆ r_inv_0

constexpr uint64_t bb::Bn254FqParams::r_inv_0 = 0x327d7c1b18f7bd41UL
staticconstexpr

Definition at line 54 of file fq.hpp.

◆ r_inv_1

constexpr uint64_t bb::Bn254FqParams::r_inv_1 = 0xdb8ed52f824ed32fUL
staticconstexpr

Definition at line 55 of file fq.hpp.

◆ r_inv_2

constexpr uint64_t bb::Bn254FqParams::r_inv_2 = 0x29b67b05eb29a6a1UL
staticconstexpr

Definition at line 56 of file fq.hpp.

◆ r_inv_3

constexpr uint64_t bb::Bn254FqParams::r_inv_3 = 0x19ac99126b459ddaUL
staticconstexpr

Definition at line 57 of file fq.hpp.

◆ r_inv_wasm_0

constexpr uint64_t bb::Bn254FqParams::r_inv_wasm_0 = 0x17789a9f
staticconstexpr

Definition at line 100 of file fq.hpp.

◆ r_inv_wasm_1

constexpr uint64_t bb::Bn254FqParams::r_inv_wasm_1 = 0x5ffc3dc
staticconstexpr

Definition at line 101 of file fq.hpp.

◆ r_inv_wasm_2

constexpr uint64_t bb::Bn254FqParams::r_inv_wasm_2 = 0xd6bde42
staticconstexpr

Definition at line 102 of file fq.hpp.

◆ r_inv_wasm_3

constexpr uint64_t bb::Bn254FqParams::r_inv_wasm_3 = 0x1cf152e3
staticconstexpr

Definition at line 103 of file fq.hpp.

◆ r_inv_wasm_4

constexpr uint64_t bb::Bn254FqParams::r_inv_wasm_4 = 0x18eb055f
staticconstexpr

Definition at line 104 of file fq.hpp.

◆ r_inv_wasm_5

constexpr uint64_t bb::Bn254FqParams::r_inv_wasm_5 = 0xed815e2
staticconstexpr

Definition at line 105 of file fq.hpp.

◆ r_inv_wasm_6

constexpr uint64_t bb::Bn254FqParams::r_inv_wasm_6 = 0x16626d2
staticconstexpr

Definition at line 106 of file fq.hpp.

◆ r_inv_wasm_7

constexpr uint64_t bb::Bn254FqParams::r_inv_wasm_7 = 0xb8bab0f
staticconstexpr

Definition at line 107 of file fq.hpp.

◆ r_inv_wasm_8

constexpr uint64_t bb::Bn254FqParams::r_inv_wasm_8 = 0x6d7c4
staticconstexpr

Definition at line 108 of file fq.hpp.

◆ r_squared_0

constexpr uint64_t bb::Bn254FqParams::r_squared_0 = 0xF32CFC5B538AFA89UL
staticconstexpr

Definition at line 38 of file fq.hpp.

◆ r_squared_1

constexpr uint64_t bb::Bn254FqParams::r_squared_1 = 0xB5E71911D44501FBUL
staticconstexpr

Definition at line 39 of file fq.hpp.

◆ r_squared_2

constexpr uint64_t bb::Bn254FqParams::r_squared_2 = 0x47AB1EFF0A417FF6UL
staticconstexpr

Definition at line 40 of file fq.hpp.

◆ r_squared_3

constexpr uint64_t bb::Bn254FqParams::r_squared_3 = 0x06D89F71CAB8351FUL
staticconstexpr

Definition at line 41 of file fq.hpp.

◆ r_squared_wasm_0

constexpr uint64_t bb::Bn254FqParams::r_squared_wasm_0 = 0xe1a2a074659bac10UL
staticconstexpr

Definition at line 91 of file fq.hpp.

◆ r_squared_wasm_1

constexpr uint64_t bb::Bn254FqParams::r_squared_wasm_1 = 0x639855865406005aUL
staticconstexpr

Definition at line 92 of file fq.hpp.

◆ r_squared_wasm_2

constexpr uint64_t bb::Bn254FqParams::r_squared_wasm_2 = 0xff54c5802d3e2632UL
staticconstexpr

Definition at line 93 of file fq.hpp.

◆ r_squared_wasm_3

constexpr uint64_t bb::Bn254FqParams::r_squared_wasm_3 = 0x2a11a68c34ea65a6UL
staticconstexpr

Definition at line 94 of file fq.hpp.

◆ schema_name

constexpr char bb::Bn254FqParams::schema_name[] = "fq"
staticconstexpr

Definition at line 142 of file fq.hpp.


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