Working over the rationals (or more precisely any field with characteristic 0) an **elliptic curve** is a curve given the equation

such that the discriminant, which is 4A^{3} + 27B^{2}, is non-zero. Equivalently, the polynomial on the right hand side has distinct roots, ensuring that the curve is non-singular. Though we restrict our attention to these non-singular curves we note that if the right hand side is a cubic polynomial, there are only two types of singular curves, corresponding to whether there is a double root (*node*) or triple root (*cusp*).

### Point at Infinity

The point at infinity is an important point that **always** lies on an elliptic curve. For those who have studied algebraic geometry this is a familiar concept and comes from defining a projective closure of the equation defining the elliptic curve. However, informally it can be described as an idealised limiting point at the ‘end’ of each line.

If you imagine a vertical straight line, which intersects the elliptic curve at most two times.

The point at infinity is the point at which the two ends of this vertical line ‘meet’.

The reason that elliptic curves are amazing objects is because we can use geometry to make the points on the curve a group. Therefore we can use tools from algebraic number theory to study them.

### Making Points on an Elliptic Curve into a Group

This is done using the *chord and tangent process*:

We denote the point at infinity on an elliptic curve E over **Q** as O_{E}. E meets each line in 3 points, counted with multiplicity. Given two points on E, say P and Q, let R be the third point of intersection of PQ and E. Then P ⊕ Q is the third point of intersection of O_{E}R (vertical line through R) and E.

If P = Q we take the tangent at P instead of the line PQ.

Then E with the group law on points defined above, denoted by (E, ⊕), is an abelian group:

- The fact that is abelian is clear by construction
- I
**dentity:**O_{E}– this is why the point at infinity is such an important point and exists on all elliptic curves.

**Inverses:**Given a point P, let S be the point of intersection of the tangent at O_{E}and E. Then let Q be the intersection of PS and E. Then the inverse of P is defined to be Q. Note that if O_{E}is a point of inflection (point of multiplicity 3) then S = O_{E}in the above.

**Associativity:**This is much harder to prove. It can be done by identifying (E, ⊕) with a subgroup of the Picard Group, which related to something called*divisors*.

Divisors are a tool for keeping track of poles and zeroes. For example, suppose a function *g* has a zero at a point P of order 3, and a pole at another point Q of order 2, and a pole at O of order 1 (note the number of zeroes and poles are equal, as they must be for a function). Then using divisors, we can say all this concisely as follows:

**div g=3P−2Q−O**

More precisely, we can define a divisor D to be a ‘formal sum’ of points on E (meaning that we write a sum of points using a + symbol but no actual operation is defined), say

Then the **degree** of a divisor is the sum of the coefficients.

This set of divisors forms a group, Div(E), generated by the points on E. Immediately we can identify a subgroup of Div(E), namely the divisors of **degree zero** denoted Div^{0}(E).

We can also define an equivalence relation ~ on divisors: D_{1}, D_{2} ∈ Div(E) are** linearly equivalent,** written D_{1} ~ D_{2}, if exists an *f* such that **div(f) = D _{1} – D_{2}**.

We can now introduce the **Picard Group**. It is a subgroup of Div(E), defined by quotienting out by this equivalence relation

A subgroup of the Picard group is given by

We’re now ready to go back to talking about elliptic curves. The point of this discussion is that we know (Pic_{0}(E), +) is a group which has the associative property. Furthermore, we can show that we have a bijection between (E, ⊕) and (Pic_{0}(E), +) that preserves the group structure i.e. we have an isomorphism of groups. So, using this isomorphism we can identify the two groups and deduce that (E, ⊕) is also associative.

### Consequence

Say we started looking at points defined over **Q** (denoted by E(**Q**)). A natural question is to ask how we know that the addition or inverses of these points remains in **Q**?

We defined the group law by looking at the intersections of lines and curves. So, working through the algebra, we can get explicit equations for the addition of points and inverses. For example if we have an elliptic curve E over **Q** and a point P = (x,y) in E(**Q**), then **-P = (x, -y)**.

These explicit equations are useful because they tell us that the points do indeed remain defined over **Q**. More precisely, we find that (E(**Q**), ⊕) is a subgroup of (E, ⊕):

- The identity O
_{E}is in E(**Q**) by definition - (E(
**Q**), ⊕) is closed under addition and has inverses by the explicit formulae - Associativity and commutativity is inherited from (E, ⊕).

Note: This in fact holds for any field K, not just **Q**, but we must be a bit more careful, as the elliptic curve may not be expressible in the nice form y^{2} = x^{3} + Ax + B so the formulae are a bit messier. The reason why this is important is that we often want to consider elliptic curves over *finite fields*, something I will explore in future posts.

M x

Glad to see you again.

I kinda got the point of your last EC DSA post, and this post was meant to clarify everything, I guess, but it was hard to understand a thing without academic algebra experience. And my engineering mindset still makes me to think that all of this groups-staff just makes simple things complex.

There is a lot of interesting domains described in purely algebraic style, but when I make an approach to it something in me just screaming that everything I read is just a concept for a concept, term just for to be a thing in itself.

Is that feeling normal? And how to surpass this stage?

And I know that it’s weird thing to ask purely academic person to do, but can you give a brief introduction of practical usage for concepts you’re writing about when it’s possible? Just to make people engaged, you know.

And do you plan to move to the more popular blogging platform? I used to read Medium’s DS and programming hubs, there were a lot math bits and tutorials there.

LikeLike

Welcome back!

LikeLiked by 1 person