Skip to content

Commit 701e83c

Browse files
Eliminate na_1 and na_lam state fields from ecmult_strauss_wnaf.
1 parent 5b33b08 commit 701e83c

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/ecmult_impl.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,6 @@ static int secp256k1_ecmult_wnaf(int *wnaf, int len, const secp256k1_scalar *a,
216216
}
217217

218218
struct secp256k1_strauss_point_state {
219-
secp256k1_scalar na_1, na_lam;
220219
int wnaf_na_1[129];
221220
int wnaf_na_lam[129];
222221
int bits_na_1;
@@ -246,16 +245,17 @@ static void secp256k1_ecmult_strauss_wnaf(const struct secp256k1_strauss_state *
246245
size_t no = 0;
247246

248247
for (np = 0; np < num; ++np) {
248+
secp256k1_scalar na_1, na_lam;
249249
if (secp256k1_scalar_is_zero(&na[np]) || secp256k1_gej_is_infinity(&a[np])) {
250250
continue;
251251
}
252252
state->ps[no].input_pos = np;
253253
/* split na into na_1 and na_lam (where na = na_1 + na_lam*lambda, and na_1 and na_lam are ~128 bit) */
254-
secp256k1_scalar_split_lambda(&state->ps[no].na_1, &state->ps[no].na_lam, &na[np]);
254+
secp256k1_scalar_split_lambda(&na_1, &na_lam, &na[np]);
255255

256256
/* build wnaf representation for na_1 and na_lam. */
257-
state->ps[no].bits_na_1 = secp256k1_ecmult_wnaf(state->ps[no].wnaf_na_1, 129, &state->ps[no].na_1, WINDOW_A);
258-
state->ps[no].bits_na_lam = secp256k1_ecmult_wnaf(state->ps[no].wnaf_na_lam, 129, &state->ps[no].na_lam, WINDOW_A);
257+
state->ps[no].bits_na_1 = secp256k1_ecmult_wnaf(state->ps[no].wnaf_na_1, 129, &na_1, WINDOW_A);
258+
state->ps[no].bits_na_lam = secp256k1_ecmult_wnaf(state->ps[no].wnaf_na_lam, 129, &na_lam, WINDOW_A);
259259
VERIFY_CHECK(state->ps[no].bits_na_1 <= 129);
260260
VERIFY_CHECK(state->ps[no].bits_na_lam <= 129);
261261
if (state->ps[no].bits_na_1 > bits) {

0 commit comments

Comments
 (0)