diff --git a/sage/gen_exhaustive_groups.sage b/sage/gen_exhaustive_groups.sage index 6026580..070bc12 100644 --- a/sage/gen_exhaustive_groups.sage +++ b/sage/gen_exhaustive_groups.sage @@ -96,10 +96,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("To be put in src/group_impl.h:") @@ -128,7 +125,6 @@ for f in sorted(solutions.keys()): first = False print() print(f"static const secp256k1_ge secp256k1_ge_const_g = SECP256K1_G_ORDER_{f};") - print("") output_b(b) print() print("# else") @@ -137,7 +133,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 ed2b50b..3a57ee8 100644 --- a/src/group_impl.h +++ b/src/group_impl.h @@ -49,29 +49,17 @@ # if EXHAUSTIVE_TEST_ORDER == 7 static const secp256k1_ge secp256k1_ge_const_g = SECP256K1_G_ORDER_7; - -static const secp256k1_fe secp256k1_fe_const_b = SECP256K1_FE_CONST( - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000006 -); +#define SECP256K1_B 6 # elif 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. @@ -79,15 +67,13 @@ static const secp256k1_fe secp256k1_fe_const_b = SECP256K1_FE_CONST( #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.sage. */ +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;