Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cover taproot-tweaked signing with integration tests #4

Merged
merged 4 commits into from
Mar 16, 2024

Conversation

conduition
Copy link

Currently, ZcashFoundation#584 does not have any test coverage for taproot-tweaked signing.

This PR adds integration test coverage for signing with a commitment to a tapscript merkle root, proving that we can sign as a given group verifying key both with and without a tweak.

This chunk of code added to ciphersuite_generic.rs demonstrates how we can provide the 'effective' (tweaked) verifying key, AKA the 'taproot output key'. An observer can use it to verify signatures without the verifier knowing the tweak value used.

// Check that the effective verifying key can be verified against the raw message,
// without exposing the SigningParameters.
pubkey_package
    .verifying_key
    .effective_key(signing_target.sig_params())
    .verify(signing_target.message(), &group_signature)?;

I fixed a couple of minor mistakes in the first three commits. This commit specifically fixes the issue which @MatthewLM reported here.

@zebra-lucky
Copy link
Owner

zebra-lucky commented Mar 16, 2024

git fetch origin pull/4/head:pr4
git checkout pr4
cargo test

@zebra-lucky
Copy link
Owner

Tests seems to be passed.
Looking to code changes.

@zebra-lucky zebra-lucky merged commit 20c2c98 into zebra-lucky:add-secp256k1-tr Mar 16, 2024
@zebra-lucky
Copy link
Owner

I'm sorry, I'm to ill for now to make review of code changes.
But I don't want to be a stopper on these changes.
But if some bugs is remain, they must be found

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants