Computing the endomorphism ring of an elliptic curve over a finite field
I would like to have an algorithm (possibly very inefficient) that computes the endomorphism ring of a given elliptic curve E over a finite field k.
For simplicity, we shall assume that E is ordinary (to avoid maximal orders in quaternion algebras...), so it is enough to compute the conductor of End(E) in the imaginary quadratic field K:=Q(π), where q=|k| and π=√a2q−4q. We know that this conductor divides [OK:Z[π]], the latter being quite easy to compute in Sage I suppose.
But now, is there a way to check whether, for a given f∣[OK:Z[π]], we have Z+fOK=End(E) ? This is where I don't know how to proceed.
I am aware of Kohel's thesis, which involves isogeny graphs, but I'm not sure if one can implement this in Sage easily.
Ideally, I want to reproduce the table on page 303 in Edixhoven, van der Geer and Moonen's Abelian Varieties, which lists EndF7(E) for all (isomorphism classes of) elliptic curves over F7.
Welcome to Ask Sage! Thank you for your question.
@slelievre : thanks for the update, and for your comment! I actually asked the same question there (https://math.stackexchange.com/questi...), but I might have more chance to get an answer here.
Now answered on math.SE.