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

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

#include <secp256k1.hpp>

Static Public Attributes

static constexpr uint64_t modulus_0 = 0xBFD25E8CD0364141ULL
 
static constexpr uint64_t modulus_1 = 0xBAAEDCE6AF48A03BULL
 
static constexpr uint64_t modulus_2 = 0xFFFFFFFFFFFFFFFEULL
 
static constexpr uint64_t modulus_3 = 0xFFFFFFFFFFFFFFFFULL
 
static constexpr uint64_t r_squared_0 = 9902555850136342848ULL
 
static constexpr uint64_t r_squared_1 = 8364476168144746616ULL
 
static constexpr uint64_t r_squared_2 = 16616019711348246470ULL
 
static constexpr uint64_t r_squared_3 = 11342065889886772165ULL
 
static constexpr uint64_t r_inv = 5408259542528602431ULL
 
static constexpr uint64_t r_inv_0 = 0x9d4ad302583de6dcUL
 
static constexpr uint64_t r_inv_1 = 0xa09f710af0155525UL
 
static constexpr uint64_t r_inv_2 = 0xffffffffffffffffUL
 
static constexpr uint64_t r_inv_3 = 0x4b0dff665588b13eUL
 
static constexpr uint64_t cube_root_0 = 0xf07deb3dc9926c9eULL
 
static constexpr uint64_t cube_root_1 = 0x2c93e7ad83c6944cULL
 
static constexpr uint64_t cube_root_2 = 0x73a9660652697d91ULL
 
static constexpr uint64_t cube_root_3 = 0x532840178558d639ULL
 
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 = 0x40e4273feef0b9bbULL
 
static constexpr uint64_t coset_generator_1 = 0x5a95af7e9394ded5ULL
 
static constexpr uint64_t coset_generator_2 = 0x6ULL
 
static constexpr uint64_t coset_generator_3 = 0x0ULL
 
static constexpr uint64_t modulus_wasm_0 = 0x10364141
 
static constexpr uint64_t modulus_wasm_1 = 0x1e92f466
 
static constexpr uint64_t modulus_wasm_2 = 0x12280eef
 
static constexpr uint64_t modulus_wasm_3 = 0x1db9cd5e
 
static constexpr uint64_t modulus_wasm_4 = 0x1fffebaa
 
static constexpr uint64_t modulus_wasm_5 = 0x1fffffff
 
static constexpr uint64_t modulus_wasm_6 = 0x1fffffff
 
static constexpr uint64_t modulus_wasm_7 = 0x1fffffff
 
static constexpr uint64_t modulus_wasm_8 = 0xffffff
 
static constexpr uint64_t r_squared_wasm_0 = 0x63e601a3c9f6ab4bUL
 
static constexpr uint64_t r_squared_wasm_1 = 0xa2b6456d46702f57UL
 
static constexpr uint64_t r_squared_wasm_2 = 0x5fd7916f341f1cefUL
 
static constexpr uint64_t r_squared_wasm_3 = 0x9c7356071a6f179aUL
 
static constexpr uint64_t r_inv_wasm_0 = 0x3d864e
 
static constexpr uint64_t r_inv_wasm_1 = 0x8b9f61c
 
static constexpr uint64_t r_inv_wasm_2 = 0x3df60c0
 
static constexpr uint64_t r_inv_wasm_3 = 0xa3c71eb
 
static constexpr uint64_t r_inv_wasm_4 = 0x1ffff251
 
static constexpr uint64_t r_inv_wasm_5 = 0x1fffffff
 
static constexpr uint64_t r_inv_wasm_6 = 0x1fffffff
 
static constexpr uint64_t r_inv_wasm_7 = 0x1effffff
 
static constexpr uint64_t r_inv_wasm_8 = 0xac4589
 
static constexpr uint64_t cube_root_wasm_0 = 0x9185b639102f0736UL
 
static constexpr uint64_t cube_root_wasm_1 = 0x47a854ad9ffc4748UL
 
static constexpr uint64_t cube_root_wasm_2 = 0x752cc0ca4d2fb232UL
 
static constexpr uint64_t cube_root_wasm_3 = 0x650802f0ab1ac72eUL
 
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 endo_minus_b1_lo = 0x6F547FA90ABFE4C3ULL
 
static constexpr uint64_t endo_minus_b1_mid = 0xE4437ED6010E8828ULL
 
static constexpr uint64_t endo_b2_lo = 0xe86c90e49284eb15ULL
 
static constexpr uint64_t endo_b2_mid = 0x3086d221a7d46bcdULL
 
static constexpr uint64_t endo_g1_lo = 0x6F547FA90ABFE4C4ULL
 
static constexpr uint64_t endo_g1_mid = 0xE4437ED6010E8828ULL
 
static constexpr uint64_t endo_g1_hi = 0x0ULL
 
static constexpr uint64_t endo_g2_lo = 0xE86C90E49284EB15ULL
 
static constexpr uint64_t endo_g2_mid = 0x3086D221A7D46BCDULL
 
static constexpr uint64_t coset_generator_wasm_0 = 0x1c84e7fdde173760ULL
 
static constexpr uint64_t coset_generator_wasm_1 = 0x52b5efd2729bdaa8ULL
 
static constexpr uint64_t coset_generator_wasm_2 = 0x00000000000000cbULL
 
static constexpr uint64_t coset_generator_wasm_3 = 0x0000000000000000ULL
 
static constexpr size_t PUBLIC_INPUTS_SIZE = BIGFIELD_PUBLIC_INPUTS_SIZE
 
static constexpr char schema_name [] = "secp256k1_fr"
 

Detailed Description

Parameters defining the scalar field of the secp256k1 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: 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141

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

Definition at line 146 of file secp256k1.hpp.

Member Data Documentation

◆ coset_generator_0

constexpr uint64_t bb::secp256k1::FrParams::coset_generator_0 = 0x40e4273feef0b9bbULL
staticconstexpr

Definition at line 189 of file secp256k1.hpp.

◆ coset_generator_1

constexpr uint64_t bb::secp256k1::FrParams::coset_generator_1 = 0x5a95af7e9394ded5ULL
staticconstexpr

Definition at line 190 of file secp256k1.hpp.

◆ coset_generator_2

constexpr uint64_t bb::secp256k1::FrParams::coset_generator_2 = 0x6ULL
staticconstexpr

Definition at line 191 of file secp256k1.hpp.

◆ coset_generator_3

constexpr uint64_t bb::secp256k1::FrParams::coset_generator_3 = 0x0ULL
staticconstexpr

Definition at line 192 of file secp256k1.hpp.

◆ coset_generator_wasm_0

constexpr uint64_t bb::secp256k1::FrParams::coset_generator_wasm_0 = 0x1c84e7fdde173760ULL
staticconstexpr

Definition at line 258 of file secp256k1.hpp.

◆ coset_generator_wasm_1

constexpr uint64_t bb::secp256k1::FrParams::coset_generator_wasm_1 = 0x52b5efd2729bdaa8ULL
staticconstexpr

Definition at line 259 of file secp256k1.hpp.

◆ coset_generator_wasm_2

constexpr uint64_t bb::secp256k1::FrParams::coset_generator_wasm_2 = 0x00000000000000cbULL
staticconstexpr

Definition at line 260 of file secp256k1.hpp.

◆ coset_generator_wasm_3

constexpr uint64_t bb::secp256k1::FrParams::coset_generator_wasm_3 = 0x0000000000000000ULL
staticconstexpr

Definition at line 261 of file secp256k1.hpp.

◆ cube_root_0

constexpr uint64_t bb::secp256k1::FrParams::cube_root_0 = 0xf07deb3dc9926c9eULL
staticconstexpr

Definition at line 176 of file secp256k1.hpp.

◆ cube_root_1

constexpr uint64_t bb::secp256k1::FrParams::cube_root_1 = 0x2c93e7ad83c6944cULL
staticconstexpr

Definition at line 177 of file secp256k1.hpp.

◆ cube_root_2

constexpr uint64_t bb::secp256k1::FrParams::cube_root_2 = 0x73a9660652697d91ULL
staticconstexpr

Definition at line 178 of file secp256k1.hpp.

◆ cube_root_3

constexpr uint64_t bb::secp256k1::FrParams::cube_root_3 = 0x532840178558d639ULL
staticconstexpr

Definition at line 179 of file secp256k1.hpp.

◆ cube_root_wasm_0

constexpr uint64_t bb::secp256k1::FrParams::cube_root_wasm_0 = 0x9185b639102f0736UL
staticconstexpr

Definition at line 229 of file secp256k1.hpp.

◆ cube_root_wasm_1

constexpr uint64_t bb::secp256k1::FrParams::cube_root_wasm_1 = 0x47a854ad9ffc4748UL
staticconstexpr

Definition at line 230 of file secp256k1.hpp.

◆ cube_root_wasm_2

constexpr uint64_t bb::secp256k1::FrParams::cube_root_wasm_2 = 0x752cc0ca4d2fb232UL
staticconstexpr

Definition at line 231 of file secp256k1.hpp.

◆ cube_root_wasm_3

constexpr uint64_t bb::secp256k1::FrParams::cube_root_wasm_3 = 0x650802f0ab1ac72eUL
staticconstexpr

Definition at line 232 of file secp256k1.hpp.

◆ endo_b2_lo

constexpr uint64_t bb::secp256k1::FrParams::endo_b2_lo = 0xe86c90e49284eb15ULL
staticconstexpr

Definition at line 244 of file secp256k1.hpp.

◆ endo_b2_mid

constexpr uint64_t bb::secp256k1::FrParams::endo_b2_mid = 0x3086d221a7d46bcdULL
staticconstexpr

Definition at line 245 of file secp256k1.hpp.

◆ endo_g1_hi

constexpr uint64_t bb::secp256k1::FrParams::endo_g1_hi = 0x0ULL
staticconstexpr

Definition at line 251 of file secp256k1.hpp.

◆ endo_g1_lo

constexpr uint64_t bb::secp256k1::FrParams::endo_g1_lo = 0x6F547FA90ABFE4C4ULL
staticconstexpr

Definition at line 249 of file secp256k1.hpp.

◆ endo_g1_mid

constexpr uint64_t bb::secp256k1::FrParams::endo_g1_mid = 0xE4437ED6010E8828ULL
staticconstexpr

Definition at line 250 of file secp256k1.hpp.

◆ endo_g2_lo

constexpr uint64_t bb::secp256k1::FrParams::endo_g2_lo = 0xE86C90E49284EB15ULL
staticconstexpr

Definition at line 253 of file secp256k1.hpp.

◆ endo_g2_mid

constexpr uint64_t bb::secp256k1::FrParams::endo_g2_mid = 0x3086D221A7D46BCDULL
staticconstexpr

Definition at line 254 of file secp256k1.hpp.

◆ endo_minus_b1_lo

constexpr uint64_t bb::secp256k1::FrParams::endo_minus_b1_lo = 0x6F547FA90ABFE4C3ULL
staticconstexpr

Definition at line 241 of file secp256k1.hpp.

◆ endo_minus_b1_mid

constexpr uint64_t bb::secp256k1::FrParams::endo_minus_b1_mid = 0xE4437ED6010E8828ULL
staticconstexpr

Definition at line 242 of file secp256k1.hpp.

◆ modulus_0

constexpr uint64_t bb::secp256k1::FrParams::modulus_0 = 0xBFD25E8CD0364141ULL
staticconstexpr

Definition at line 149 of file secp256k1.hpp.

◆ modulus_1

constexpr uint64_t bb::secp256k1::FrParams::modulus_1 = 0xBAAEDCE6AF48A03BULL
staticconstexpr

Definition at line 150 of file secp256k1.hpp.

◆ modulus_2

constexpr uint64_t bb::secp256k1::FrParams::modulus_2 = 0xFFFFFFFFFFFFFFFEULL
staticconstexpr

Definition at line 151 of file secp256k1.hpp.

◆ modulus_3

constexpr uint64_t bb::secp256k1::FrParams::modulus_3 = 0xFFFFFFFFFFFFFFFFULL
staticconstexpr

Definition at line 152 of file secp256k1.hpp.

◆ modulus_wasm_0

constexpr uint64_t bb::secp256k1::FrParams::modulus_wasm_0 = 0x10364141
staticconstexpr

Definition at line 196 of file secp256k1.hpp.

◆ modulus_wasm_1

constexpr uint64_t bb::secp256k1::FrParams::modulus_wasm_1 = 0x1e92f466
staticconstexpr

Definition at line 197 of file secp256k1.hpp.

◆ modulus_wasm_2

constexpr uint64_t bb::secp256k1::FrParams::modulus_wasm_2 = 0x12280eef
staticconstexpr

Definition at line 198 of file secp256k1.hpp.

◆ modulus_wasm_3

constexpr uint64_t bb::secp256k1::FrParams::modulus_wasm_3 = 0x1db9cd5e
staticconstexpr

Definition at line 199 of file secp256k1.hpp.

◆ modulus_wasm_4

constexpr uint64_t bb::secp256k1::FrParams::modulus_wasm_4 = 0x1fffebaa
staticconstexpr

Definition at line 200 of file secp256k1.hpp.

◆ modulus_wasm_5

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

Definition at line 201 of file secp256k1.hpp.

◆ modulus_wasm_6

constexpr uint64_t bb::secp256k1::FrParams::modulus_wasm_6 = 0x1fffffff
staticconstexpr

Definition at line 202 of file secp256k1.hpp.

◆ modulus_wasm_7

constexpr uint64_t bb::secp256k1::FrParams::modulus_wasm_7 = 0x1fffffff
staticconstexpr

Definition at line 203 of file secp256k1.hpp.

◆ modulus_wasm_8

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

Definition at line 204 of file secp256k1.hpp.

◆ primitive_root_0

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

Definition at line 182 of file secp256k1.hpp.

◆ primitive_root_1

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

Definition at line 183 of file secp256k1.hpp.

◆ primitive_root_2

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

Definition at line 184 of file secp256k1.hpp.

◆ primitive_root_3

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

Definition at line 185 of file secp256k1.hpp.

◆ primitive_root_wasm_0

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

Definition at line 235 of file secp256k1.hpp.

◆ primitive_root_wasm_1

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

Definition at line 236 of file secp256k1.hpp.

◆ primitive_root_wasm_2

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

Definition at line 237 of file secp256k1.hpp.

◆ primitive_root_wasm_3

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

Definition at line 238 of file secp256k1.hpp.

◆ PUBLIC_INPUTS_SIZE

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

Definition at line 265 of file secp256k1.hpp.

◆ r_inv

constexpr uint64_t bb::secp256k1::FrParams::r_inv = 5408259542528602431ULL
staticconstexpr

Definition at line 164 of file secp256k1.hpp.

◆ r_inv_0

constexpr uint64_t bb::secp256k1::FrParams::r_inv_0 = 0x9d4ad302583de6dcUL
staticconstexpr

Definition at line 170 of file secp256k1.hpp.

◆ r_inv_1

constexpr uint64_t bb::secp256k1::FrParams::r_inv_1 = 0xa09f710af0155525UL
staticconstexpr

Definition at line 171 of file secp256k1.hpp.

◆ r_inv_2

constexpr uint64_t bb::secp256k1::FrParams::r_inv_2 = 0xffffffffffffffffUL
staticconstexpr

Definition at line 172 of file secp256k1.hpp.

◆ r_inv_3

constexpr uint64_t bb::secp256k1::FrParams::r_inv_3 = 0x4b0dff665588b13eUL
staticconstexpr

Definition at line 173 of file secp256k1.hpp.

◆ r_inv_wasm_0

constexpr uint64_t bb::secp256k1::FrParams::r_inv_wasm_0 = 0x3d864e
staticconstexpr

Definition at line 217 of file secp256k1.hpp.

◆ r_inv_wasm_1

constexpr uint64_t bb::secp256k1::FrParams::r_inv_wasm_1 = 0x8b9f61c
staticconstexpr

Definition at line 218 of file secp256k1.hpp.

◆ r_inv_wasm_2

constexpr uint64_t bb::secp256k1::FrParams::r_inv_wasm_2 = 0x3df60c0
staticconstexpr

Definition at line 219 of file secp256k1.hpp.

◆ r_inv_wasm_3

constexpr uint64_t bb::secp256k1::FrParams::r_inv_wasm_3 = 0xa3c71eb
staticconstexpr

Definition at line 220 of file secp256k1.hpp.

◆ r_inv_wasm_4

constexpr uint64_t bb::secp256k1::FrParams::r_inv_wasm_4 = 0x1ffff251
staticconstexpr

Definition at line 221 of file secp256k1.hpp.

◆ r_inv_wasm_5

constexpr uint64_t bb::secp256k1::FrParams::r_inv_wasm_5 = 0x1fffffff
staticconstexpr

Definition at line 222 of file secp256k1.hpp.

◆ r_inv_wasm_6

constexpr uint64_t bb::secp256k1::FrParams::r_inv_wasm_6 = 0x1fffffff
staticconstexpr

Definition at line 223 of file secp256k1.hpp.

◆ r_inv_wasm_7

constexpr uint64_t bb::secp256k1::FrParams::r_inv_wasm_7 = 0x1effffff
staticconstexpr

Definition at line 224 of file secp256k1.hpp.

◆ r_inv_wasm_8

constexpr uint64_t bb::secp256k1::FrParams::r_inv_wasm_8 = 0xac4589
staticconstexpr

Definition at line 225 of file secp256k1.hpp.

◆ r_squared_0

constexpr uint64_t bb::secp256k1::FrParams::r_squared_0 = 9902555850136342848ULL
staticconstexpr

Definition at line 155 of file secp256k1.hpp.

◆ r_squared_1

constexpr uint64_t bb::secp256k1::FrParams::r_squared_1 = 8364476168144746616ULL
staticconstexpr

Definition at line 156 of file secp256k1.hpp.

◆ r_squared_2

constexpr uint64_t bb::secp256k1::FrParams::r_squared_2 = 16616019711348246470ULL
staticconstexpr

Definition at line 157 of file secp256k1.hpp.

◆ r_squared_3

constexpr uint64_t bb::secp256k1::FrParams::r_squared_3 = 11342065889886772165ULL
staticconstexpr

Definition at line 158 of file secp256k1.hpp.

◆ r_squared_wasm_0

constexpr uint64_t bb::secp256k1::FrParams::r_squared_wasm_0 = 0x63e601a3c9f6ab4bUL
staticconstexpr

Definition at line 208 of file secp256k1.hpp.

◆ r_squared_wasm_1

constexpr uint64_t bb::secp256k1::FrParams::r_squared_wasm_1 = 0xa2b6456d46702f57UL
staticconstexpr

Definition at line 209 of file secp256k1.hpp.

◆ r_squared_wasm_2

constexpr uint64_t bb::secp256k1::FrParams::r_squared_wasm_2 = 0x5fd7916f341f1cefUL
staticconstexpr

Definition at line 210 of file secp256k1.hpp.

◆ r_squared_wasm_3

constexpr uint64_t bb::secp256k1::FrParams::r_squared_wasm_3 = 0x9c7356071a6f179aUL
staticconstexpr

Definition at line 211 of file secp256k1.hpp.

◆ schema_name

constexpr char bb::secp256k1::FrParams::schema_name[] = "secp256k1_fr"
staticconstexpr

Definition at line 267 of file secp256k1.hpp.


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