feat: add bn254 G1 curve operations cmov, double, and mul_by_3b (PROOF-739) #88
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.
Rationale for this change
In order to support MSM with
G1
elements on thebn254
curve we need to implement the curve package. This work will introduce thebn254
operation package along with thecmov
,double
, andmul_by_3b
components. The components are copied from the thecurve_g1/operation
package, which supports thebls12-381
curve. The components are updated to support thebn254
G1
curve.Non-trivial changes are isolated to this commit.
What changes are included in this PR?
curve_bng1
.curve_g1
are copied over tocurve_bng1
.cmov
,double
, andmul_by_3b
components are updated to support thebn254
G1
curve.Are these changes tested?
Yes