Skip to content
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

Implement FiniteFieldExtension::getPrimitiveElement() #82

Open
rheitjoh opened this issue Apr 7, 2021 · 2 comments
Open

Implement FiniteFieldExtension::getPrimitiveElement() #82

rheitjoh opened this issue Apr 7, 2021 · 2 comments
Labels
Gitlab Old issue moved over from Gitlab repository

Comments

@rheitjoh
Copy link
Member

rheitjoh commented Apr 7, 2021

(This issue has been imported from the Gitlab repository because it seems to not have been addressed yet)

Note: FiniteFieldExtension has been deleted from the project. The comments may still be relevant, though.

Original Text (Issue 201)

In "Mathematics of Public Key Cryptography" (Galbrath 2012), there is an algorithm for this on page 51

Comment by Denis Diemert

Also related Zp::getPrimitiveElement()

Comment by Denis Diemert

Maybe ExtensionField::getPrimitiveElement() might be also affected, currently here null is returned. If that is intentionally, we need to add javadoc.

@rheitjoh rheitjoh added the Gitlab Old issue moved over from Gitlab repository label Apr 7, 2021
@rheitjoh
Copy link
Member Author

rheitjoh commented May 4, 2021

We use the notion "primitive element" to mean generator of the unit group. Note that there seem to be some competing definitions here, because "primitive element" is also defined to be the element that generates the field extension from the base field (e.g. https://en.wikipedia.org/wiki/Simple_extension#Definition). Seems a bit confusing for ExtensionField.

I would suggest maybe renaming the method to getUnitGroupGenerator?

@rheitjoh
Copy link
Member Author

rheitjoh commented May 5, 2021

So implementing this via algorithm 5 from section 2.15.3 from Galbraith (Online version 2, Oct 2018) would require first factorizing the order of the unit group, and then applying algorithm 5.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Gitlab Old issue moved over from Gitlab repository
Projects
None yet
Development

No branches or pull requests

1 participant