Skip to content

Commit e82144e

Browse files
committed
Fixup skew before global Z fixup
1 parent 40b624c commit e82144e

File tree

1 file changed

+9
-12
lines changed

1 file changed

+9
-12
lines changed

src/ecmult_const_impl.h

+9-12
Original file line numberDiff line numberDiff line change
@@ -213,25 +213,22 @@ static void secp256k1_ecmult_const(secp256k1_gej *r, const secp256k1_ge *a, cons
213213
}
214214
}
215215

216-
secp256k1_fe_mul(&r->z, &r->z, &Z);
217-
218216
{
219217
/* Correct for wNAF skew */
220-
secp256k1_gej tmp;
221-
secp256k1_ge a_1;
222-
secp256k1_ge_neg(&a_1, a);
218+
secp256k1_gej tmpj;
223219

224-
secp256k1_gej_add_ge(&tmp, r, &a_1);
225-
secp256k1_gej_cmov(r, &tmp, skew_1);
220+
secp256k1_ge_neg(&tmpa, &pre_a[0]);
221+
secp256k1_gej_add_ge(&tmpj, r, &tmpa);
222+
secp256k1_gej_cmov(r, &tmpj, skew_1);
226223

227224
if (size > 128) {
228-
secp256k1_ge a_lam;
229-
secp256k1_ge_mul_lambda(&a_lam, &a_1);
230-
231-
secp256k1_gej_add_ge(&tmp, r, &a_lam);
232-
secp256k1_gej_cmov(r, &tmp, skew_lam);
225+
secp256k1_ge_neg(&tmpa, &pre_a_lam[0]);
226+
secp256k1_gej_add_ge(&tmpj, r, &tmpa);
227+
secp256k1_gej_cmov(r, &tmpj, skew_lam);
233228
}
234229
}
230+
231+
secp256k1_fe_mul(&r->z, &r->z, &Z);
235232
}
236233

237234
#endif /* SECP256K1_ECMULT_CONST_IMPL_H */

0 commit comments

Comments
 (0)