perf(crypto): CRP-2965 Avoid adding into the identity element during BLS12-381 multiplication #7951
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.
In various elliptic curve point multiplication algorithms, an accumulator element is created (initialized as the identity element) and then several points are added to it.
However the first point addition is always completely avoidable; it's equvalent to just an assignment.
Restructure the multiplication algorithms such that the accumulator is instead initialized with the value created in the first loop of the multiplication algorithm.