Merge bitcoin-core/secp256k1#1656: musig: Fix clearing of pubnonces

961ec25a83 musig: Fix clearing of pubnonces (Tim Ruffing)

Pull request description:

ACKs for top commit:
  sipa:
    ACK 961ec25a83
  jonasnick:
    ACK 961ec25a83

Tree-SHA512: 7840318773987e6a94b0ce81068843a53e990f06d09a6f8fd47c76863b77b6c4de00a6fe3d8465118981d7e51ed0d229057147d200f3a70e55e007463689eeeb
This commit is contained in:
Jonas Nick
2025-03-10 15:11:29 +00:00

View File

@@ -445,12 +445,18 @@ static int secp256k1_musig_nonce_gen_internal(const secp256k1_context* ctx, secp
secp256k1_musig_secnonce_save(secnonce, k, &pk);
secp256k1_musig_secnonce_invalidate(ctx, secnonce, !ret);
/* Compute pubnonce as two gejs */
for (i = 0; i < 2; i++) {
secp256k1_ecmult_gen(&ctx->ecmult_gen_ctx, &nonce_ptj[i], &k[i]);
secp256k1_scalar_clear(&k[i]);
secp256k1_gej_clear(&nonce_ptj);
}
/* Batch convert to two public ges */
secp256k1_ge_set_all_gej(nonce_pts, nonce_ptj, 2);
for (i = 0; i < 2; i++) {
secp256k1_gej_clear(&nonce_ptj[i]);
}
for (i = 0; i < 2; i++) {
secp256k1_declassify(ctx, &nonce_pts[i], sizeof(nonce_pts[i]));
}