Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::secp256r1::FqParams Struct Reference

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

#include <secp256r1.hpp>

Static Public Attributes

static constexpr const char * schema_name = "secp256r1_fq"
 
static constexpr uint64_t modulus_0 = 0xFFFFFFFFFFFFFFFFULL
 
static constexpr uint64_t modulus_1 = 0x00000000FFFFFFFFULL
 
static constexpr uint64_t modulus_2 = 0x0000000000000000ULL
 
static constexpr uint64_t modulus_3 = 0xFFFFFFFF00000001ULL
 
static constexpr uint64_t r_squared_0 = 3ULL
 
static constexpr uint64_t r_squared_1 = 18446744056529682431ULL
 
static constexpr uint64_t r_squared_2 = 18446744073709551614ULL
 
static constexpr uint64_t r_squared_3 = 21474836477ULL
 
static constexpr uint64_t r_inv = 1
 
static constexpr uint64_t r_inv_0 = 0x100000000UL
 
static constexpr uint64_t r_inv_1 = 0x0UL
 
static constexpr uint64_t r_inv_2 = 0xffffffff00000001UL
 
static constexpr uint64_t r_inv_3 = 0x0UL
 
static constexpr uint64_t cube_root_0 = 0UL
 
static constexpr uint64_t cube_root_1 = 0UL
 
static constexpr uint64_t cube_root_2 = 0UL
 
static constexpr uint64_t cube_root_3 = 0UL
 
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 = 0x3ULL
 
static constexpr uint64_t coset_generator_1 = 0xfffffffd00000000ULL
 
static constexpr uint64_t coset_generator_2 = 0xffffffffffffffffULL
 
static constexpr uint64_t coset_generator_3 = 0x2fffffffcULL
 
static constexpr uint64_t modulus_wasm_0 = 0x1fffffff
 
static constexpr uint64_t modulus_wasm_1 = 0x1fffffff
 
static constexpr uint64_t modulus_wasm_2 = 0x1fffffff
 
static constexpr uint64_t modulus_wasm_3 = 0x1ff
 
static constexpr uint64_t modulus_wasm_4 = 0x0
 
static constexpr uint64_t modulus_wasm_5 = 0x0
 
static constexpr uint64_t modulus_wasm_6 = 0x40000
 
static constexpr uint64_t modulus_wasm_7 = 0x1fe00000
 
static constexpr uint64_t modulus_wasm_8 = 0xffffff
 
static constexpr uint64_t r_squared_wasm_0 = 0x0000000000000c00UL
 
static constexpr uint64_t r_squared_wasm_1 = 0xffffeffffffffc00UL
 
static constexpr uint64_t r_squared_wasm_2 = 0xfffffffffffffbffUL
 
static constexpr uint64_t r_squared_wasm_3 = 0x000013fffffff7ffUL
 
static constexpr uint64_t r_inv_wasm_0 = 0x0
 
static constexpr uint64_t r_inv_wasm_1 = 0x0
 
static constexpr uint64_t r_inv_wasm_2 = 0x200
 
static constexpr uint64_t r_inv_wasm_3 = 0x0
 
static constexpr uint64_t r_inv_wasm_4 = 0x0
 
static constexpr uint64_t r_inv_wasm_5 = 0x40000
 
static constexpr uint64_t r_inv_wasm_6 = 0x1fe00000
 
static constexpr uint64_t r_inv_wasm_7 = 0xffffff
 
static constexpr uint64_t r_inv_wasm_8 = 0x0
 
static constexpr uint64_t cube_root_wasm_0 = 0x0000000000000000UL
 
static constexpr uint64_t cube_root_wasm_1 = 0x0000000000000000UL
 
static constexpr uint64_t cube_root_wasm_2 = 0x0000000000000000UL
 
static constexpr uint64_t cube_root_wasm_3 = 0x0000000000000000UL
 
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 = 0x0000000000000060ULL
 
static constexpr uint64_t coset_generator_wasm_1 = 0xffffffa000000000ULL
 
static constexpr uint64_t coset_generator_wasm_2 = 0xffffffffffffffffULL
 
static constexpr uint64_t coset_generator_wasm_3 = 0x0000005fffffff9fULL
 
static constexpr size_t PUBLIC_INPUTS_SIZE = BIGFIELD_PUBLIC_INPUTS_SIZE
 

Detailed Description

Parameters defining the base field of the secp256r1 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: 0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff

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

Definition at line 24 of file secp256r1.hpp.

Member Data Documentation

◆ coset_generator_0

constexpr uint64_t bb::secp256r1::FqParams::coset_generator_0 = 0x3ULL
staticconstexpr

Definition at line 69 of file secp256r1.hpp.

◆ coset_generator_1

constexpr uint64_t bb::secp256r1::FqParams::coset_generator_1 = 0xfffffffd00000000ULL
staticconstexpr

Definition at line 70 of file secp256r1.hpp.

◆ coset_generator_2

constexpr uint64_t bb::secp256r1::FqParams::coset_generator_2 = 0xffffffffffffffffULL
staticconstexpr

Definition at line 71 of file secp256r1.hpp.

◆ coset_generator_3

constexpr uint64_t bb::secp256r1::FqParams::coset_generator_3 = 0x2fffffffcULL
staticconstexpr

Definition at line 72 of file secp256r1.hpp.

◆ coset_generator_wasm_0

constexpr uint64_t bb::secp256r1::FqParams::coset_generator_wasm_0 = 0x0000000000000060ULL
staticconstexpr

Definition at line 121 of file secp256r1.hpp.

◆ coset_generator_wasm_1

constexpr uint64_t bb::secp256r1::FqParams::coset_generator_wasm_1 = 0xffffffa000000000ULL
staticconstexpr

Definition at line 122 of file secp256r1.hpp.

◆ coset_generator_wasm_2

constexpr uint64_t bb::secp256r1::FqParams::coset_generator_wasm_2 = 0xffffffffffffffffULL
staticconstexpr

Definition at line 123 of file secp256r1.hpp.

◆ coset_generator_wasm_3

constexpr uint64_t bb::secp256r1::FqParams::coset_generator_wasm_3 = 0x0000005fffffff9fULL
staticconstexpr

Definition at line 124 of file secp256r1.hpp.

◆ cube_root_0

constexpr uint64_t bb::secp256r1::FqParams::cube_root_0 = 0UL
staticconstexpr

Definition at line 56 of file secp256r1.hpp.

◆ cube_root_1

constexpr uint64_t bb::secp256r1::FqParams::cube_root_1 = 0UL
staticconstexpr

Definition at line 57 of file secp256r1.hpp.

◆ cube_root_2

constexpr uint64_t bb::secp256r1::FqParams::cube_root_2 = 0UL
staticconstexpr

Definition at line 58 of file secp256r1.hpp.

◆ cube_root_3

constexpr uint64_t bb::secp256r1::FqParams::cube_root_3 = 0UL
staticconstexpr

Definition at line 59 of file secp256r1.hpp.

◆ cube_root_wasm_0

constexpr uint64_t bb::secp256r1::FqParams::cube_root_wasm_0 = 0x0000000000000000UL
staticconstexpr

Definition at line 108 of file secp256r1.hpp.

◆ cube_root_wasm_1

constexpr uint64_t bb::secp256r1::FqParams::cube_root_wasm_1 = 0x0000000000000000UL
staticconstexpr

Definition at line 109 of file secp256r1.hpp.

◆ cube_root_wasm_2

constexpr uint64_t bb::secp256r1::FqParams::cube_root_wasm_2 = 0x0000000000000000UL
staticconstexpr

Definition at line 110 of file secp256r1.hpp.

◆ cube_root_wasm_3

constexpr uint64_t bb::secp256r1::FqParams::cube_root_wasm_3 = 0x0000000000000000UL
staticconstexpr

Definition at line 111 of file secp256r1.hpp.

◆ modulus_0

constexpr uint64_t bb::secp256r1::FqParams::modulus_0 = 0xFFFFFFFFFFFFFFFFULL
staticconstexpr

Definition at line 28 of file secp256r1.hpp.

◆ modulus_1

constexpr uint64_t bb::secp256r1::FqParams::modulus_1 = 0x00000000FFFFFFFFULL
staticconstexpr

Definition at line 29 of file secp256r1.hpp.

◆ modulus_2

constexpr uint64_t bb::secp256r1::FqParams::modulus_2 = 0x0000000000000000ULL
staticconstexpr

Definition at line 30 of file secp256r1.hpp.

◆ modulus_3

constexpr uint64_t bb::secp256r1::FqParams::modulus_3 = 0xFFFFFFFF00000001ULL
staticconstexpr

Definition at line 31 of file secp256r1.hpp.

◆ modulus_wasm_0

constexpr uint64_t bb::secp256r1::FqParams::modulus_wasm_0 = 0x1fffffff
staticconstexpr

Definition at line 76 of file secp256r1.hpp.

◆ modulus_wasm_1

constexpr uint64_t bb::secp256r1::FqParams::modulus_wasm_1 = 0x1fffffff
staticconstexpr

Definition at line 77 of file secp256r1.hpp.

◆ modulus_wasm_2

constexpr uint64_t bb::secp256r1::FqParams::modulus_wasm_2 = 0x1fffffff
staticconstexpr

Definition at line 78 of file secp256r1.hpp.

◆ modulus_wasm_3

constexpr uint64_t bb::secp256r1::FqParams::modulus_wasm_3 = 0x1ff
staticconstexpr

Definition at line 79 of file secp256r1.hpp.

◆ modulus_wasm_4

constexpr uint64_t bb::secp256r1::FqParams::modulus_wasm_4 = 0x0
staticconstexpr

Definition at line 80 of file secp256r1.hpp.

◆ modulus_wasm_5

constexpr uint64_t bb::secp256r1::FqParams::modulus_wasm_5 = 0x0
staticconstexpr

Definition at line 81 of file secp256r1.hpp.

◆ modulus_wasm_6

constexpr uint64_t bb::secp256r1::FqParams::modulus_wasm_6 = 0x40000
staticconstexpr

Definition at line 82 of file secp256r1.hpp.

◆ modulus_wasm_7

constexpr uint64_t bb::secp256r1::FqParams::modulus_wasm_7 = 0x1fe00000
staticconstexpr

Definition at line 83 of file secp256r1.hpp.

◆ modulus_wasm_8

constexpr uint64_t bb::secp256r1::FqParams::modulus_wasm_8 = 0xffffff
staticconstexpr

Definition at line 84 of file secp256r1.hpp.

◆ primitive_root_0

constexpr uint64_t bb::secp256r1::FqParams::primitive_root_0 = 0UL
staticconstexpr

Definition at line 62 of file secp256r1.hpp.

◆ primitive_root_1

constexpr uint64_t bb::secp256r1::FqParams::primitive_root_1 = 0UL
staticconstexpr

Definition at line 63 of file secp256r1.hpp.

◆ primitive_root_2

constexpr uint64_t bb::secp256r1::FqParams::primitive_root_2 = 0UL
staticconstexpr

Definition at line 64 of file secp256r1.hpp.

◆ primitive_root_3

constexpr uint64_t bb::secp256r1::FqParams::primitive_root_3 = 0UL
staticconstexpr

Definition at line 65 of file secp256r1.hpp.

◆ primitive_root_wasm_0

constexpr uint64_t bb::secp256r1::FqParams::primitive_root_wasm_0 = 0x0000000000000000UL
staticconstexpr

Definition at line 114 of file secp256r1.hpp.

◆ primitive_root_wasm_1

constexpr uint64_t bb::secp256r1::FqParams::primitive_root_wasm_1 = 0x0000000000000000UL
staticconstexpr

Definition at line 115 of file secp256r1.hpp.

◆ primitive_root_wasm_2

constexpr uint64_t bb::secp256r1::FqParams::primitive_root_wasm_2 = 0x0000000000000000UL
staticconstexpr

Definition at line 116 of file secp256r1.hpp.

◆ primitive_root_wasm_3

constexpr uint64_t bb::secp256r1::FqParams::primitive_root_wasm_3 = 0x0000000000000000UL
staticconstexpr

Definition at line 117 of file secp256r1.hpp.

◆ PUBLIC_INPUTS_SIZE

constexpr size_t bb::secp256r1::FqParams::PUBLIC_INPUTS_SIZE = BIGFIELD_PUBLIC_INPUTS_SIZE
staticconstexpr

Definition at line 128 of file secp256r1.hpp.

◆ r_inv

constexpr uint64_t bb::secp256r1::FqParams::r_inv = 1
staticconstexpr

Definition at line 44 of file secp256r1.hpp.

◆ r_inv_0

constexpr uint64_t bb::secp256r1::FqParams::r_inv_0 = 0x100000000UL
staticconstexpr

Definition at line 50 of file secp256r1.hpp.

◆ r_inv_1

constexpr uint64_t bb::secp256r1::FqParams::r_inv_1 = 0x0UL
staticconstexpr

Definition at line 51 of file secp256r1.hpp.

◆ r_inv_2

constexpr uint64_t bb::secp256r1::FqParams::r_inv_2 = 0xffffffff00000001UL
staticconstexpr

Definition at line 52 of file secp256r1.hpp.

◆ r_inv_3

constexpr uint64_t bb::secp256r1::FqParams::r_inv_3 = 0x0UL
staticconstexpr

Definition at line 53 of file secp256r1.hpp.

◆ r_inv_wasm_0

constexpr uint64_t bb::secp256r1::FqParams::r_inv_wasm_0 = 0x0
staticconstexpr

Definition at line 97 of file secp256r1.hpp.

◆ r_inv_wasm_1

constexpr uint64_t bb::secp256r1::FqParams::r_inv_wasm_1 = 0x0
staticconstexpr

Definition at line 98 of file secp256r1.hpp.

◆ r_inv_wasm_2

constexpr uint64_t bb::secp256r1::FqParams::r_inv_wasm_2 = 0x200
staticconstexpr

Definition at line 99 of file secp256r1.hpp.

◆ r_inv_wasm_3

constexpr uint64_t bb::secp256r1::FqParams::r_inv_wasm_3 = 0x0
staticconstexpr

Definition at line 100 of file secp256r1.hpp.

◆ r_inv_wasm_4

constexpr uint64_t bb::secp256r1::FqParams::r_inv_wasm_4 = 0x0
staticconstexpr

Definition at line 101 of file secp256r1.hpp.

◆ r_inv_wasm_5

constexpr uint64_t bb::secp256r1::FqParams::r_inv_wasm_5 = 0x40000
staticconstexpr

Definition at line 102 of file secp256r1.hpp.

◆ r_inv_wasm_6

constexpr uint64_t bb::secp256r1::FqParams::r_inv_wasm_6 = 0x1fe00000
staticconstexpr

Definition at line 103 of file secp256r1.hpp.

◆ r_inv_wasm_7

constexpr uint64_t bb::secp256r1::FqParams::r_inv_wasm_7 = 0xffffff
staticconstexpr

Definition at line 104 of file secp256r1.hpp.

◆ r_inv_wasm_8

constexpr uint64_t bb::secp256r1::FqParams::r_inv_wasm_8 = 0x0
staticconstexpr

Definition at line 105 of file secp256r1.hpp.

◆ r_squared_0

constexpr uint64_t bb::secp256r1::FqParams::r_squared_0 = 3ULL
staticconstexpr

Definition at line 34 of file secp256r1.hpp.

◆ r_squared_1

constexpr uint64_t bb::secp256r1::FqParams::r_squared_1 = 18446744056529682431ULL
staticconstexpr

Definition at line 35 of file secp256r1.hpp.

◆ r_squared_2

constexpr uint64_t bb::secp256r1::FqParams::r_squared_2 = 18446744073709551614ULL
staticconstexpr

Definition at line 36 of file secp256r1.hpp.

◆ r_squared_3

constexpr uint64_t bb::secp256r1::FqParams::r_squared_3 = 21474836477ULL
staticconstexpr

Definition at line 37 of file secp256r1.hpp.

◆ r_squared_wasm_0

constexpr uint64_t bb::secp256r1::FqParams::r_squared_wasm_0 = 0x0000000000000c00UL
staticconstexpr

Definition at line 88 of file secp256r1.hpp.

◆ r_squared_wasm_1

constexpr uint64_t bb::secp256r1::FqParams::r_squared_wasm_1 = 0xffffeffffffffc00UL
staticconstexpr

Definition at line 89 of file secp256r1.hpp.

◆ r_squared_wasm_2

constexpr uint64_t bb::secp256r1::FqParams::r_squared_wasm_2 = 0xfffffffffffffbffUL
staticconstexpr

Definition at line 90 of file secp256r1.hpp.

◆ r_squared_wasm_3

constexpr uint64_t bb::secp256r1::FqParams::r_squared_wasm_3 = 0x000013fffffff7ffUL
staticconstexpr

Definition at line 91 of file secp256r1.hpp.

◆ schema_name

constexpr const char* bb::secp256r1::FqParams::schema_name = "secp256r1_fq"
staticconstexpr

Definition at line 25 of file secp256r1.hpp.


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