fix: reject identity keys and commitments in signatures #217
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.
Signature verification currently allows identity elements:
SchnorrSignature
allows an identity public keyCommitmentSignature
allows an identity commitmentCommitmentAndPublicKeySignature
allows bothThis doesn't strictly break soundness, but does remove message binding. While it shouldn't be problematic for unforgeability, it's a case that shouldn't arise from an honest signer and is easy to check for.
This PR fails signature verification if such an identity element is provided, and adds tests for each case. It does not return an error if the corresponding identity elements are provided by the signer, since this precludes useful partial signature operations.