Blog

# Why elliptic curves make sense

The way in which we can add points on an elliptic curve is often presented in a way that doesn't explain at all why adding points in that way makes sense. Adding points can roughly be summarized like this:

1. Draw a line through the two points that you want to add together
2. Find the third place where this line intersects the elliptic curve
3. Reflect that point across the x-axis and call the resulting point the sum of the first two points

Doing this actually makes perfect sense, but seeing why requires looking at a particular elliptic function called the Weierstrass ℘-function.

An elliptic function is a function of a complex variable that's doubly periodic: it has two periods instead of one. This means that we have both

f(z ) = f(z + ω1)

and

f(z) = f(z + ω2)

for complex numbers ω1 and ω2

It turns out that the function defined by

℘(z ) = z-2 + Σ [ (z – ω)-2 – ω-2]

where the sum is over all ω = n1ω1 + n2ω2 not equal to zero, is an elliptic function with periods ω1 and ω2, and this particular elliptic function is called the Weierstrass ℘-function.

If we write

Gk = Σ ω-2k

where the sum is over all ω = n1ω1 + n2ω2 not equal to zero, we find that we can write

℘(z) = z-2 + 3 G2 z2 + 5 G3 z4 + …

and

℘′(z) = -2 z-3 + 6 G2 z + 20 G3 z3 + …

and that we can use these to find that we have that

℘′(z)2 = ℘(z)3 – 60 G2 ℘(z) – 140 G3

For historical reasons it's traditional to write

g2 = 60 G2

and

g3 = 140 G3

so that we have that

℘′(z)2 = ℘(z)3g2 ℘(z) – g3

If we write

y = ℘′(z)

and

x = ℘(z)

we then have

y2 = 4 x3g2 x – g3

which is just a quick change of variable away from the form that we usually see for an elliptic curve:

y2 = x3 + a x + b

So it looks like we can parametrize an elliptic curve using the ℘-function just like we can parametrize a circle

x2 + y2 = 1

as

cos2t + sin2t = 1

using the usual trigonometric functions.

And just like understanding the properties of the trig functions tells us how to understand what's happening on a circle, understanding the ℘-function tells us how to understand what's happening on an elliptic curve. Like the addition of points.

More on that tomorrow.