Fuzz Fix - Hash-To-Curve - Isogeny EC add non-fully-reduced input #250
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.
Skipping the final substraction in this codepath (only taken for EC add on isogeny in SSWU hash-to-curve):
constantine/constantine/math/elliptic/ec_shortweierstrass_jacobian.nim
Line 292 in d0f4ad8
is incorrect as
HHH_or_Mpre
is later used in field addition/substraction and so need fully reduced Montgomery representation.Furthermore we fix a similar bug when the curve has a coefficient a=-3 (we have no such curve fully implemented though P256 and other NIST curves all have a=-3).
Lastly we accelerate BLS12-381 hashToG2 by enabling
mulCheckSparse
We also change the notation of intermediate point from P to Q to be in line with the spec documentation