Repository navigation
Conversation
New cases: - one signer: nonce_agg of one nonce, sign, verify, sig_agg - a 100-byte message - a plain and an x-only tweak over a 38-byte message (det_sign) - an extra_in shorter than 32 bytes - a secnonce whose second half is zero - a secnonce generated for another signer's public key - fewer pubnonces than pubkeys at verify - fewer is_xonly flags than tweaks - a 31-byte tweak reference.py computed every value. The sig_agg case is generated by gen_vectors_helper.py, which now includes it. Assisted-by: my usual tools (LLM, Internet, computer). Mistakes are mine. Signed-off-by: Ferdinando Ametrano <ferdinando@ametrano.net>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I implemented BIP327 independently in btclib-ecc (Python), and these are the cases my tests reach and the vectors do not. reference.py computes every new value, every new case is appended so no existing index changes, and btclib-ecc reproduces every case of the five changed files, with the same error messages.
One case I left out: a secnonce whose second half is 1. reference.py accepts it, so it is not an error case, and every valid sign_verify case signs with secnonces[0]. Adding it would need a change to reference.py, such as a secnonce index in the valid cases. Would you want that?
The changelog gets version 1.0.5.
Assisted-by: my usual tools (LLM, Internet, computer). Mistakes are mine.