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:
- Draw a line through the two points that you want to add together
- Find the third place where this line intersects the elliptic curve
- 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)
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 + …
℘′(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
g3 = 140 G3
so that we have that
℘′(z)2 = ℘(z)3 – g2 ℘(z) – g3
If we write
y = ℘′(z)
x = ℘(z)
we then have
y2 = 4 x3 – g2 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
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.