We want to do some function similar to multiplication of numbers, but using an elliptic curve. We claim that points of an elliptic curve is a good substitute for the “numbers”. The idea is to draw straight lines on top of the curve.
Formulation
Suppose we have an elliptic curve
similar to the one below:

Now we draw a straight line on it to find its intersection. How many points are we going to find?
There seems to be many different cases. For vertical lines on the left side of the curve, there will be no intersection at all. If we move towards the elliptic curve, we eventually see one or two intersections. If we instead rotate clockwise the vertical line with no intersection, we immediately get one intersection somewhere with very large (because the square root of the cubic function is still a curve of 1.5-th power in
, which grows faster than any straight line that is not vertical).

Then we continue to turn it, and it eventually hit the close component (the somewhat circular part of the curve) and get a second intersection. Continuing to rotate the line, we get 3 intersections.

There can never be more than 3 intersections, because we can easily eliminate in the simultaneous equations of the cubic curve and the straight line. It gives a cubic equation, so we have at most 3
‘s which satisfies the simultaneous equations. Putting it back to the straight line, each gives a single
.
But that is still too many cases. We can instead say that the curve and the line meet at either 1 or 3 points, using the following two tricks:
- We count multiplicity. A tangent counts as 2 intersections, and a point of inflection counts as 3.
- We consider the limiting case, a point infinitely far in the
direction, to be a point on the curve. To take care of this, we consider an “infinite point at a direction” as a point, and the standard curve contains the “vertical direction”.
The second trick looks very funny, but it is in fact very well-formed. It is called projective geometry: we can extend the coordinate system containing pairs by adding a
component, our usual interpretation would put
. Then we “homogenize” the equations, by multiplying a power of
to make all terms to be the same total degree. E.g., the above curve becomes
, so that all terms have total degree 3. Two points are considered the same point if they have the same ratios (i.e.,
). With this, the “infinite point of the vertical direction” is simply
, and can easily be verified to be on the curve above.
But below we will continue to use the somewhat sloppy language of “point of infinity in the vertical direction”, or in brief “the point of infinity”. It is just one point that we have to use this treatment, which does not warrant complicating all our formulas.
The third intersection: explicit formula
So we have either 1 intersection or 3. If we are given 2 points on the curve and draw a line between them, there are already 2 intersections, so there must be a third. Early mathematicians found that if the original two points have rational x and y coordinates, and the curve has rational coefficients, the third intersection must also have rational coordinates. Let’s make it explicit, by calculating where is the third point. The resulting formula will be very useful to us soon.
Suppose and
are points on the elliptic curve:
.
There are a few cases to consider. First, and
may be points opposite to each other. In such case the third intersection is the point of infinity.
Then, we consider the case where is different from
. We want to find the third intersection
. In such case, we can calculate the slope
. The line defined by the two points is thus:
.
To solve it with the curve , we move
to the right, and substitute the resulting formula of
into
.
.
This equation should have 3 roots. Since and
are points on both
and
, two of them should be
and
. The equation should thus be the same as
. To find
, all we need is to make the coefficient of
to be 1. Then the
coefficient would be
. In the above formula, we simply move everything to the right, and notice that the
coefficient is
. This gives us
:
.
Putting it back to the equation of we get
as well.
.
What if and
are the same point? Our rule of multiplicity says that in such case, the line should be a tangent at
. The formula for
and
above still works, except that we need to use the slope of this tangent as
. To find the slope, we differentiate
with respect to
:
.
So the formula for is thus:
.
Now it should be clear why we always find rational third intersection if ,
,
,
,
and
are all rational. (We can argue about it without the explicit formula, but having it perhaps makes it clearer.)
But we still have some corner cases which must also be catered for. In particular, one or both of the original points may be the point of infinity. Our rule says that the point of infinity means the vertical direction. In our standard form, if we have one of the point being the point of infinity, the other point simply have mirrored about the
axis. So the third intersection of the line through the point of infinity and
would be
. If both points are the point of infinity, the third point is also the point of infinity.
This finally covers all possible cases. We now apply them to create an important operation on the elliptic curve: point addition.
September 2017
Isaac To
Prev: Elliptic Curves Up Next: Point Addition