diff --git a/sage/gen_exhaustive_groups.sage b/sage/gen_exhaustive_groups.sage index d2cad981a6..7553522432 100644 --- a/sage/gen_exhaustive_groups.sage +++ b/sage/gen_exhaustive_groups.sage @@ -72,10 +72,7 @@ def output_generator(g, name): print(")") def output_b(b): - print("static const secp256k1_fe secp256k1_fe_const_b = SECP256K1_FE_CONST(") - print(" 0x%08x, 0x%08x, 0x%08x, 0x%08x," % tuple((int(b) >> (32 * (7 - i))) & 0xffffffff for i in range(4))) - print(" 0x%08x, 0x%08x, 0x%08x, 0x%08x" % tuple((int(b) >> (32 * (7 - i))) & 0xffffffff for i in range(4, 8))) - print(");") + print(f"# define SECP256K1_B {int(b)}") print() print() @@ -104,7 +101,6 @@ for f in sorted(gens.keys()): print(f"# {'if' if first else 'elif'} EXHAUSTIVE_TEST_ORDER == {f}") first = False print(f"static const secp256k1_ge secp256k1_ge_const_g = SECP256K1_G_ORDER_{f};") - print("") output_b(b) print("# else") print("# error No known generator for the specified exhaustive test group order.") @@ -112,7 +108,6 @@ print("# endif") print("#else") print() print("static const secp256k1_ge secp256k1_ge_const_g = SECP256K1_G;") -print("") output_b(7) print() print("#endif") diff --git a/src/group_impl.h b/src/group_impl.h index 32e17590cd..8dff5bbb1a 100644 --- a/src/group_impl.h +++ b/src/group_impl.h @@ -42,33 +42,23 @@ #if defined(EXHAUSTIVE_TEST_ORDER) # if EXHAUSTIVE_TEST_ORDER == 13 static const secp256k1_ge secp256k1_ge_const_g = SECP256K1_G_ORDER_13; - -static const secp256k1_fe secp256k1_fe_const_b = SECP256K1_FE_CONST( - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000002 -); +# define SECP256K1_B 2 # elif EXHAUSTIVE_TEST_ORDER == 199 static const secp256k1_ge secp256k1_ge_const_g = SECP256K1_G_ORDER_199; - -static const secp256k1_fe secp256k1_fe_const_b = SECP256K1_FE_CONST( - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000004 -); +# define SECP256K1_B 4 # else # error No known generator for the specified exhaustive test group order. # endif #else static const secp256k1_ge secp256k1_ge_const_g = SECP256K1_G; - -static const secp256k1_fe secp256k1_fe_const_b = SECP256K1_FE_CONST( - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000007 -); +# define SECP256K1_B 7 #endif /* End of section generated by sage/gen_exhaustive_groups.size. */ +static const secp256k1_fe secp256k1_fe_const_b = SECP256K1_FE_CONST(0, 0, 0, 0, 0, 0, 0, SECP256K1_B); + static void secp256k1_ge_set_gej_zinv(secp256k1_ge *r, const secp256k1_gej *a, const secp256k1_fe *zi) { secp256k1_fe zi2; secp256k1_fe zi3;