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

feat: add bn254 G1 curve operations cmov, double, and mul_by_3b (PROOF-739) #88

Merged
merged 3 commits into from
Jan 22, 2024

Conversation

jacobtrombetta
Copy link
Collaborator

Rationale for this change

In order to support MSM with G1 elements on the bn254 curve we need to implement the curve package. This work will introduce the bn254 operation package along with the cmov, double, and mul_by_3b components. The components are copied from the the curve_g1/operation package, which supports the bls12-381 curve. The components are updated to support the bn254 G1 curve.

Non-trivial changes are isolated to this commit.

What changes are included in this PR?

  • An operation package is added to curve_bng1.
  • A subset of operations from curve_g1 are copied over to curve_bng1.
  • cmov, double, and mul_by_3b components are updated to support the bn254 G1 curve.

Are these changes tested?

Yes

@jacobtrombetta jacobtrombetta self-assigned this Jan 19, 2024
@jacobtrombetta jacobtrombetta requested a review from rnburn January 19, 2024 19:02
@jacobtrombetta jacobtrombetta merged commit 99c5431 into main Jan 22, 2024
9 checks passed
@jacobtrombetta jacobtrombetta deleted the feat/bn254-curve-operation-1-PROOF-739 branch January 22, 2024 18:39
@SxT-Release
Copy link

🎉 This PR is included in version 1.28.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

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

Successfully merging this pull request may close these issues.

3 participants