Merge bitcoin-core/secp256k1#1489: tests: add missing fe comparison checks for inverse field test cases
e7bdddd9c9refactor: rename `check_fe_equal` -> `fe_equal` (Sebastian Falbesoner)00111c9c56tests: add missing fe comparison checks for inverse field test cases (Sebastian Falbesoner) Pull request description: ACKs for top commit: real-or-random: utACKe7bdddd9c9jonasnick: ACKe7bdddd9c9Tree-SHA512: 1d14cb87bf3d190be6e11ae205ed25090758aae589f50793d9bcbdb3c04378ca08f6a3d41567fdf472786ea3234cf1f3b9c95ece8b605b4a7667a81a27b249e2
This commit is contained in:
@@ -188,9 +188,9 @@ void run_ellswift_tests(void) {
|
||||
CHECK(ret == ((testcase->enc_bitmap >> c) & 1));
|
||||
if (ret) {
|
||||
secp256k1_fe x2;
|
||||
CHECK(check_fe_equal(&t, &testcase->encs[c]));
|
||||
CHECK(fe_equal(&t, &testcase->encs[c]));
|
||||
secp256k1_ellswift_xswiftec_var(&x2, &testcase->u, &testcase->encs[c]);
|
||||
CHECK(check_fe_equal(&testcase->x, &x2));
|
||||
CHECK(fe_equal(&testcase->x, &x2));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -203,7 +203,7 @@ void run_ellswift_tests(void) {
|
||||
CHECK(ret);
|
||||
ret = secp256k1_pubkey_load(CTX, &ge, &pubkey);
|
||||
CHECK(ret);
|
||||
CHECK(check_fe_equal(&testcase->x, &ge.x));
|
||||
CHECK(fe_equal(&testcase->x, &ge.x));
|
||||
CHECK(secp256k1_fe_is_odd(&ge.y) == testcase->odd_y);
|
||||
}
|
||||
for (i = 0; (unsigned)i < sizeof(ellswift_xdh_tests_bip324) / sizeof(ellswift_xdh_tests_bip324[0]); ++i) {
|
||||
@@ -290,7 +290,7 @@ void run_ellswift_tests(void) {
|
||||
secp256k1_ecmult(&resj, &decj, &sec, NULL);
|
||||
secp256k1_ge_set_gej(&res, &resj);
|
||||
/* Compare. */
|
||||
CHECK(check_fe_equal(&res.x, &share_x));
|
||||
CHECK(fe_equal(&res.x, &share_x));
|
||||
}
|
||||
/* Verify the joint behavior of secp256k1_ellswift_xdh */
|
||||
for (i = 0; i < 200 * COUNT; i++) {
|
||||
|
||||
28
src/tests.c
28
src/tests.c
@@ -2953,7 +2953,7 @@ static void random_fe_non_square(secp256k1_fe *ns) {
|
||||
}
|
||||
}
|
||||
|
||||
static int check_fe_equal(const secp256k1_fe *a, const secp256k1_fe *b) {
|
||||
static int fe_equal(const secp256k1_fe *a, const secp256k1_fe *b) {
|
||||
secp256k1_fe an = *a;
|
||||
secp256k1_fe bn = *b;
|
||||
secp256k1_fe_normalize_weak(&an);
|
||||
@@ -3090,7 +3090,7 @@ static void run_field_half(void) {
|
||||
#endif
|
||||
secp256k1_fe_normalize_weak(&u);
|
||||
secp256k1_fe_add(&u, &u);
|
||||
CHECK(check_fe_equal(&t, &u));
|
||||
CHECK(fe_equal(&t, &u));
|
||||
|
||||
/* Check worst-case input: ensure the LSB is 1 so that P will be added,
|
||||
* which will also cause all carries to be 1, since all limbs that can
|
||||
@@ -3109,7 +3109,7 @@ static void run_field_half(void) {
|
||||
#endif
|
||||
secp256k1_fe_normalize_weak(&u);
|
||||
secp256k1_fe_add(&u, &u);
|
||||
CHECK(check_fe_equal(&t, &u));
|
||||
CHECK(fe_equal(&t, &u));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3136,7 +3136,7 @@ static void run_field_misc(void) {
|
||||
secp256k1_fe_add(&z, &q); /* z = x+v */
|
||||
q = x; /* q = x */
|
||||
secp256k1_fe_add_int(&q, v); /* q = x+v */
|
||||
CHECK(check_fe_equal(&q, &z));
|
||||
CHECK(fe_equal(&q, &z));
|
||||
/* Test the fe equality and comparison operations. */
|
||||
CHECK(secp256k1_fe_cmp_var(&x, &x) == 0);
|
||||
CHECK(secp256k1_fe_equal(&x, &x));
|
||||
@@ -3196,27 +3196,27 @@ static void run_field_misc(void) {
|
||||
secp256k1_fe_add(&y, &x);
|
||||
z = x;
|
||||
secp256k1_fe_mul_int(&z, 3);
|
||||
CHECK(check_fe_equal(&y, &z));
|
||||
CHECK(fe_equal(&y, &z));
|
||||
secp256k1_fe_add(&y, &x);
|
||||
secp256k1_fe_add(&z, &x);
|
||||
CHECK(check_fe_equal(&z, &y));
|
||||
CHECK(fe_equal(&z, &y));
|
||||
z = x;
|
||||
secp256k1_fe_mul_int(&z, 5);
|
||||
secp256k1_fe_mul(&q, &x, &fe5);
|
||||
CHECK(check_fe_equal(&z, &q));
|
||||
CHECK(fe_equal(&z, &q));
|
||||
secp256k1_fe_negate(&x, &x, 1);
|
||||
secp256k1_fe_add(&z, &x);
|
||||
secp256k1_fe_add(&q, &x);
|
||||
CHECK(check_fe_equal(&y, &z));
|
||||
CHECK(check_fe_equal(&q, &y));
|
||||
CHECK(fe_equal(&y, &z));
|
||||
CHECK(fe_equal(&q, &y));
|
||||
/* Check secp256k1_fe_half. */
|
||||
z = x;
|
||||
secp256k1_fe_half(&z);
|
||||
secp256k1_fe_add(&z, &z);
|
||||
CHECK(check_fe_equal(&x, &z));
|
||||
CHECK(fe_equal(&x, &z));
|
||||
secp256k1_fe_add(&z, &z);
|
||||
secp256k1_fe_half(&z);
|
||||
CHECK(check_fe_equal(&x, &z));
|
||||
CHECK(fe_equal(&x, &z));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3618,9 +3618,9 @@ static void run_inverse_tests(void)
|
||||
for (i = 0; (size_t)i < sizeof(fe_cases)/sizeof(fe_cases[0]); ++i) {
|
||||
for (var = 0; var <= 1; ++var) {
|
||||
test_inverse_field(&x_fe, &fe_cases[i][0], var);
|
||||
check_fe_equal(&x_fe, &fe_cases[i][1]);
|
||||
CHECK(fe_equal(&x_fe, &fe_cases[i][1]));
|
||||
test_inverse_field(&x_fe, &fe_cases[i][1], var);
|
||||
check_fe_equal(&x_fe, &fe_cases[i][0]);
|
||||
CHECK(fe_equal(&x_fe, &fe_cases[i][0]));
|
||||
}
|
||||
}
|
||||
for (i = 0; (size_t)i < sizeof(scalar_cases)/sizeof(scalar_cases[0]); ++i) {
|
||||
@@ -4556,7 +4556,7 @@ static void ecmult_const_mult_xonly(void) {
|
||||
/* Check that resj's X coordinate corresponds with resx. */
|
||||
secp256k1_fe_sqr(&v, &resj.z);
|
||||
secp256k1_fe_mul(&v, &v, &resx);
|
||||
CHECK(check_fe_equal(&v, &resj.x));
|
||||
CHECK(fe_equal(&v, &resj.x));
|
||||
}
|
||||
|
||||
/* Test that secp256k1_ecmult_const_xonly correctly rejects X coordinates not on curve. */
|
||||
|
||||
Reference in New Issue
Block a user