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

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

#include <secp256r1.hpp>

Static Public Attributes

static constexpr const char * schema_name = "secp256r1_fr"
 
static constexpr uint64_t modulus_0 = 0xF3B9CAC2FC632551ULL
 
static constexpr uint64_t modulus_1 = 0xBCE6FAADA7179E84ULL
 
static constexpr uint64_t modulus_2 = 0xFFFFFFFFFFFFFFFFULL
 
static constexpr uint64_t modulus_3 = 0xFFFFFFFF00000000ULL
 
static constexpr uint64_t r_squared_0 = 9449762124159643298ULL
 
static constexpr uint64_t r_squared_1 = 5087230966250696614ULL
 
static constexpr uint64_t r_squared_2 = 2901921493521525849ULL
 
static constexpr uint64_t r_squared_3 = 7413256579398063648ULL
 
static constexpr uint64_t r_inv = 14758798090332847183ULL
 
static constexpr uint64_t r_inv_0 = 0x230102a06d6251dcUL
 
static constexpr uint64_t r_inv_1 = 0xca5113bcafc4ea28UL
 
static constexpr uint64_t r_inv_2 = 0xded10c5bee00bc4eUL
 
static constexpr uint64_t r_inv_3 = 0xccd1c8aa212ef3a4UL
 
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 = 0x55eb74ab1949fac9ULL
 
static constexpr uint64_t coset_generator_1 = 0xd5af25406e5aaa5dULL
 
static constexpr uint64_t coset_generator_2 = 0x1ULL
 
static constexpr uint64_t coset_generator_3 = 0x6fffffff9ULL
 
static constexpr uint64_t modulus_wasm_0 = 0x1c632551
 
static constexpr uint64_t modulus_wasm_1 = 0x1dce5617
 
static constexpr uint64_t modulus_wasm_2 = 0x5e7a13c
 
static constexpr uint64_t modulus_wasm_3 = 0xdf55b4e
 
static constexpr uint64_t modulus_wasm_4 = 0x1ffffbce
 
static constexpr uint64_t modulus_wasm_5 = 0x1fffffff
 
static constexpr uint64_t modulus_wasm_6 = 0x3ffff
 
static constexpr uint64_t modulus_wasm_7 = 0x1fe00000
 
static constexpr uint64_t modulus_wasm_8 = 0xffffff
 
static constexpr uint64_t r_squared_wasm_0 = 0x45e9cfeeb48d9ef5UL
 
static constexpr uint64_t r_squared_wasm_1 = 0x1f11fc5bb2d31a99UL
 
static constexpr uint64_t r_squared_wasm_2 = 0x16c8e4adafb16586UL
 
static constexpr uint64_t r_squared_wasm_3 = 0x84b6556a65587f06UL
 
static constexpr uint64_t r_inv_wasm_0 = 0x8517c79
 
static constexpr uint64_t r_inv_wasm_1 = 0x1edc694
 
static constexpr uint64_t r_inv_wasm_2 = 0x459ee5c
 
static constexpr uint64_t r_inv_wasm_3 = 0x705a6a8
 
static constexpr uint64_t r_inv_wasm_4 = 0x1ffffe2a
 
static constexpr uint64_t r_inv_wasm_5 = 0x113bffff
 
static constexpr uint64_t r_inv_wasm_6 = 0x1621c017
 
static constexpr uint64_t r_inv_wasm_7 = 0xef1ff43
 
static constexpr uint64_t r_inv_wasm_8 = 0x7005e2
 
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 = 0xbd6e9563293f5920ULL
 
static constexpr uint64_t coset_generator_wasm_1 = 0xb5e4a80dcb554baaULL
 
static constexpr uint64_t coset_generator_wasm_2 = 0x000000000000003aULL
 
static constexpr uint64_t coset_generator_wasm_3 = 0x000000dfffffff20ULL
 
static constexpr size_t PUBLIC_INPUTS_SIZE = BIGFIELD_PUBLIC_INPUTS_SIZE
 

Detailed Description

Parameters defining the scalar 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: 0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551

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

Definition at line 141 of file secp256r1.hpp.

Member Data Documentation

◆ coset_generator_0

constexpr uint64_t bb::secp256r1::FrParams::coset_generator_0 = 0x55eb74ab1949fac9ULL
staticconstexpr

Definition at line 185 of file secp256r1.hpp.

◆ coset_generator_1

constexpr uint64_t bb::secp256r1::FrParams::coset_generator_1 = 0xd5af25406e5aaa5dULL
staticconstexpr

Definition at line 186 of file secp256r1.hpp.

◆ coset_generator_2

constexpr uint64_t bb::secp256r1::FrParams::coset_generator_2 = 0x1ULL
staticconstexpr

Definition at line 187 of file secp256r1.hpp.

◆ coset_generator_3

constexpr uint64_t bb::secp256r1::FrParams::coset_generator_3 = 0x6fffffff9ULL
staticconstexpr

Definition at line 188 of file secp256r1.hpp.

◆ coset_generator_wasm_0

constexpr uint64_t bb::secp256r1::FrParams::coset_generator_wasm_0 = 0xbd6e9563293f5920ULL
staticconstexpr

Definition at line 237 of file secp256r1.hpp.

◆ coset_generator_wasm_1

constexpr uint64_t bb::secp256r1::FrParams::coset_generator_wasm_1 = 0xb5e4a80dcb554baaULL
staticconstexpr

Definition at line 238 of file secp256r1.hpp.

◆ coset_generator_wasm_2

constexpr uint64_t bb::secp256r1::FrParams::coset_generator_wasm_2 = 0x000000000000003aULL
staticconstexpr

Definition at line 239 of file secp256r1.hpp.

◆ coset_generator_wasm_3

constexpr uint64_t bb::secp256r1::FrParams::coset_generator_wasm_3 = 0x000000dfffffff20ULL
staticconstexpr

Definition at line 240 of file secp256r1.hpp.

◆ cube_root_0

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

Definition at line 172 of file secp256r1.hpp.

◆ cube_root_1

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

Definition at line 173 of file secp256r1.hpp.

◆ cube_root_2

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

Definition at line 174 of file secp256r1.hpp.

◆ cube_root_3

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

Definition at line 175 of file secp256r1.hpp.

◆ cube_root_wasm_0

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

Definition at line 224 of file secp256r1.hpp.

◆ cube_root_wasm_1

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

Definition at line 225 of file secp256r1.hpp.

◆ cube_root_wasm_2

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

Definition at line 226 of file secp256r1.hpp.

◆ cube_root_wasm_3

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

Definition at line 227 of file secp256r1.hpp.

◆ modulus_0

constexpr uint64_t bb::secp256r1::FrParams::modulus_0 = 0xF3B9CAC2FC632551ULL
staticconstexpr

Definition at line 145 of file secp256r1.hpp.

◆ modulus_1

constexpr uint64_t bb::secp256r1::FrParams::modulus_1 = 0xBCE6FAADA7179E84ULL
staticconstexpr

Definition at line 146 of file secp256r1.hpp.

◆ modulus_2

constexpr uint64_t bb::secp256r1::FrParams::modulus_2 = 0xFFFFFFFFFFFFFFFFULL
staticconstexpr

Definition at line 147 of file secp256r1.hpp.

◆ modulus_3

constexpr uint64_t bb::secp256r1::FrParams::modulus_3 = 0xFFFFFFFF00000000ULL
staticconstexpr

Definition at line 148 of file secp256r1.hpp.

◆ modulus_wasm_0

constexpr uint64_t bb::secp256r1::FrParams::modulus_wasm_0 = 0x1c632551
staticconstexpr

Definition at line 192 of file secp256r1.hpp.

◆ modulus_wasm_1

constexpr uint64_t bb::secp256r1::FrParams::modulus_wasm_1 = 0x1dce5617
staticconstexpr

Definition at line 193 of file secp256r1.hpp.

◆ modulus_wasm_2

constexpr uint64_t bb::secp256r1::FrParams::modulus_wasm_2 = 0x5e7a13c
staticconstexpr

Definition at line 194 of file secp256r1.hpp.

◆ modulus_wasm_3

constexpr uint64_t bb::secp256r1::FrParams::modulus_wasm_3 = 0xdf55b4e
staticconstexpr

Definition at line 195 of file secp256r1.hpp.

◆ modulus_wasm_4

constexpr uint64_t bb::secp256r1::FrParams::modulus_wasm_4 = 0x1ffffbce
staticconstexpr

Definition at line 196 of file secp256r1.hpp.

◆ modulus_wasm_5

constexpr uint64_t bb::secp256r1::FrParams::modulus_wasm_5 = 0x1fffffff
staticconstexpr

Definition at line 197 of file secp256r1.hpp.

◆ modulus_wasm_6

constexpr uint64_t bb::secp256r1::FrParams::modulus_wasm_6 = 0x3ffff
staticconstexpr

Definition at line 198 of file secp256r1.hpp.

◆ modulus_wasm_7

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

Definition at line 199 of file secp256r1.hpp.

◆ modulus_wasm_8

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

Definition at line 200 of file secp256r1.hpp.

◆ primitive_root_0

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

Definition at line 178 of file secp256r1.hpp.

◆ primitive_root_1

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

Definition at line 179 of file secp256r1.hpp.

◆ primitive_root_2

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

Definition at line 180 of file secp256r1.hpp.

◆ primitive_root_3

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

Definition at line 181 of file secp256r1.hpp.

◆ primitive_root_wasm_0

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

Definition at line 230 of file secp256r1.hpp.

◆ primitive_root_wasm_1

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

Definition at line 231 of file secp256r1.hpp.

◆ primitive_root_wasm_2

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

Definition at line 232 of file secp256r1.hpp.

◆ primitive_root_wasm_3

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

Definition at line 233 of file secp256r1.hpp.

◆ PUBLIC_INPUTS_SIZE

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

Definition at line 244 of file secp256r1.hpp.

◆ r_inv

constexpr uint64_t bb::secp256r1::FrParams::r_inv = 14758798090332847183ULL
staticconstexpr

Definition at line 160 of file secp256r1.hpp.

◆ r_inv_0

constexpr uint64_t bb::secp256r1::FrParams::r_inv_0 = 0x230102a06d6251dcUL
staticconstexpr

Definition at line 166 of file secp256r1.hpp.

◆ r_inv_1

constexpr uint64_t bb::secp256r1::FrParams::r_inv_1 = 0xca5113bcafc4ea28UL
staticconstexpr

Definition at line 167 of file secp256r1.hpp.

◆ r_inv_2

constexpr uint64_t bb::secp256r1::FrParams::r_inv_2 = 0xded10c5bee00bc4eUL
staticconstexpr

Definition at line 168 of file secp256r1.hpp.

◆ r_inv_3

constexpr uint64_t bb::secp256r1::FrParams::r_inv_3 = 0xccd1c8aa212ef3a4UL
staticconstexpr

Definition at line 169 of file secp256r1.hpp.

◆ r_inv_wasm_0

constexpr uint64_t bb::secp256r1::FrParams::r_inv_wasm_0 = 0x8517c79
staticconstexpr

Definition at line 213 of file secp256r1.hpp.

◆ r_inv_wasm_1

constexpr uint64_t bb::secp256r1::FrParams::r_inv_wasm_1 = 0x1edc694
staticconstexpr

Definition at line 214 of file secp256r1.hpp.

◆ r_inv_wasm_2

constexpr uint64_t bb::secp256r1::FrParams::r_inv_wasm_2 = 0x459ee5c
staticconstexpr

Definition at line 215 of file secp256r1.hpp.

◆ r_inv_wasm_3

constexpr uint64_t bb::secp256r1::FrParams::r_inv_wasm_3 = 0x705a6a8
staticconstexpr

Definition at line 216 of file secp256r1.hpp.

◆ r_inv_wasm_4

constexpr uint64_t bb::secp256r1::FrParams::r_inv_wasm_4 = 0x1ffffe2a
staticconstexpr

Definition at line 217 of file secp256r1.hpp.

◆ r_inv_wasm_5

constexpr uint64_t bb::secp256r1::FrParams::r_inv_wasm_5 = 0x113bffff
staticconstexpr

Definition at line 218 of file secp256r1.hpp.

◆ r_inv_wasm_6

constexpr uint64_t bb::secp256r1::FrParams::r_inv_wasm_6 = 0x1621c017
staticconstexpr

Definition at line 219 of file secp256r1.hpp.

◆ r_inv_wasm_7

constexpr uint64_t bb::secp256r1::FrParams::r_inv_wasm_7 = 0xef1ff43
staticconstexpr

Definition at line 220 of file secp256r1.hpp.

◆ r_inv_wasm_8

constexpr uint64_t bb::secp256r1::FrParams::r_inv_wasm_8 = 0x7005e2
staticconstexpr

Definition at line 221 of file secp256r1.hpp.

◆ r_squared_0

constexpr uint64_t bb::secp256r1::FrParams::r_squared_0 = 9449762124159643298ULL
staticconstexpr

Definition at line 151 of file secp256r1.hpp.

◆ r_squared_1

constexpr uint64_t bb::secp256r1::FrParams::r_squared_1 = 5087230966250696614ULL
staticconstexpr

Definition at line 152 of file secp256r1.hpp.

◆ r_squared_2

constexpr uint64_t bb::secp256r1::FrParams::r_squared_2 = 2901921493521525849ULL
staticconstexpr

Definition at line 153 of file secp256r1.hpp.

◆ r_squared_3

constexpr uint64_t bb::secp256r1::FrParams::r_squared_3 = 7413256579398063648ULL
staticconstexpr

Definition at line 154 of file secp256r1.hpp.

◆ r_squared_wasm_0

constexpr uint64_t bb::secp256r1::FrParams::r_squared_wasm_0 = 0x45e9cfeeb48d9ef5UL
staticconstexpr

Definition at line 204 of file secp256r1.hpp.

◆ r_squared_wasm_1

constexpr uint64_t bb::secp256r1::FrParams::r_squared_wasm_1 = 0x1f11fc5bb2d31a99UL
staticconstexpr

Definition at line 205 of file secp256r1.hpp.

◆ r_squared_wasm_2

constexpr uint64_t bb::secp256r1::FrParams::r_squared_wasm_2 = 0x16c8e4adafb16586UL
staticconstexpr

Definition at line 206 of file secp256r1.hpp.

◆ r_squared_wasm_3

constexpr uint64_t bb::secp256r1::FrParams::r_squared_wasm_3 = 0x84b6556a65587f06UL
staticconstexpr

Definition at line 207 of file secp256r1.hpp.

◆ schema_name

constexpr const char* bb::secp256r1::FrParams::schema_name = "secp256r1_fr"
staticconstexpr

Definition at line 142 of file secp256r1.hpp.


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