Complex Multiplication
The CM (Complex Multiplication) method of generating an elliptic curve starts with an integer equation
where is prime. Then let be any root of the Hilbert polynomial modulo . If or we wind up with special curves (, respectively) which are discussed elsewhere.
Set (modulo ). Then the curve
has -invariant for any nonzero . Let us first pick . Then this curve has order or . Choose a random point and multiply by and check if the result is . If not, then the curve must have order , in which case we pick to be some quadratic nonresidue in , and we now have a curve with order . Thus using the above equation and a Hilbert polynomial it is easy to write down a curve with a certain order over a certain field.
Example
Let . Let be a prime and suppose is also prime for some . Take . Then the CM equation becomes
which has the solution . It turns out that , so set (mod ) and write down the curve
Check if this has order . If not, take the twist of this curve instead.
Now we have a curve with order . We shall see later that since divides , we can implement a pairing for this curve over . There is no need to extend at any time. However, many optimization cannot be applied, such as denominator elimination, and simplifying the formula for the Tate pairing.