Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

perf(bw6-756): optimize GT subgroup membership #351

Merged
merged 1 commit into from
Mar 6, 2023

Conversation

yelhousni
Copy link
Collaborator

Instead of checking z^r==1 in GT (where r is 378 bit), we do the following sequential check:

  • z^(Phi_k(p)) == 1 (where Phi_k(p) is the kth-cyclotomic polynomial) and
  • z^(p+1-t) == 1 where t, the Frobenius trace, happens to be defined by the polynomial t(x) = (-x⁶ + 5x⁵ - 9x⁴ + 7x³ - 4x + 5)/3 + 1 in the case of the BW6-756 curve

@yelhousni yelhousni merged commit f9b8d37 into develop Mar 6, 2023
@yelhousni yelhousni deleted the perf/bw6-756/GT-subgroup-check branch March 6, 2023 19:31
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants