9#include "../../fields/field.hpp"
10#include "../../groups/group.hpp"
11#include "../types.hpp"
31 static constexpr uint64_t
modulus_0 = 0xFFFFFFFEFFFFFC2FULL;
32 static constexpr uint64_t
modulus_1 = 0xFFFFFFFFFFFFFFFFULL;
33 static constexpr uint64_t
modulus_2 = 0xFFFFFFFFFFFFFFFFULL;
34 static constexpr uint64_t
modulus_3 = 0xFFFFFFFFFFFFFFFFULL;
47 static constexpr uint64_t
r_inv = 15580212934572586289ULL;
53 static constexpr uint64_t
r_inv_0 = 0xffffffff27c7f3a9UL;
54 static constexpr uint64_t
r_inv_1 = 0xffffffffffffffffUL;
55 static constexpr uint64_t
r_inv_2 = 0xffffffffffffffffUL;
56 static constexpr uint64_t
r_inv_3 = 0xd838091dd2253530UL;
59 static constexpr uint64_t
cube_root_0 = 0x58a4361c8e81894eULL;
60 static constexpr uint64_t
cube_root_1 = 0x03fde1631c4b80afULL;
61 static constexpr uint64_t
cube_root_2 = 0xf8e98978d02e3905ULL;
62 static constexpr uint64_t
cube_root_3 = 0x7a4a36aebcbb3d53ULL;
149 static constexpr uint64_t
modulus_0 = 0xBFD25E8CD0364141ULL;
150 static constexpr uint64_t
modulus_1 = 0xBAAEDCE6AF48A03BULL;
151 static constexpr uint64_t
modulus_2 = 0xFFFFFFFFFFFFFFFEULL;
152 static constexpr uint64_t
modulus_3 = 0xFFFFFFFFFFFFFFFFULL;
164 static constexpr uint64_t
r_inv = 5408259542528602431ULL;
170 static constexpr uint64_t
r_inv_0 = 0x9d4ad302583de6dcUL;
171 static constexpr uint64_t
r_inv_1 = 0xa09f710af0155525UL;
172 static constexpr uint64_t
r_inv_2 = 0xffffffffffffffffUL;
173 static constexpr uint64_t
r_inv_3 = 0x4b0dff665588b13eUL;
244 static constexpr uint64_t
endo_b2_lo = 0xe86c90e49284eb15ULL;
249 static constexpr uint64_t
endo_g1_lo = 0x6F547FA90ABFE4C4ULL;
253 static constexpr uint64_t
endo_g2_lo = 0xE86C90E49284EB15ULL;
275 static constexpr bool has_a =
false;
281 fq(0x59F2815B16F81798UL, 0x029BFCDB2DCE28D9UL, 0x55A06295CE870B07UL, 0x79BE667EF9DCBBACUL).
to_montgomery_form();
283 fq(0x9C47D08FFB10D4B8UL, 0xFD17B448A6855419UL, 0x5DA4FBFC0E1108A8UL, 0x483ADA7726A3C465UL).
to_montgomery_form();
291 return "Secp256k1Point";
typename Group::element Element
typename Group::affine_element AffineElement
group class. Represents an elliptic curve group element. Group is parametrised by Fq and Fr
group_elements::affine_element< Fq, Fr, Params > affine_element
group_elements::element< Fq, Fr, Params > element
std::string msgpack_schema_name(g1::affine_element const &)
group< fq, fr, G1Params > g1
General class for prime fields see Prime field documentation["field documentation"] for general imple...
BB_INLINE constexpr field to_montgomery_form() const noexcept
Parameters defining the base field of the secp256k1 curve.
static constexpr uint64_t primitive_root_wasm_0
static constexpr uint64_t primitive_root_2
static constexpr uint64_t modulus_wasm_4
static constexpr uint64_t r_inv_3
static constexpr uint64_t primitive_root_3
static constexpr uint64_t modulus_wasm_8
static constexpr uint64_t r_inv_0
static constexpr uint64_t modulus_wasm_0
static constexpr uint64_t r_squared_2
static constexpr uint64_t r_inv
static constexpr uint64_t coset_generator_0
static constexpr uint64_t coset_generator_wasm_3
static constexpr uint64_t modulus_wasm_7
static constexpr uint64_t modulus_wasm_2
static constexpr uint64_t r_inv_wasm_4
static constexpr uint64_t r_squared_wasm_1
static constexpr uint64_t r_inv_wasm_1
static constexpr uint64_t cube_root_wasm_0
static constexpr uint64_t r_squared_wasm_0
static constexpr uint64_t r_squared_3
static constexpr uint64_t coset_generator_2
static constexpr uint64_t primitive_root_wasm_1
static constexpr uint64_t modulus_0
static constexpr uint64_t modulus_wasm_5
static constexpr uint64_t coset_generator_wasm_0
static constexpr uint64_t cube_root_0
static constexpr uint64_t modulus_1
static constexpr uint64_t r_inv_wasm_5
static constexpr uint64_t cube_root_wasm_3
static constexpr uint64_t r_inv_wasm_8
static constexpr uint64_t r_squared_1
static constexpr uint64_t primitive_root_wasm_3
static constexpr uint64_t r_squared_wasm_2
static constexpr uint64_t primitive_root_1
static constexpr uint64_t coset_generator_1
static constexpr uint64_t r_squared_wasm_3
static constexpr uint64_t coset_generator_wasm_2
static constexpr uint64_t modulus_2
static constexpr uint64_t r_inv_1
static constexpr uint64_t r_inv_wasm_7
static constexpr uint64_t r_squared_0
static constexpr uint64_t coset_generator_3
static constexpr uint64_t r_inv_wasm_3
static constexpr uint64_t primitive_root_wasm_2
static constexpr uint64_t primitive_root_0
static constexpr uint64_t modulus_wasm_1
static constexpr uint64_t r_inv_wasm_0
static constexpr uint64_t cube_root_2
static constexpr uint64_t cube_root_wasm_1
static constexpr size_t PUBLIC_INPUTS_SIZE
static constexpr char schema_name[]
static constexpr uint64_t cube_root_wasm_2
static constexpr uint64_t modulus_wasm_6
static constexpr uint64_t cube_root_1
static constexpr uint64_t modulus_wasm_3
static constexpr uint64_t coset_generator_wasm_1
static constexpr uint64_t r_inv_wasm_2
static constexpr uint64_t r_inv_wasm_6
static constexpr uint64_t r_inv_2
static constexpr uint64_t cube_root_3
static constexpr uint64_t modulus_3
Parameters defining the scalar field of the secp256k1 curve.
static constexpr uint64_t r_squared_3
static constexpr uint64_t coset_generator_wasm_1
static constexpr uint64_t r_inv_wasm_5
static constexpr uint64_t cube_root_wasm_0
static constexpr uint64_t modulus_wasm_5
static constexpr uint64_t endo_g1_hi
static constexpr uint64_t coset_generator_wasm_0
static constexpr uint64_t modulus_wasm_7
static constexpr uint64_t coset_generator_2
static constexpr uint64_t r_inv
static constexpr uint64_t modulus_wasm_6
static constexpr uint64_t coset_generator_1
static constexpr uint64_t modulus_wasm_1
static constexpr uint64_t modulus_0
static constexpr uint64_t r_squared_wasm_3
static constexpr uint64_t endo_g1_mid
static constexpr uint64_t primitive_root_wasm_3
static constexpr uint64_t coset_generator_wasm_3
static constexpr uint64_t primitive_root_2
static constexpr uint64_t endo_minus_b1_lo
static constexpr uint64_t r_inv_1
static constexpr uint64_t endo_g1_lo
static constexpr uint64_t cube_root_wasm_1
static constexpr uint64_t cube_root_wasm_3
static constexpr uint64_t modulus_wasm_8
static constexpr char schema_name[]
static constexpr uint64_t r_inv_wasm_6
static constexpr uint64_t r_inv_0
static constexpr uint64_t modulus_3
static constexpr uint64_t r_inv_wasm_2
static constexpr uint64_t modulus_1
static constexpr uint64_t modulus_wasm_2
static constexpr uint64_t r_inv_wasm_8
static constexpr uint64_t endo_minus_b1_mid
static constexpr uint64_t r_inv_wasm_0
static constexpr uint64_t endo_b2_mid
static constexpr uint64_t modulus_wasm_3
static constexpr uint64_t r_inv_wasm_1
static constexpr uint64_t r_inv_2
static constexpr size_t PUBLIC_INPUTS_SIZE
static constexpr uint64_t primitive_root_wasm_2
static constexpr uint64_t primitive_root_0
static constexpr uint64_t cube_root_wasm_2
static constexpr uint64_t endo_b2_lo
static constexpr uint64_t r_squared_2
static constexpr uint64_t cube_root_3
static constexpr uint64_t r_inv_wasm_7
static constexpr uint64_t primitive_root_1
static constexpr uint64_t primitive_root_wasm_0
static constexpr uint64_t coset_generator_wasm_2
static constexpr uint64_t coset_generator_3
static constexpr uint64_t r_squared_0
static constexpr uint64_t r_squared_wasm_2
static constexpr uint64_t modulus_2
static constexpr uint64_t r_squared_wasm_1
static constexpr uint64_t modulus_wasm_4
static constexpr uint64_t r_inv_wasm_4
static constexpr uint64_t cube_root_2
static constexpr uint64_t endo_g2_lo
static constexpr uint64_t r_squared_wasm_0
static constexpr uint64_t endo_g2_mid
static constexpr uint64_t r_squared_1
static constexpr uint64_t coset_generator_0
static constexpr uint64_t primitive_root_3
static constexpr uint64_t cube_root_0
static constexpr uint64_t r_inv_3
static constexpr uint64_t primitive_root_wasm_1
static constexpr uint64_t modulus_wasm_0
static constexpr uint64_t cube_root_1
static constexpr uint64_t r_inv_wasm_3
static constexpr bool small_elements
static constexpr bool can_hash_to_curve
static constexpr fq one_x
static constexpr fq one_y
static constexpr bool has_a
static constexpr bool USE_ENDOMORPHISM