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

Endomorphism rings of elliptic curves #31851

Open
loefflerd mannequin opened this issue May 23, 2021 · 3 comments
Open

Endomorphism rings of elliptic curves #31851

loefflerd mannequin opened this issue May 23, 2021 · 3 comments

Comments

@loefflerd
Copy link
Mannequin

loefflerd mannequin commented May 23, 2021

Given an ordinary elliptic curve over a finite field, its endomorphism ring is an order in an imaginary quadratic field, which contains the order generated by the Frobenius (as computed by frobenius_order) but is in general larger. It would be nice to have an algorithm -- even a simple "toy" one -- to compute the endomorphism ring. This question came up on math.stackexchange, and there is working code linked from the answer:

https://math.stackexchange.com/questions/4147940/computing-the-endomorphism-ring-of-an-elliptic-curve-over-a-finite-field-in-sag

(Even better, I guess, would be computing an explicit isogeny of smallish degree which generates the endomorphism ring.)

CC: @defeo @yyyyx4

Component: elliptic curves

Keywords: endomorphisms, finite fields

Issue created by migration from https://trac.sagemath.org/ticket/31851

@loefflerd loefflerd mannequin added this to the sage-9.4 milestone May 23, 2021
@defeo
Copy link
Member

defeo commented May 24, 2021

comment:1

I believe some variant of Kohel's algorithm should be fairly easy to implement, and possibly more efficient than the code in the Stackexchange answer. The bottlneck in most cases would be the factorization of the discriminant. Then you just iterate over the prime factors ℓ of Δ that have valuation >1, and either compute ℓ-isogenies or compute the action of Frobenius on E[ℓ].

Of course, if ℓ is too large you have a problem, but then the only way around is the Bisson-Sutherland algorithm.

@loefflerd
Copy link
Mannequin Author

loefflerd mannequin commented May 24, 2021

comment:2

It would be great to have an implementation of the fancier algorithms of Kohel or of Bisson-Sutherland. However, a simplistic and slow implementation is (IMHO) considerably better than having no implementation at all, as at present.

@mkoeppe mkoeppe modified the milestones: sage-9.4, sage-9.5 Jul 19, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.5, sage-9.6 Dec 18, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.6, sage-9.7 Apr 2, 2022
@mkoeppe mkoeppe modified the milestones: sage-9.7, sage-9.8 Aug 31, 2022
@mkoeppe mkoeppe removed this from the sage-9.8 milestone Jan 29, 2023
@yyyyx4 yyyyx4 self-assigned this Feb 4, 2024
@yyyyx4
Copy link
Member

yyyyx4 commented Aug 10, 2024

See #38493 for a patch to compute the endomorphism ring abstractly (as a quadratic order). Finding the generating endomorphism as an explicit isogeny is work in progress.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants