Skip to content

Commit

Permalink
tests: refactor: take use of secp256k1_ge_x_on_curve_var
Browse files Browse the repository at this point in the history
The recently merged ellswift PR (bitcoin-core#1129) introduced a helper
`secp256k1_ge_x_on_curve_var` to check if a given X coordinate is
valid (i.e. the equation x^3 + 7 is square, see commit
79e5b2a). This can be used for code
deduplication in the `ecmult_const_mult_xonly` test.
  • Loading branch information
theStack committed Jun 25, 2023
1 parent fd491ea commit 0c9f6b6
Showing 1 changed file with 2 additions and 5 deletions.
7 changes: 2 additions & 5 deletions src/tests.c
Original file line number Diff line number Diff line change
Expand Up @@ -4611,17 +4611,14 @@ static void ecmult_const_mult_xonly(void) {

/* Test that secp256k1_ecmult_const_xonly correctly rejects X coordinates not on curve. */
for (i = 0; i < 2*COUNT; ++i) {
secp256k1_fe x, n, d, c, r;
secp256k1_fe x, n, d, r;
int res;
secp256k1_scalar q;
random_scalar_order_test(&q);
/* Generate random X coordinate not on the curve. */
do {
random_field_element_test(&x);
secp256k1_fe_sqr(&c, &x);
secp256k1_fe_mul(&c, &c, &x);
secp256k1_fe_add_int(&c, SECP256K1_B);
} while (secp256k1_fe_is_square_var(&c));
} while (secp256k1_ge_x_on_curve_var(&x));
/* If i is odd, n=d*x for random non-zero d. */
if (i & 1) {
do {
Expand Down

0 comments on commit 0c9f6b6

Please sign in to comment.