-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhdr.tex
4563 lines (4067 loc) · 202 KB
/
hdr.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
\documentclass[b5layout]{hdr}
\usepackage[french,english]{babel}
\usepackage{array}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{unicode}
\usepackage[type={CC},modifier={by-nc-sa},imagemodifier={-eu},version={4.0},imagewidth=5em]{doclicense}
\usepackage{fancyhdr}
\usepackage[style=alphabetic,refsegment=chapter,maxnames=20]{biblatex}
\bibliography{isogenies_bib/isogenies,hdr}
\usepackage[pdfusetitle]{hyperref}
\hypersetup{
unicode=true,
colorlinks=true,
citecolor=blue!70!black,
filecolor=black,
linkcolor=red!70!black,
urlcolor=blue,
pdfstartview={FitH},
pdfauthor={Luca De Feo},
pdfsubject={Mathematics},
pdfkeywords={Cryptography, Number theory, Computer algebra, Elliptic curves, Isogenies, Finite fields},
}
\usepackage{tikz}
\usetikzlibrary{arrows,trees,matrix,decorations,decorations.text,decorations.pathmorphing,calc}
\pgfkeys{/triangle/.code=\tikzset{x={(-0.5cm,-0.866cm)},y={(1cm,0cm)}}}
\pgfkeys{/lattice/.code n args={4}{\tikzset{cm={#1,#2,#3,#4,(0,0)}}}}
\tikzset{
dotstyle/.style={circle, inner sep = 1.2pt, outer sep = 4pt, fill = gray},
edgetower/.style={thick},
edgecomp/.style={thick, lightgray}
}
%% Used by included papers
\usepackage{algorithmic,stmaryrd} % explicit_isogenies
\usepackage[chapter]{algorithm}
\def\algorithmicrequire{\textbf{Input:}}
\def\algorithmicensure{\textbf{Output:}}
\usepackage{bm,mdwlist} % ff_compositum
\usepackage{enumitem,subcaption} % ffisom
\usepackage[ruled, vlined, linesnumbered, algo2e, algochapter]{algorithm2e} % crs
\include{preamble}
\include{hyphenat}
\title{Exploring Isogeny Graphs}
\author{Luca De Feo}
\begin{document}
\frontmatter
\input{covers}
\chapter{Preface}
About ten years removed from my PhD, the time has come to pause and
reflect on my research path. But, even admitting I have come to a
point where I can look back at my work and make sense of it, how to
convey this in a coherent manuscript that still has some value to a
reader?
I don't know if I found the answer, at any rate I could not get a
clear one by asking around. I guess this is part of the exercise. I
chose to write three chapters that survey topics I particularly
endear, in the hope that they motivate readers to get into similar
areas of research. You will judge if I have succeeded.
As a last thing before moving to the main course, I would like to
leave a message in a bottle for future HDR candidates: everyone knows
what an HDR is not, but no one seems to know what it is. You shall
follow the advice of previous candidates, of course, but in the end
you will decide what you make of it, so try and make what is most
valuable to you and your community.
\paragraph{Acknowledgments.} I would like to start by thanking the
person who is responsible for getting me into all of this. He has been
a mentor, a coworker, a friend, a paternal figure, and, above all, he
was the one crazy enough to believe, back in 2007, that isogeny based
cryptography may be a serious thing one day. I am obviously naming
François Morain. Who knows whether isogeny based cryptography would
have been ready on time for NIST's post-quantum competition without
his vision.
The next person, is the one responsible for keeping me from falling
completely into this. She is my best friend, an amazing chef, a
talented artist, a charismatic teacher, and a loving presence. Without
her, I could not have taken the load of stress and fatigue that comes
with preparing this thesis. I am talking of Rachel Deyts.
I want to specially thank my research students: C. Hugounenq,
S. Besnier, L. Brieulle, É. Rousseau, R. Larrieu, J. Kieffer and
M. Veroni. In the end, this manuscript is about them, and the
wonderful moments we have spent working together. I am also grateful
to all my other students for everything they have given to me, but I
can't possibly fit all their names in here.
My coauthors, É. Schost, D. Jao, J. Doliskani, J. Plût, J.-P. Flori,
M. Kohlhase, D. Müller, M. Pfeiffer, N. Thiéry, V. Vasilyev,
T. Wiesing, B. Smith, S. Galbraith, R. Azarderakhsh, B. Koziel,
M. Campagna, B. LaMacchia, C. Costello, P. Longa, M. Naehrig, B. Hess,
J. Renes, A. Jalali, V. Soukharev and D. Urbanik, also deserve a
special thanks. Research is no fun alone in an office. Even if we are
not technically coauthors, I have spent hours working on things that I
value as much as pure research with E. Bray, J. Demeyer and
V. Delecroix, and I am grateful for that.
A special thank to Louis Goubin, who is the ideal boss, and whose
advice for preparing this manuscript and the defense has been
priceless.
I am honored and humbled that A. Enge, F. Hess and D. Kohel have
accepted to review this manuscript, and that P. Barreto,
J.-M. Couveignes and A. Valibouze have agreed to serve on the jury.
They are among my role models, and it means a lot to me that they have
looked with interest to my work.
I am immensely grateful for the working and leisure time I have spent
with my coworkers at UVSQ, at Inria Saclay, at Télécom Paristech and
at Paris Sud: C. Boura, C. Chaigneau, I. Chilotti, N. Gama, M. Krir, A. Gélin,
A. Mathieu-Mahias, G. Moreno-Socias, J. Patarin, N. Perrin,
M. Quisquater, V. Sécherre, F. Vial-Prado, D. Augot, E. Barelli,
A. Couvreur, V. Ducet, J. Lavauzelle, F. Lévy, B. Meyer, D. Madore,
J. Pieltant, M. Rambaud, H. Randriam, F. Hivert, S. Lelièvre,
B. Pilorget, V. Pons, and I am sure I am forgetting students who have
come and gone.
My life would have been much harder without the invaluable help of our
assistants, C. Le Quéré, I. Moudenner, C. Ducoin, and F. Chevalier.
I want to thank my family for always having been supportive of my life
choices, and for being always ready to come all the way from Italy to
support me in these moments. My friends, for cheering me up and giving
me moments of pleasure away from work.
And finally, thanks to you who are reading this. Your interest in
these pages honors me deeply.
\clearpage
\tableofcontents
\clearpage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Introduction}
If you are reading this on a computer screen, chances are that you got
to it by browsing the web. %
You probably went to a search engine, or maybe received a link via
email, or social media. %
You followed the link, landing on some scientific repository, and
downloaded the pdf. %
Two to three hops, each triggering dozens of connections to search
servers, CDNs for static assets, targeted advertisement services, and
trackers of all sorts. %
All over HTTPS. %
In the lapse of a few seconds, your CPU has chosen some standardized
elliptic curves, drawn dozens of random integers, multiplied some
default generators by them, and sent around projective points over the
wire. %
Maybe it is even the year 2050, and, as we have all moved to Siberia
to escape the effects of global warming, your Megacorp branded browser
is now offering perfect forward secrecy through ephemeral
supersingular isogeny key exchange.
Yes. \emph{Supersingular isogeny key exchange}. %
Indeed, this may sound straight out of a William Gibson novel, but it
actually is a real thing. %
And you do not even need to wait for Netherlands to be under water to
use it: Microsoft has released a fork of OpenVPN containing it.%
\footnote{https://github.com/Microsoft/PQCrypto-VPN.} %
The goal of this document is to make those four words sound less
otherworldly, at least for those who have been around asymmetric
cryptography in recent years. %
It is not a course on arithmetic geometry, nor a complete review of
isogeny-based cryptography, not even a monography. %
It is more like a promenade, a stroll around topics related to
\emph{isogeny graphs} that are dearest to my heart. %
A journey through unexplored lands made possible by science and
technological progress. %
Like mathematical \emph{capitaines Nemos} we shall start our journey
on an isolated island, an \emph{elliptic curve} surfacing out of an
uncharted sea. %
We shall start our exploration by diving in the sea. %
We will discover nearby underwater elliptic curves, linked to our
island by \emph{isogenies}. %
We will enter our \emph{Nautilus}, and, equipped with an
\emph{algebraic bathymeter}, we will dive to the sea floor to explore
the slopes of an underwater \emph{volcano}. %
Next, we shall climb to the top of the island to gain a vantage point
and observe the seascape around us. %
We will build observation \emph{towers} to look as far as the remotest
islets, discovering that our tiny island is only a minuscule part of
an immense archipelago: an \emph{isogeny graph} crisscrossed by
isogenies of any \emph{degree}.
Finally, we shall set sail to explore the archipelago, charting the
isogeny routes that link the elliptic curves. %
The theories of \emph{complex multiplication} and of \emph{quaternion
algebras} will work as a compass, indicating the direction to the
next island. %
However, despite our technological prowess, like seamen in a starless
night, we will miss a fundamental tool: a telemeter to keep track of
the distance between elliptic curves. %
A blessing and a curse, the lack of a telemeter will let us hide
\emph{secrets} in the isogeny graph, confident that any pirate seeking
them will be condemned to wander aimlessly through the archipelago for
centuries to come.
Breaking out of the metaphors, Chapter~\ref{cha:tate} deals with
isogenies of elliptic curves and algorithmic problems related to
them. %
We will introduce the \nameref{prob:expl-isog}, first studied by
Elkies, and present some algorithms to solve it. %
We will then focus on elliptic curves over finite fields, and on a
specific algorithm for the explicit isogeny problem due to
Couveignes. %
To understand it better, we will study the \emph{Frobenius
endomorphism}, and see how it determines the types of isogenies
around an elliptic curve; by looking at its action on the \emph{Tate
module}, we will gain a global view on the \emph{isogeny graph}. %
Then, an \emph{effective version of \hyperref[th:tate]{Tate's isogeny
theorem}} will provide us with an effective way to \emph{probe the
depths} of the isogeny graph. %
Armed with this tool, we will end the chapter with a generalization of
Couveignes' algorithm, currently the algorithm with the best
complexity for solving the explicit isogeny problem. %
The effective version of Tate's theorem is only as efficient as the
algorithms at our disposal to compute in the algebraic closure of a
finite field. %
In Chapter~\ref{cha:fpbar} we shall study algorithms to represent and
compute with finite extensions of a finite field. %
We will review algorithms to compute irreducible polynomials, then
move to two radically different paradigms to represent the algebraic
closure of finite fields. %
One, based on \emph{special families of irreducible polynomials}, will
extend some algorithms for irreducible polynomials by adding to them
more features: \emph{compatibility}, \emph{incrementality} and
\emph{uniqueness}. %
The other one, based on \emph{lattices of arbitrary irreducible
polynomials}, will be founded on an algorithm for computing
isomorphisms of finite fields; we shall thus review all known
algorithms for this problem, and see how they are related to
algorithms for irreducible polynomials. %
The goal of this chapter is not only to be a review in computational
complexity, but also to explore the practical implementation aspects
of the algorithms. %
All along the exposition, we will refer to the available
implementations in the most popular computer algebra systems and
libraries (Magma, SageMath, PARI/GP, Nemo, Flint, NTL, \dots), and
highlight the implementation challenges and possible ways forward. %
Finally, in Chapter~\ref{cha:crypto} we will come to the much
anticipated isogeny-based cryptography. %
This novel type of cryptography, pioneered by Couveignes in the
nineties, is built on the algebraic structure of large isogeny
graphs. %
We will see how the theory of \emph{complex multiplication} and that
of \emph{quaternion algebras} determine the structure of these graphs,
and how they prove their \emph{expansion} properties. %
We will then focus, only, on key exchange protocols based on isogenies
graphs; we will review three proposals: Couveignes' original one based
on \emph{ordinary graphs}, a recent twist on it, named CSIDH, based on
\emph{supersingular $\F_p$-graphs}, and another one based on
generic \emph{supersingular graphs} named SIDH. %
We will conclude the chapter by discussing security of isogeny-based
primitives. %
The main selling point for isogeny-based algorithms is their supposed
resistance to quantum attacks, we shall thus review the known quantum
algorithms for breaking them, and discuss the impact on security
parameters. %
The whole document is meant as an introduction to a research area,
thus it purposely ignores some important topics and skips technical
details. %
Each chapter is accompanied by one or two research articles,
previously appeared in peer reviewed journals and proceedings, for the
reader interested in gaining more insights. %
These are, for Chapter~\ref{cha:tate},
\begin{quote}
Luca De Feo, Cyril Hugounenq, Jérôme Plût and Éric Schost. %
``Explicit isogenies in quadratic time in any characteristic''. %
\emph{LMS Journal of Computation and
Mathematics}~\cite{defeo2016explicit}.
\end{quote}
Introducing the generalization of Couveignes' algorithm. %
For Chapter~\ref{cha:fpbar},
\begin{quote}
Luca De Feo, Javad Doliskani and Éric Schost. %
``Fast Arithmetic for the Algebraic Closure of Finite Fields''. %
\emph{Proceedings of the 39th International Symposium on Symbolic
and Algebraic Computation (ISSAC 2014)}~\cite{DeDoSc2014}.
\end{quote}
On realizing the algebraic closure of a finite field, and
\begin{quote}
Ludovic Brieulle, Luca De Feo, Javad Doliskani, Jean-Pierre Flori
and Éric Schost. %
``Computing Isomorphisms and Embeddings of Finite Fields''. %
\emph{Mathematics of Computation}~\cite{brieulle2018computing}.
\end{quote}
On the complexity and the practical performance of isomorphism
algorithms for finite fields. %
For Chapter~\ref{cha:crypto},
\begin{quote}
Luca De Feo, David Jao and Jérôme Plût. %
``Towards Quantum-Resistant Cryptosystems from Supersingular
Elliptic Curve Isogenies''. %
\emph{Journal of Mathematical Cryptology}~\cite{defeo+jao+plut12}.
\end{quote}
introducing the key exchange protocol SIDH, and
\begin{quote}
Luca De Feo, Jean Kieffer and Benjamin Smith. %
``Towards practical key exchange from ordinary isogeny graphs''. %
\emph{Proceedings of AsiaCrypt 2018}~\cite{10.1007/978-3-030-03332-3_14}.
\end{quote}
on improvements to the Couveignes--Rostovtsev--Stolbunov key exchange
protocol. %
Finally, this document also wants to serve as a snapshot of the
current state of the research in the various areas it touches. %
For this reason, each chapter is terminated by a section called
``Perspectives'', pointing to interesting related research topics,
both easy and hard.
I hope that you will appreciate the topics I have selected, enjoy the
flow of the presentation, and forgive me for omissions and
approximations.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\mainmatter
\thispagestyle{empty}
\begin{otherlanguage}{french}
\epigraph{\it Vous avez poussé votre œuvre aussi loin que vous le
permettait la science terrestre. Mais vous ne savez pas tout, vous
n'avez pas tout vu. Laissez-moi donc vous dire, monsieur le
professeur, que vous ne regretterez pas le temps passé à mon
bord. Vous allez voyager dans le pays des
merveilles. L'étonnement, la stupéfaction seront probablement
l'état habituel de votre esprit. Vous ne vous blaserez pas
facilement sur le spectacle incessamment offert à vos yeux.}{---
Jules Verne,\\Vingt mille lieues sous les mers}
\epigraph{\it Je voudrais avoir vu ce que nul homme n'a vu encore,
quand je devrais payer de ma vie cet insatiable besoin
d'apprendre! Qu'ai-je découvert jusqu'ici? Rien, ou presque rien,
puisque nous n'avons encore parcourur que six mille lieues à
travers le Pacifique!}{--- Jules Verne,\\Vingt mille lieues sous
les mers}
\epigraph{\it Pour moi l'étude est un secours, une diversion
puissante, un entraînement, une passion qui peut me faire tout
oublier. Comme vous, je suis homme à vivre ignoré, obscur, dans le
fragile espoir de léguer un jour à l'avenir le résultar de mes
travaux, au moyen d'un appareil hypothétique confié au hasard des
flots et des vents.}{--- Jules Verne,\\Vingt mille lieues sous
les mers}
\end{otherlanguage}
\chapart{art/20000leagues-color}
\chapter{Bathymetry}
\label{cha:tate}
\epigraph{\it Ce fut Tasman qui découvrit ce groupe en 1643, l'année
où Torricelli inventait le baromètre, et où Louis XIV montait sur le
trône. Je laisse à penser lequel de ces faits fut le plus utile à
l'humanité.}{--- Jules Verne,\\Vingt mille lieues sous les mers}
\noindent What is an isogeny, anyway? %
Despite the imposing sounding name, an isogeny is a pretty simple
concept: a morphism between two elliptic curves, preserving their
algebraic structure (both as a group and as a variety). %
Isogenies of abelian varieties have been studied since the beginning
of the 19th century, by the likes of Abel, Jacobi, Weierstrass,
Riemann, Picard, etc. %
According to Wikipedia%
\footnote{See \url{https://en.wikipedia.org/wiki/Isogeny}. No source
is given, though.}, %
the name ``isogeny'' was introduced in the 20th century by André Weil,
to avoid confusion with ``isomorphism''. %
After the \emph{schematic} revolution in algebraic geometry, major
contributions to the theory of abelian varieties and isogenies were
made by Cartier, Serre, Tate, and, obviously, Grothendieck. %
With the development of computer algebra, people grew increasingly
interested in effective methods, with important contributions being
made by Schoof, Atkin, Elkies, Satoh, Kedlaya, and many others. %
In recent years, isogenies have found various applications in
cryptology, sparking a remarkable wave of results on their algorithmic
properties. %
In this chapter, we shall take the algorithmic point of view, and
discuss algorithms to compute and classify isogenies of elliptic
curves. %
The focal point of interest will be the \emph{Frobenius endomorphism}
of an elliptic curve defined over a finite field. %
We will first learn how it governs the properties of isogenies ``in
the neighborhood'' of an elliptic curve. %
We will then define \emph{isogeny graphs}---graphs whose vertices are
elliptic curves and whose edges are isogenies---, and, not unlike a
biologist, set on a mission to classify them. %
Isogeny graphs inherit from an \emph{infinite tree} structure, but
over a finite field they must ``fold'' in order to fit into a finite
space. %
Thanks to a celebrated theorem of Tate, we will discover that the
Frobenius endomorphism, much like the DNA of a living creature,
determines the ``folding'' of the isogeny graph. %
Even knowing the structure of an isogeny graph, it is not always easy
to navigate it. %
An \emph{effective version} of Tate's theorem will provide us with a
tool to ``probe the depth'' of a curve inside an isogeny graph. %
Armed with our brand new tool, we will conclude the chapter by
presenting the algorithm with the best known complexity to compute an
isogeny between two given elliptic curves. %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Isogenies}
An isogeny is a non-constant algebraic map between elliptic curves,
preserving the point at infinity. %
An isogeny is also a surjective group morphism of elliptic curves. %
It turns out these definitions are equivalent, but, before getting
these pages drenched in more properties and theorems, let's have a
look at an example.
The map $ϕ$ from the elliptic curve $y^2=x^3+x$ to $y^2=x^3-4x$
defined by
\begin{equation}
\label{eq:isog-example}
\begin{aligned}
ϕ(x,y) &= \left(\frac{x^2+1}{x},y\frac{x^2-1}{x^2}\right),\\
ϕ(0,0) &= ϕ(\O) = \O
\end{aligned}
\end{equation}
is an isogeny. %
As an algebraic map it has degree $2$, which implies that it is a
two-to-one map, as it can be inferred from the polynomial degrees. %
\begin{figure}
\centering
\begin{tikzpicture}[x=0.03\textwidth,y=0.03\textwidth]
\begin{scope}
\node[anchor=center] at (0,7) {$E \;:\; y^2 = x^3 + x$};
\draw[thin,gray] (0,-6) -- (0,6);
\draw[thin,gray] (-6,0) -- (6,0);
\foreach \x/\y in {0/0,5/3,-4/3,-3/5,-2/1,-1/3} {
\draw[blue,fill] (\x,\y) circle (0.2) node(E_\x_\y){}
(\x,-\y) circle (0.2) node(E_\x_-\y){};
}
\end{scope}
\draw[black!10!white,thick] (8,-7) -- +(0,14);
\begin{scope}[shift={(16,0)}]
\node at (0,7) {$E' \;:\; y^2 = x^3 - 4x$};
\draw[thin,gray] (0,-6) -- (0,6);
\draw[thin,gray] (-6,0) -- (6,0);
\foreach \x/\y in {0/0,2/0,3/2,4/2,6/4,-2/0,-1/5} {
\draw[color=blue,fill] (\x,\y) circle (0.2) node(F_\x_\y){}
(\x,-\y) circle (0.2) node(F_\x_-\y){};
}
\end{scope}
\begin{scope}[color=red,-latex,dashed]
\path
(E_5_3) edge (F_3_2)
(E_-4_3) edge (F_4_-2)
(E_-3_5) edge (F_4_2)
(E_-2_1) edge (F_3_-2)
(E_-1_3) edge (F_-2_0);
\path
(E_5_-3) edge (F_3_-2)
(E_-4_-3) edge (F_4_2)
(E_-3_-5) edge (F_4_-2)
(E_-2_-1) edge (F_3_2)
(E_-1_-3) edge (F_-2_0);
\end{scope}
\end{tikzpicture}
\caption{The isogeny $(x,y) \mapsto \bigl((x^2+1)/x,\;y(x^2-1)/x^2\bigr)$,
as a map between curves defined over $\F_{11}$.}
\label{fig:isog-example}
\end{figure}
What does an isogeny ``look like''? %
Drawing the above one in $\R^2$ would look rather messy, but an
isogeny defined over the rationals is still an isogeny if we reduce
modulo a prime $p$. %
Figure~\ref{fig:isog-example} plots the action of the
isogeny~\eqref{eq:isog-example} on the image of the curves in
$\F_{11}$. %
A red arrow indicates that a point of the left curve is sent onto a
point on the right curve; the action on the point in $(0,0)$, going to
the point at infinity, is not shown. %
We observe a symmetry with respect to the $x$-axis, a consequence of
the fact that $ϕ$ is a group morphism; and, by looking closer, we may
also notice that collinear points are sent to collinear points, also a
necessity for a group morphism. %
Something strikes us, though: the map looks by no means surjective! %
This is because, when we think of isogenies, we think of them as
geometric objects, acting on the extension of the curves to the
algebraic closure. %
This is not dissimilar from the way power-by-$n$ maps act on the
multiplicative group $k^×$ of a field $k$: the map $x↦x^2$, for
example, is a two-to-one (algebraic) group morphism on
$\F_{11}^\times$, and those elements that have no preimage, the
non-squares, will have exactly two square roots in $\F_{11^2}$, and so
on. %
In much the same way, in an algebraic closure $\bar{\F}_{11}$ of
$\F_{11}$, the isogeny $ϕ$ becomes surjective and every point gains
exactly two antecedents. %
This analogy is more profound that it may seem, and shall bear its
fruits in Chapter~\ref{cha:fpbar}.
For elliptic curves defined over a field of characteristic $p>0$,
there is another kind of isogeny. %
Let $E:y^2=x^3+ax+b$ be an elliptic curve, let $q$ be a power of $p$, and let
$E^{(q)}:y^2=x^3+a^qx+b^q$. %
The isogeny $π_q:E→ E^{(q)}$ defined by
\begin{equation}
\begin{aligned}
π_q(x,y) &= (x^q,y^q),\\
π_q(\O) &= \O
\end{aligned}
\end{equation}
is a \emph{purely inseparable} isogeny of degree $q$. %
We call $π_q$ a \emph{Frobenius isogeny}. %
Despite being of degree $q$, Frobenius isogenies have trivial kernel,
and are one-to-one over finite fields (and other perfect fields). %
% Plotting the action of $π_p$ on the curve of
% Figure~\ref{fig:isog-example} would not be very telling, since in this
% case $E^{(p)}=E$ and the map acts like the identity on $\F_{11}$. %
% However $π_p$ is an important map, called the \emph{Frobenius
% endomorphism} of $E$, and often denoted simply by $π$. %
% It permutes the points of $E/\bar{\F}_{11}$ in a non trivial way,
% reflecting the action of the Galois group of $\bar{\F}_{11}/\F_{11}$
% on $E$. %
Any isogeny can be decomposed as a product of a Frobenius isogeny and
a \emph{separable} isogeny:
\begin{equation*}
\begin{tikzpicture}
\node(E) at (0,0) {$E$};
\node(Ep) at (2,0) {$E^{(q)}$};
\node(E') at (4,0) {$E'$};
\draw[->,auto] (E) edge node{\small $π_q$} (Ep)
(Ep) edge node{\small $ϕ_s$} (E')
(E) edge[bend right=20] node[below]{\small $ϕ$} (E');
\end{tikzpicture}
\end{equation*}
Computing this decomposition is also easy given rational functions for
$ϕ$: simply factor out the powers of $p$ from the polynomials. %
For these reasons we shall be mostly concerned with separable
isogenies and their computations.
The most unique property of separable isogenies is that they are
entirely determined by their kernel. %
\begin{proposition}
Let $E$ be an elliptic curve defined over an algebraically closed
field, and let $G$ be a finite subgroup of $E$. %
There is a curve $E'$, and a separable isogeny $ϕ$, such that
$\ker ϕ=G$ and $ϕ:E→ E'$. %
Furthermore, $E'$ and $ϕ$ are unique up to composition with an
isomorphism $E'≃E''$. %
\end{proposition}
Said otherwise, for any finite subgroup $G⊂E$, we have an exact
sequence of algebraic groups
\begin{equation*}
0 → G → E \overset{ϕ}{→} E' → 0.
\end{equation*}
Uniqueness up to isomorphisms justifies the notation $E/G$ for the
isomorphism class of the image curve $E'$. %
Now, it would be useful if we could find a way to define a canonical
representative inside $E/G$. %
It turns out there is a pretty natural way to define one.
\begin{definition}[Normalized isogeny]
Let $E,E'$ be two elliptic curves, $ω_E,ω_E'$ their \emph{invariant
differential}, $ϕ:E→ E'$ a separable isogeny and
$ϕ^*:Ω_{E'}→ Ω_E$ its \emph{pullback}. %
We say that $ϕ$ is \emph{normalized} if its pullback preserves the
invariant differentials, i.e., $ϕ^*(ω_{E'})=ω_E$. %
\end{definition}
Since $ϕ$ is separable, $ϕ^*$ is an isomorphism of vector spaces of
dimension 1. %
Said otherwise, if $ϕ$ is not normalized, then it is only ``off'' by a
(non-zero) constant $ϕ^*(ω_{E'})=cω_E$, and we can easily normalize
$ϕ$ by a change of variables. %
This also shows that, for fixed $E$ and $\ker ϕ$, the normalized
isogeny is unique, and justifies abusing the notation $E/G$ to mean
the image of the normalized isogeny with kernel $G$.\footnote{Note
that this convention is not universal in the literature, as there
are other useful choices for a canonical representative of $E/G$.}
Conversely, since any non-constant morphism of elliptic curves
necessarily has finite kernel, we have a canonical bijection between
the finite subgroups of a curve $E$ and the normalized isogenies with
domain $E$. %
This correspondence is rich in consequences: it is an easy exercise to
prove the following useful facts. %
\begin{corollary}\
\begin{enumerate}
\item Any isogeny of elliptic curves can be decomposed as a product
of prime degree isogenies.
\item Let $E$ be defined over an algebraically closed field $k$, let
$ℓ$ be a prime different from the characteristic of $k$, then
there are exactly $ℓ+1$ normalized isogenies of degree $ℓ$ with
domain $E$.
\end{enumerate}
\end{corollary}
Slightly more work is required to prove the following,
fundamental, theorem (the difficulty comes essentially from the
inseparable part, see~\cite[III.6.1]{Sil} for a
detailed proof).
\begin{theorem}[Dual isogeny theorem]
Let $ϕ:E→ E'$ be an isogeny of degree $m$. %
There is a unique isogeny $\hat{ϕ}:E'→ E$ such that
\[\hat{ϕ}∘ϕ = [m]_E, \quad ϕ∘\hat{ϕ} = [m]_{E'}.\] %
$\hat{ϕ}$ is called the \emph{dual isogeny of $ϕ$}; it has the
following properties:
\begin{enumerate}
\item $\hat{ϕ}$ has degree $m$;
\item $\hat{ϕ}$ is defined over $k$ if and only if $ϕ$ is;
\item $\widehat{ψ∘ϕ} = \hat{ϕ}∘\hat{ψ}$ for any isogeny $ψ:E'→ E''$;
\item $\widehat{ψ+ϕ} = \hat{ψ} + \hat{ϕ}$ for any isogeny $ψ:E→ E'$;
\item $\deg ϕ = \deg\hat{ϕ}$;
\item $\hat{\hat{ϕ}} = ϕ$.
\end{enumerate}
\end{theorem}
Note that, since $[m]^*(ω)=mω$, if $ϕ$ is normalized so that
$ϕ^*ω'=ω$, $\hat{ϕ}$ almost never is. %
The computational counterpart to the kernel-isogeny correspondence is
given by Vélu's much celebrated formulas. %
\begin{proposition}[{Vélu~\cite{velu71}}]
\label{th:velu}
Let $E:y^2=x^3+ax+b$ be an elliptic curve defined over a field $k$,
and let $G⊂E(\bar{k})$ be a finite subgroup. %
The normalized separable isogeny $ϕ:E→ E/G$, of kernel $G$, can be
written as
\begin{equation*}
ϕ(P) = \left(
x(P) + \sum_{Q∈G\setminus\{\O\}}x(P+Q)-x(Q),\\
y(P) + \sum_{Q∈G\setminus\{\O\}}y(P+Q)-y(Q)
\right);
\end{equation*} %
and the curve $E/G$ has equation $y^2=x^3+a'x+b'$, where
\begin{align*}
a' &= a - 5\sum_{Q∈G\setminus\{\O\}}(3x(Q)^2+a),\\
b' &= b - 7\sum_{Q∈G\setminus\{\O\}}(5x(Q)^3+3ax(Q)+2b).
\end{align*}
\end{proposition}
But how ``good'' are Vélu's formulas from a computational
perspective? %
``Pretty good'', is the message we want to convey, but, in order to
understand the question, we need to discuss \emph{rationality}. %
Let $E$ be defined over a field $k$ with algebraic closure
$\bar{k}$. %
We say that an isogeny $ϕ:E→ E'$ is \emph{defined over $k$}, or
\emph{$k$-rational}, if $ϕ$ is invariant under the action of the
Galois group of $\bar{k}/k$. %
This is equivalent to $ϕ$ being defined by rational maps with
coefficients in $k$, and implies\footnote{The converse is only true up
to \emph{twist}.} that $\ker ϕ$ is stable under $\Gal(\bar{k}/k)$. %
It implies that $E'$ is defined over $k$, but the converse is not
true. %
In the rest of this work, when we say ``an isogeny'', we really mean
``an isogeny defined over the base field'', unless specified
otherwise. %
What are the input and output sizes of Vélu's formulas, if we
restrict to $k$-rational isogenies? %
The output is a pair of rational fractions, and, letting $ℓ=\#G$, it
is not too difficult to see that they have $O(ℓ)$ coefficients. %
The input is the kernel $G$, and, since it is finite, it must be
generated by at most two elements. %
However $G$ is only stable under $\Gal(\bar{k}/k)$, implying that its
elements are defined in an (abelian) extension of degree in
$O(ℓ)$. %
Thus, in general, $G$ is represented by $O(\ell)$ coefficients of $k$. %
Now, if we apply mindlessly Vélu's formulas, we need at least $O(ℓ^2)$
coefficients in $k$ to write down all the elements of $G$. %
A better approach is to represent $G$ by a polynomial with
coefficients in $k$ that vanishes on all $P∈G$, for example
\begin{equation*}
h_G(x) = \prod_{P∈G\setminus\{\O\}} (x - x(P)).
\end{equation*}
The polynomial $h_G$ is called the \emph{kernel
polynomial}\footnote{Other works prefer defining the kernel
polynomial as the square root of $h_G$, however this adds some
complications when $\#G$ is even.} of $G$, and has coefficients in
$k$ if and only if $ϕ$ is $k$-rational; it can be computed from the
generators of $G$ in only $\tildO(ℓ)$ operations over $k$. %
Following Kohel~\cite{kohel}, we can rewrite Vélu's formulas in terms
of $h_G$, then, their evaluation can also be accomplished in
$\tildO(ℓ)$ operations.
In conclusion, we see that Vélu's formulas make the kernel/isogeny
correspondence explicit, using a quasi-optimal number of operations in
general. %
This will be crucial when we will study isogeny-based cryptosystems in
Chapter~\ref{cha:crypto}, however, we will encounter there some
examples where the cost of evaluating an isogeny is exponentially
lower than that of Vélu's formulas. %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{The explicit isogeny and other problems}
When it comes to computations, Vélu's formulas are only part of the
story: how do we find a rational kernel $G$ in the first place?
Elkies, while working on point counting~\cite{elkies92,elkies98},
famously baptized this the \emph{explicit isogeny problem}.
\begin{problem}[Explicit isogeny problem]
\label{prob:expl-isog}
Let $E$ be an elliptic curve, and let $ℓ$ be an integer. %
Find, if it exists, an isogeny of degree $ℓ$ with domain $E$.
\end{problem}
A slightly modified version of the same problem is often found in the
literature.
\begin{problem}
\label{prob:expl-isog-2}
Let $E$ and $E'$ be two elliptic curves, and $ℓ$ an integer. %
Decide whether there exists an isogeny $ϕ:E→ E'$ of degree $ℓ$,
and compute its kernel.
\end{problem}
The many variants of the explicit isogeny problem have kept the
research community busy for more than twenty years, and still do
today. %
Let's have a closer look at it. %
\paragraph{Elkies' algorithm.}
For a start, it should be noticed that both variants are by no means
``hard''. %
Indeed, we have explicit formulas for adding points on a curve $E$,
from which we can deduce an explicit formula for multiplying points on
$E$ by any scalar $ℓ∈ℤ$. %
Said otherwise, we have an explicit formula for the
multiplication-by-$ℓ$ isogeny, and, by reading its denominators, we
can deduce its kernel polynomial $h_ℓ$.\footnote{Up to a constant,
$h_ℓ$ is the square of $ψ_ℓ$, the \emph{$ℓ$-th division polynomial}.
See~\cite[III.4]{blake+seroussi+smart} for explicit formulas.} %
Let us assume for simplicity that $ℓ$ is prime and different from the
characteristic, then we know there are at most $ℓ+1$ normalized
isogenies of degree $ℓ$ from $E$. %
Factoring $h_ℓ$ over the field of definition $k$ of $E$ lets us
compute all possible kernel polynomials of order $ℓ$, and thus all
possible isogenies. %
At most $ℓ+1$ applications of Vélu's formula will then give the answer
to either of the two variants of the explicit isogeny problem. %
Since $E[ℓ]≃(ℤ/ℓℤ)^2$ over the algebraic closure, $h_ℓ$ has degree
$ℓ^2-1$, thus this algorithm costs no more than factoring a degree
$O(ℓ^2)$ polynomial in $k[x]$. %
We see that the matter is not solving the explicit isogeny
problem. The matter is solving it fast!
An interesting case, and the one Elkies was originally interested in,
is when the curves are defined over a finite field. %
Let us relax the problem a bit, and see what can be told about it. %
Decisional versions, first: two elliptic curves are said to be
\emph{isogenous} if there exists an isogeny connecting them (this is
an equivalence relation, thanks to the dual isogeny theorem).
\begin{problem}
\label{prob:isogenous}
Let $E,E'$ be two elliptic curves defined over a finite field
$\F_q$, decide whether they are isogenous.
\end{problem}
Tate~\cite[Th.~1(c)]{Tate} famously showed\footnote{Tate, citing
Mumford, also points out that, for the case of elliptic curves, this
is an easy consequence of the much celebrated work of
Deuring~\cite{deuring41}.} that $E$ and $E'$ are isogenous over
$\F_q$ if and only if $\#E(\F_q)=\#E'(\F_q)$. %
Schoof's point counting algorithm~\cite{schoof85,schoof95} completely
settles the problem by computing the orders of $E$ and $E'$ in
polynomial time in $\log q$. %
However, when we add a degree constraint on the isogeny, the problem immediately
becomes harder, even for finite fields. %
\begin{problem}
\label{prob:ell-isogenous}
Let $E,E'$ be two elliptic curves, and $ℓ$ be an integer. Decide
whether they are $ℓ$-isogenous.
\end{problem}
The \emph{modular polynomial} helps solve this problem. %
Assuming $ℓ$ is prime, the $ℓ$-th modular polynomial, denoted by
$Φ_ℓ(x,y)$, is a bivariate polynomial with coefficients in $ℤ$,
symmetric in $x$ and $y$, of degree $ℓ+1$ in each variable, with the
following property: two elliptic curves $E,E'$ are $ℓ$-isogenous if
and only if $Φ_ℓ(j(E),j(E'))=Φ_ℓ(j(E'),j(E))=0$. %
We stress that the definition of $Φ_ℓ$ is independent of the base
field. %
Given that $Φ_ℓ$ has $O(ℓ^2)$ coefficients (and rather large ones),
using it to decide the explicit isogeny problem is asymptotically only
slightly better than factoring the division polynomial; it is however
usually considerably more efficient in practice, especially when
tables of modular polynomials are precomputed, as is the case in
computer algebra systems such as Pari~\cite{Pari}, Magma~\cite{MAGMA},
or SageMath~\cite{Sage}. %
The modular polynomial can also be used to produce all isogenous
elliptic curves, up to isomorphism, to a given curve: simply plug
$j(E)$ in $Φ_ℓ$, then factor $Φ_ℓ(j(E),y)$ to find the isogenous
$j$-invariants. %
Elkies used this approach to reduce the explicit isogeny problem to
Problem~\ref{prob:expl-isog-2}, but he managed to extract even more
information from $Φ_ℓ$: he showed how to obtain a \emph{normalized
equation} for the image curve.
\begin{theorem}[{\cite{elkies92,schoof95,elkies98}}]
Let $E:y^2=x^3+ax+b$ be an elliptic curve, let $j$ be its
$j$-invariant and let $j'$ be such that $Φ_ℓ(j,j')=0$. %
Assume that $(∂Φ_ℓ/∂y)(j,j')≠0$, and define
\begin{equation}
\label{eq:elkies-modpol}
\begin{aligned}
λ &= \frac{-18}{ℓ}\frac{b}{a}\frac{\frac{∂Φ_ℓ}{∂x}(j,j')}{\frac{∂Φ_ℓ}{∂y}(j,j')}j,\\
a' &= -\frac{1}{48}\frac{λ^2}{j'(j'-1728)}\frac{1}{ℓ^4},\\
b' &= -\frac{1}{864}\frac{λ^3}{(j')^2(j'-1728)}\frac{1}{ℓ^6}.
\end{aligned}
\end{equation}
Then there is a normalized isogeny of degree $ℓ$ from $E$ to
$E':y^2=x^3+a'x+b'$.
\end{theorem}
Elkies' theorem prompts us to define a weaker variant of the explicit
isogeny problem.
\begin{problem}[Inverse Vélu problem\footnote{The name is ours and
not attested in the literature.}]
Let $E,E'$ be elliptic curves such that there exists a normalized
isogeny $ϕ:E→ E'$ of degree $ℓ$. %
Compute the kernel of $ϕ$.
\end{problem}
Unsurprisingly, Elkies also gave the solution to this problem
in~\cite{elkies92,elkies98}. %
He observed that the rational fractions defining $ϕ$ are related by a
differential equation, involving only the coefficients of $E$ and
$E'$. %
Solving the differential equation gives the rational fractions, and
thus the kernel. %
This gives a method to solve the inverse Vélu problem in $O(ℓ^2)$
operations over the base field, or even $\tildO(ℓ)$ using computer
algebra techniques as suggested by Bostan, Morain, Salvy and
Schost~\cite{bostan+morain+salvy+schost08}. %
We have, essentially, sketched the computation involved in the
Schoof-Elkies-Atkin (SEA) point counting algorithm~\cite{schoof95},
for those that are called \emph{Elkies primes} (more on these
later). %
However, the last part of Elkies' algorithm, the solution to the
inverse Vélu problem, only works when the characteristic is $0$ or
\emph{large enough}. %
While this is good enough for counting points of elliptic curves
defined over a prime field $\F_p$, it fails, for example, over binary
fields. %
\paragraph{Couveignes' algorithm.}
After Elkies, others set out to solve the explicit isogeny problem in
small characteristic. %
While Elkies' method is grounded in complex analysis, and thus
naturally works in characteristic $0$,
Couveignes~\cite{couveignes94,couveignes96} and
Lercier~\cite{lercier96} introduced ``more algebraic'' methods, that
only work over finite fields. %
The one that shall interest us here is Couveignes' second method: a
strikingly simple idea to solve Problem~\ref{prob:expl-isog-2}
directly. %
It is based on the observation that any isogeny $ϕ:E→ E'$ must
preserve Sylow subgroups:
\begin{equation}
ϕ(E[r^k]) \subseteq E'[r^k] \quad\text{for any prime $r$ and $k≥0$},
\end{equation}
with equality if $r$ does not divide $\deg ϕ$. %
If $E/\F_{p^n}$ is an ordinary curve, $E[p^k]≃ℤ/p^kℤ$ has a
particularly simple structure. %
The idea is to compute $E[p^k]$ and $E'[p^k]$ for $k$ large enough
(precisely, $p^k\sim 4\deg ϕ$), make a guess for the exact image of
one group into the other, and \emph{interpolate} the isogeny. %
If the guess was right, the computed isogeny can be verified through
Vélu's formulas; if not a new guess is made. %
Given that the $p^k$-torsion groups are cyclic, at most $φ(p^k)$
different guesses must be made. %
Despite its simplicity, Couveignes' algorithm requires some heavy
computer algebra artillery to achieve a decent complexity, but with
some effort it can be made to run in $\tildO(ℓ^2p^3)$
operations~\cite{couveignes00,df+schost09,df10}. %
However, the polynomial dependency in $p$ is a serious handicap,
quickly making the algorithm unusable as the characteristic grows. %
Couveignes' other algorithm is affected by the same problem, whereas
Lercier's algorithm only works when $p=2$.
With the introduction of $p$-adic alternatives to Schoof's point
counting
algorithm~\cite{satoh00,kedlaya01,kedlaya04,lauder04,10.2307/24522768},
interest in solutions to the explicit isogeny problem limited to such
small characteristic started to fade. %
Later, Lercier and Sirvent~\cite{lercier+sirvent08} explained how to
extend Elkies' algorithm to finite fields of any characteristic by
lifting the explicit isogeny problem to a $p$-adic field. %
Their algorithm only has a logarithmic dependency in the
characteristic, and gracefully degrades to Elkies' algorithm when $p$
becomes large enough. %
Said otherwise, Lercier and Sirvent effectively rendered all previous
algorithms obsolete! %
Incidentally, this coincides with the beginning of my career in
research, one that started off by desperately trying to beat the
cycles out of an algorithm that would be made obsolete before the end of
my first year as a PhD student.%
\footnote{I can only imagine FM's cold sweats
when Lercier and Sirvent published their algorithm. I did not
understand at the time. I do now.}
Nevertheless, Couveignes' algorithm is still a great source of
inspiration, with many ramifications that we shall explore in the rest
of this work. %
By the end of this chapter it will be clear that its algebraic nature,
deeply related to Tate's isogeny theorem, has more to offer than what
may appear at first glance. %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{The neighborhood}
From now on, $\F_q$ will be a finite field of characteristic $p$, and
all elliptic curves and isogenies will be defined over it, unless
stated otherwise. %
We want to explore the ``neighborhood'' of $E/\F_q$, i.e., given a
prime $ℓ$, how many $ℓ$-isogenous curves to $E$ are there? What
properties do they have?
Fortunately, we have a Swiss-army-knife to answer these questions. %
The \emph{Frobenius endomorphism} is the map
\begin{equation*}
\begin{aligned}
π : E &→ E,\\
(x,y) &↦ (x^q,y^q).
\end{aligned}
\end{equation*}
Hasse's well known theorem states that $π$, as an element of the
endomorphism ring $\End(E)$, satisfies a quadratic equation with
integer coefficients $π^2 + q = tπ$, where $t$ is called the
\emph{trace} of $π$. %
Hasse also proved that $Δ_π=t^2-4q≤0$, with equality happening only if
$E$ is supersingular. %
$Δ_π$ is called the \emph{discriminant of $π$}. %
An isogeny $ϕ:E→E/G$ is $\F_q$-rational if and only if $π(G)=G$, which
suggests looking at the restriction of $π$ to $E[ℓ]$. %
Assume $ℓ≠p$, then $E[ℓ]$ is a group of rank $2$ and $π$ acts on it
like an element of $\GL_2(\F_ℓ)$, up to conjugation. %