Merge elementsproject/secp256k1-zkp#230: norm arg: add prove test vectors
f3126fdfecnorm arg: remove prove edge tests which are now covered by vectors (Jonas Nick)847ed9ecb2norm arg: add verification to prove vectors (Jonas Nick)cf797ed2a4norm arg: add prove test vectors (Jonas Nick)095c1e749cnorm arg: add prove_const to tests (Jonas Nick)bf7bf8a64fnorm arg: split norm_arg_zero into prove_edge and verify_zero_len (Jonas Nick)a70c4d4a8anorm arg: add test vector for |n| = 0 (Jonas Nick)f5e4b16f0fnorm arg: add test vector for sign bit malleability (Jonas Nick)c0de361fc5norm arg: allow X and R to be the point at infinity (Jonas Nick)f22834f202norm arg: add verify vector for n = [0], l = [0] (Jonas Nick)d8e7f3763bmusig: move ge_{serialize,parse}_ext to module-independent file (Jonas Nick) Pull request description: ACKs for top commit: Liam-Eagen: ACKf3126fdTree-SHA512: 1aad86521fce74435beabe7690c7fcc38ad9ae7a884ddcab69ef825b573433f700723a7672d29df1b4465bc33d5957b6a46f657f988cfd2cc73fa94a3472357d
This commit is contained in:
@@ -200,32 +200,6 @@ int secp256k1_musig_pubnonce_parse(const secp256k1_context* ctx, secp256k1_musig
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Outputs 33 zero bytes if the given group element is the point at infinity and
|
||||
* otherwise outputs the compressed serialization */
|
||||
static void secp256k1_ge_serialize_ext(unsigned char *out33, secp256k1_ge* ge) {
|
||||
if (secp256k1_ge_is_infinity(ge)) {
|
||||
memset(out33, 0, 33);
|
||||
} else {
|
||||
int ret;
|
||||
size_t size = 33;
|
||||
ret = secp256k1_eckey_pubkey_serialize(ge, out33, &size, 1);
|
||||
/* Serialize must succeed because the point is not at infinity */
|
||||
VERIFY_CHECK(ret && size == 33);
|
||||
}
|
||||
}
|
||||
|
||||
/* Outputs the point at infinity if the given byte array is all zero, otherwise
|
||||
* attempts to parse compressed point serialization. */
|
||||
static int secp256k1_ge_parse_ext(secp256k1_ge* ge, const unsigned char *in33) {
|
||||
unsigned char zeros[33] = { 0 };
|
||||
|
||||
if (memcmp(in33, zeros, sizeof(zeros)) == 0) {
|
||||
secp256k1_ge_set_infinity(ge);
|
||||
return 1;
|
||||
}
|
||||
return secp256k1_eckey_pubkey_parse(ge, in33, 33);
|
||||
}
|
||||
|
||||
int secp256k1_musig_aggnonce_serialize(const secp256k1_context* ctx, unsigned char *out66, const secp256k1_musig_aggnonce* nonce) {
|
||||
secp256k1_ge ge[2];
|
||||
int i;
|
||||
|
||||
Reference in New Issue
Block a user