-
Notifications
You must be signed in to change notification settings - Fork 162
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
Perf: faster final exponentiation (hard part) for BW6 curves #459
Conversation
Summary✅ Passed: 5943 🚧 Skipped
|
Summary✅ Passed: 5943 🚧 Skipped
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@ivokub I just added BW6-756 and BW6-633 new final exponentiations. For BW6-756 it's the same algorithm as the BW6-761 you reviewed (case t % r % x₀ = 3 in BW6-BLS12 family and algorithm 4.4 from [PhD:Housni22]). It just happens that |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks all good to me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks all good to me.
Description
This PR otpimizes the final exponentiation (hard part) of BW6 curves.
Fixes #457.
Todo:
The PR also removes some unnecessary computations in the Miller loop (some cases do not occur given the loopCounters).
Type of change
How has this been tested?
Existing pairing tests still apply to the new version.
How has this been benchmarked?
Checklist:
golangci-lint
does not output errors locally