Two vectors of the sign_verify
test use different partial signatures even though their signer set, message, and nonces are the same. These are those two vectors:
Vector 1 (in valid_test_ cases
):
0"key_indices": [0, 1, 2],
1"nonce_indices": [0, 1, 2],
2"aggnonce_index": 0,
3"msg_index": 0,
4"signer_index": 0,
5"expected": "012ABBCB52B3016AC03AD82395A1A415C48B93DEF78718E62A7A90052FE224FB"
Vector 2 (in verify_fail_test_cases
):
0"sig": "68537CC5234E505BD14061F8DA9E90C220A181855FD8BDB7F127BB12403B4D3B",
1"key_indices": [0, 1, 2],
2"nonce_indices": [0, 1, 2],
3"msg_index": 0,
4"signer_index": 1,
5"comment": "Wrong signer"
In Vector 2, if we change the signer_index
to 0 (the correct index), partial_sig_verify
will still fail. Therefore, it has the incorrect partial signature. As a result, creating another vector by negating this paritalsig is also incorrect.
This PR fixes Vector 2 and the one created by negating Vector 2’s partial signature.