Clearmatics Libff
0.1
C++ library for Finite Fields and Elliptic Curves
|
Go to the documentation of this file.
37 sizeof(mp_limb_t) == 8 ||
38 sizeof(mp_limb_t) == 4);
41 bn128_modulus_r = bigint_r(
"21888242871839275222246405745257275088548364400"
42 "416034343698204186575808495617");
44 if (
sizeof(mp_limb_t) == 8) {
46 "66851729442924617792859073125903783");
48 "8105578784105281690076696998248512");
51 if (
sizeof(mp_limb_t) == 4) {
53 "66851729442924617792859073125903783");
55 "8105578784105281690076696998248512");
59 bn128_Fr::euler = bigint_r(
"10944121435919637611123202872628637544274182200"
60 "208017171849102093287904247808");
63 "81540058820840996586704275553141814055101440848469862132140264610111");
65 "40770029410420498293352137776570907027550720424234931066070132305055");
68 bn128_Fr(
"1910321906792171394429139282769207003614565195732928631530564"
72 "957329286315305642004821462161904");
76 bn128_modulus_q = bigint_q(
"21888242871839275222246405745257275088696311157"
77 "297823662689037894645226208583");
79 if (
sizeof(mp_limb_t) == 8) {
81 "540968419076528771170197431451843209");
83 "19838510245177710943249661917737183");
86 if (
sizeof(mp_limb_t) == 4) {
88 "540968419076528771170197431451843209");
90 "19838510245177710943249661917737183");
94 bn128_Fq::euler = bigint_q(
"10944121435919637611123202872628637544348155578"
95 "648911831344518947322613104291");
97 bn128_Fq::t = bigint_q(
"109441214359196376111232028726286375443481555786489"
98 "11831344518947322613104291");
100 bigint_q(
"5472060717959818805561601436314318772174077789324455915672259"
104 bn128_Fq(
"2188824287183927522224640574525727508869631115729782366268903"
108 "157297823662689037894645226208582");
115 "297823662689037894645226208582");
117 mie::Vuint(
"54720607179598188055616014363143187721740777893244559156722"
118 "59473661306552145");
121 bn::Fp(
"194858747517593547710242392610217205057906184693017210655646312"
123 bn::Fp(
"266929791119991161246907387137283842545076965332900288569378510"
127 bn::Fp(
"503350371626262426731249255837998268717520073493487759859901148"
129 bn::Fp(
"314498342015008975724433667930697407966947188435857772134235984"
132 mie::Vuint(
"14971724250519463826312126413021210649976634891596900701138"
133 "99382043969042769931992024503286935743349909963225983790938"
134 "3182382988566862092145199781964621");
209 bn::Fp(
"152678028847935503835587060391656210502900897759612088243037657"
211 bn::Fp(
"903449356601974233940237867046189777450996766956261078811321598"
214 bn::Fp(
"644888581738283025171396578091639672120333224302184904896215738"
216 bn::Fp(
"205328750812034486954487442552245436619595163613273857798784767"
223 "914179612981679871602714643921549");
bn::Fp2 bn128_Fq2_nqr_to_t
Fp_model< bn128_q_limbs, bn128_modulus_q > bn128_Fq
static std::vector< size_t > wnaf_window_table
static Fp_model< n, modulus > nqr
a quadratic nonresidue
bigint< bn128_r_limbs > bn128_modulus_r
static bigint< n > t
with t odd
static size_t s
modulus = 2^s * t + 1
static bigint< h_limbs > h
static bigint< n > euler
(modulus-1)/2
static bool modulus_is_valid()
static bigint< n > t_minus_1_over_2
(t-1)/2
static void static_init()
static Fp_model< n, modulus > root_of_unity
generator^((modulus-1)/2^s)
static std::vector< size_t > fixed_base_exp_window_table
bn::Fp2 bn128_twist_coeff_b
static Fp_model< n, modulus > nqr_to_t
nqr^t
static bigint< h_limbs > h
static Fp_model< n, modulus > multiplicative_generator
generator of Fp^*
static std::vector< size_t > fixed_base_exp_window_table
mie::Vuint bn128_Fq2_t_minus_1_over_2
static mp_limb_t inv
-modulus^(-1) mod W, where W = 2^(word size)
bigint< bn128_q_limbs > bn128_modulus_q
static bigint< n > Rsquared
R^2, where R = W^k, where k = ??
static std::vector< size_t > wnaf_window_table
Fp_model< bn128_r_limbs, bn128_modulus_r > bn128_Fr
static bigint< n > Rcubed
R^3.
mie::Vuint bn128_Fq_t_minus_1_over_2