Merge BlockstreamResearch/secp256k1-zkp#339: ecdsa_adaptor: Fix secp256k1_dleq_verify abort on infinity points (#335)

799a27c813 ecdsa_adaptor: Check for infinity in secp256k1_dleq_verify (mllwchrry)

Pull request description:

  Address #335.

ACKs for top commit:
  real-or-random:
    ACK 799a27c813

Tree-SHA512: 9634ccd864cabbe3188e19a551f18cb21cd634955276e9a12fd92977b71ecde4bec1159e9f7baf6157c5b4c6b956ed938600f85f70379603704ec738035eb4c7
This commit is contained in:
merge-script
2026-03-05 09:02:31 +01:00

View File

@@ -139,6 +139,10 @@ static int secp256k1_dleq_verify(const secp256k1_scalar *s, const secp256k1_scal
secp256k1_ecmult(&rj[1], &gen2j, s, &secp256k1_scalar_zero); secp256k1_ecmult(&rj[1], &gen2j, s, &secp256k1_scalar_zero);
secp256k1_gej_add_var(&rj[1], &rj[1], &tmpj, NULL); secp256k1_gej_add_var(&rj[1], &rj[1], &tmpj, NULL);
if (secp256k1_gej_is_infinity(&rj[0]) || secp256k1_gej_is_infinity(&rj[1])) {
return 0;
}
secp256k1_ge_set_all_gej_var(r, rj, 2); secp256k1_ge_set_all_gej_var(r, rj, 2);
secp256k1_dleq_challenge(&e_expected, gen2, &r[0], &r[1], p1, p2); secp256k1_dleq_challenge(&e_expected, gen2, &r[0], &r[1], p1, p2);