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

Implement schnorr signature verification in pure Noir #5054

Closed
TomAFrench opened this issue May 19, 2024 · 1 comment · Fixed by #5188
Closed

Implement schnorr signature verification in pure Noir #5054

TomAFrench opened this issue May 19, 2024 · 1 comment · Fixed by #5188
Labels
good first issue Good for newcomers

Comments

@TomAFrench
Copy link
Member

Now that we have an MSM opcode in Noir we can implement schnorr signature verification natively in Noir, which would allow us to remove the SchnorrVerify blackbox function.

@TomAFrench TomAFrench added the good first issue Good for newcomers label May 19, 2024
@github-project-automation github-project-automation bot moved this to 📋 Backlog in Noir May 19, 2024
@TomAFrench
Copy link
Member Author

TomAFrench commented May 19, 2024

See #5053 for a sample rust implementation which should be fairly doable to translate into Noir. This will also require adding a method to check whether an EmbeddedCurvePoint is actually on the curve.

We'll also be able to have an assert_valid_signature variant to reduce constraint counts.

github-merge-queue bot pushed a commit that referenced this issue Jun 6, 2024
# Description

## Problem\*

Resolves #5054 and #4929

## Summary\*
Schnorr signature verification in Noir, using the MSM blackbox.


## Additional Context
The code is added to the schnorr test case, and it has also an assert
version.
This should be moved to the stdlib once we have numeric generics.
Meanwhile you need to pass a message with 32 additional bytes so we can
create an 'hash_input' array of the proper size.


## Documentation\*

Check one:
- [X] No documentation needed.
- [ ] Documentation included in this PR.
- [ ] **[For Experimental Features]** Documentation to be submitted in a
separate PR.

# PR Checklist\*

- [X] I have tested the changes locally.
- [X] I have formatted the changes with [Prettier](https://prettier.io/)
and/or `cargo fmt` on default settings.
@github-project-automation github-project-automation bot moved this from 📋 Backlog to ✅ Done in Noir Jun 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

1 participant