# Building blocks to understanding Elliptic Curves

I'm interested in understanding the theory behind and around elliptic curves. I have a basic idea what an elliptic curve is in a practical sense and how to use a provided curve for cryptographic purposes, but I'm struggling to understand several papers about generating curves with certain properties.

My ultimate goal is to be able to generate elliptic curves in different prime fields with whatever properties are required to plausibly support the exponential-hardness decisional Diffie-Hellman problem.

Some papers I'm trying to read are:

I've also tried to read many other papers on the on generating elliptic curves, point counting, and calculating various properties of elliptic curves, and I struggle with the same problem in all of them:

I'm not at all knowledgeable about group theory, class polynomials of different types, endomorphisms, endomorphism rings, imaginary quadratic orders, the discriminat of different constructs, what $h(D)$ is in the context of the class polynomial $H_D(X)$, and many other things that seem required to understand such papers.

What are some introductory papers, books, or other resources that could familiarize me with these (and other) building blocks I need in order to understand these more advanced papers?

Edit 1: I understand the building blocks along with elliptic curves themselves span several large areas of mathematics and that it will take serious effort and significant time to learn. This roadblock is something I keep running into when trying to read interesting-sounding papers about other topics I'm interested in, so I'm willing to invest the effort and time required to learn and understand these topics.

Disclaimer: I don't consider myself a mathematician, but I have some background in it. I am currently working on topics related to elliptic-curve cryptography, so I hope my perspective might be useful. Since time is limited, there is the eternal question of how far I should go into learning the theory.

I don't mean to sound discouraging, but I would say you are setting a very steep goal for yourself. My university spent a whole semester on group theory, and another on field theory. Then one could spend another semester one algebraic number theory, and another one on elliptic curves. My point being that all of this cannot be expected to be picked up in a week (or a month), so I would take serious consideration before starting this endeavour.

Having that said, the theory of complex multiplication is one of the more complex (heh) parts of elliptic curve theory used in cryptography. Building up to it will definitely improve your understanding in many areas, and once you're there elliptic-curve crypto should not have many secrets for you any more. To end constructively, here is I would go about this, which is learning the theory thoroughly but while keeping cryptography in mind.

1. Given that you apparently do not know group theory, I would start by picking some of this up. This is used in almost every area of cryptography, and will be very helpful to aid understanding. The same is true for field theory, in particular finite fields. It has been quite a time since I used some books for this, and I don't really have an opinion on which one to use. Perhaps someone can help out here.
2. For a good introduction to elliptic curves, my favorite is Mathematics of Public Key Cryptography, by Steven Galbraith. He is a mathematician who has done a lot of work on elliptic-curve cryptography. I suppose a mathematician may complain it does not cover enough, while a computer scientist may complain it goes into way too much detail. As a cryptographer, I think it finds a perfect middle ground. A big plus: a lot of it is available free online.
3. The important part (for you) which is not covered in the previous book, is complex multiplication. For this I would suggest having a look at these lecture notes by Andrew Sutherland. Again, he is a mathematician who has done work related to elliptic-curve cryptography. This is a graduate course on elliptic curves taught at MIT. I find that his approach is very algorithmic, which makes a lot of arguments very concrete and therefore more easily accessible. Note that the Hilbert class polynomial is not defined until the 21st lecture, kind of showing that it takes some time to get there.

Somewhere along the way I would pick up a copy of Rational points on Elliptic Curves by Silverman and Tate and The Arithmetic of Elliptic Curves by Silverman, since they are classics and are great.

In any case, make sure to enjoy the ride!