Point Addition And The Elliptic Curve Group

12 min read

The most important idea in ECC is that we can define an operation that behaves like addition, but over points.

This operation is called point addition.

Given two points P and Q on an elliptic curve, we can define another point:

R=P+QR = P + Q

This may look strange at first. We are not adding numbers. We are adding points.

You may think—why is this strange? Don't we already add points in normal 2D geometry?

Well, not exactly. We add vectors, not points.

A point represents a position in space, while a vector represents a displacement—a direction and distance from one position to another.

We can certainly add the coordinates of two points, but when we do that, we're effectively treating them as vectors relative to an origin.

Vectors naturally support addition because displacements can be combined. Points, on the other hand, simply represent positions, so adding two points doesn't have an obvious meaning.

Elliptic curves are different: they define a special way of adding two points to produce another point on the same curve.

The useful part is that when we add two valid points on the curve, the result is also another valid point on the same curve. This gives elliptic curves a structure that we can use for cryptography.

Before discussing keys, signatures, or encryption, we first need to understand this point addition operation.

1. Adding Two Different Points

Point addition is defined geometrically.

For now, consider two different points P and Q on the curve.

In the normal case, where P and Q are not vertically aligned, the rule is:

  1. Draw a straight line through P and Q.
  2. This line intersects the curve at one more point.
  3. Reflect that third point across the x-axis.
  4. The reflected point is defined as P + Q.

So if the third intersection point is -R, then:

P+Q=RP + Q = R

The reflection step may seem artificial, but it is what makes point addition behave like a proper addition operation.

Feel free to move points P and Q around in the simulation below to get an intuition on how addition works:

Exercise: Identifying special cases

Try moving P and Q around in the simulation.

Two special cases are especially important:

  1. Move Q closer and closer to P. As both points approach the same position, the line through them becomes the tangent line at P. This gives us point doubling.
  2. Place P and Q at the same x coordinate, but with opposite y coordinates. The line through them becomes vertical. This gives us the point at infinity.

Both cases are explained next.

2. Point Doubling

Point doubling is the special case where we add a point to itself:

P+P=2PP + P = 2P

When the two points are different, we can draw a line through them.

But when both points are the same, there are not two distinct points to connect with a line. Instead, we use the tangent line at that point.

The rule for point doubling is:

  1. Draw the tangent line at P.
  2. The tangent line intersects the curve at another point.
  3. Reflect that point across the x-axis.
  4. The reflected point is defined as 2P.

An easy and intuitive way to understand why we use the tangent line is to start with a fixed point PP and set another point QQ close to PP. Then we move QQ closer and closer to PP. As you can see from the simulation below, that ends up producing the tangent line once Q=PQ = P.

Exercise: A special case worth thinking about

Try setting P in the simulation above to a point where the curve crosses the x-axis (y = 0), then double it.

What does the tangent line look like at that point? What do you think 2P should be?

Hold onto your guess — we will come back to this once inverse points and the point at infinity have been introduced.

Point doubling is important because scalar multiplication is built using repeated point addition and point doubling.

3. Inverse Points

There is one important special case in point addition: adding a point to its opposite.

For every point P on the curve, there is another point called its inverse point, written as -P.

Geometrically, over the real numbers, if:

P=(x,y)P = (x, y)

then:

−P=(x,−y)-P = (x, -y)

So P and -P have the same x coordinate, but opposite y coordinates.

They are reflections of each other across the x-axis.

Now consider adding them:

P+(−P)P + (-P)

The line through P and -P is vertical.

In the normal point addition rule, we draw a line through two points, find the third intersection with the curve, and reflect that point across the x-axis.

But a vertical line does not give us a normal visible third point on the 2D graph.

This is the case where the usual geometric picture needs one extra object.

That object is the point at infinity.

4. The Point at Infinity

To make the addition rule complete, we define the result of adding a point to its inverse as a special point called the point at infinity, written as:

O\mathcal{O}

So:

P+(−P)=OP + (-P) = \mathcal{O}

Just like zero does nothing in normal addition:

x+0=xx + 0 = x

the point at infinity does nothing in elliptic curve addition:

P+O=PP + \mathcal{O} = P

and:

O+P=P\mathcal{O} + P = P

So O\mathcal{O} is the identity element of elliptic curve addition.

Example: Revisiting the special case from Point Doubling

Earlier, we asked what happens when doubling a point P=(x,0)P=(x,0) that sits exactly on the x-axis.

Its inverse is itself, since −P=(x,−0)=(x,0)=P-P=(x,-0)=(x,0)=P. Doubling P is therefore the same as adding P to its own inverse:

2P=P+(−P)=O.2P = P + (-P) = \mathcal{O}.

This matches the geometry too: the tangent line at a point on the x-axis is vertical, exactly like the line through P and -P — the same case we defined above as producing O\mathcal{O}.

At this point (no pun intended xD), we have the full basic point addition rule.

For normal point addition:

P+Q=RP + Q = R

For point doubling:

P+P=2PP + P = 2P

For inverse points:

P+(−P)=OP + (-P) = \mathcal{O}

For the identity point:

P+O=PP + \mathcal{O} = P

These rules are not just separate tricks. Together, they form a consistent algebraic structure.

That structure is called a group.

5. Elliptic Curve as a Group

A group is a set of values together with an operation that combines two values and produces another value from the same set.

A simple example is normal integer addition:

ComponentExample
SetIntegers
OperationAddition

For example:

3+5=83 + 5 = 8

The result is still an integer.

Integer addition also has an identity element:

00

because adding zero does not change the value:

x+0=xx + 0 = x

Every integer also has an inverse.

For example, the inverse of 5 is -5, because:

5+(−5)=05 + (-5) = 0

So, at a high level, a group is a system where:

  • values can be combined
  • the result stays inside the same system
  • there is an identity element
  • every value has an inverse
  • repeated operations behave consistently

Elliptic curve points behave in a similar way, except the values are not ordinary numbers:

  • Values are points.
  • The operation is point addition.

6. The Elliptic Curve Group

For an elliptic curve, the group is made from all valid points on the curve, plus the point at infinity O\mathcal{O}.

The operation is point addition.

So an elliptic curve group contains:

  • normal curve points
  • the special point at infinity O\mathcal{O}
  • the point addition operation

The group is usually written as:

EE

or, when we want to be more explicit:

E(R)E(\mathbb{R})

This means the set of points on the elliptic curve over the real numbers. For now, we are still thinking geometrically, over real numbers.

Later, when we move to finite fields, we will write something like:

E(Fp)E(\mathbb{F}_p)

This means the set of points on the elliptic curve over the finite field modulo p.

So when we say that elliptic curve points form a group, we mean that the points can be added together in a complete and consistent way.

7. Closure, Identity, Inverses, Associativity, and Commutativity

Groups have some rules that we have not discussed directly. You have probably already built intuition for them, but it is useful to name them explicitly:

The first three rules should now feel familiar.

Closure means point addition never leaves the curve.

If:

PP

and:

QQ

are points on the curve, then:

P+Q=RP + Q = R

where R is also a point on the same curve. So point addition does not produce some unrelated object. It produces another valid curve point.

Identity means the point at infinity behaves like zero:

P+O=PP + \mathcal{O} = P

Adding O\mathcal{O} does not change the point.

Inverse means every point has another point that cancels it:

P+(−P)=OP + (-P) = \mathcal{O}

Over the real numbers, if:

P=(x,y)P = (x, y)

then:

−P=(x,−y)-P = (x, -y)

The inverse point is the reflection of P across the x-axis.

The least visible rule is associativity.

Associativity means that when we add several points, the grouping does not change the final result.

For example:

(P+Q)+R=P+(Q+R)(P + Q) + R = P + (Q + R)

This matters because later we will repeatedly add the same point many times.

For example:

3P=P+P+P3P = P + P + P

Because of associativity, we do not need to worry about whether this means:

(P+P)+P(P + P) + P

or:

P+(P+P)P + (P + P)

Both give the same result. This is what makes repeated point addition well-defined.

Finally, commutativity means that the order of two points does not change their sum:

P+Q=Q+PP + Q = Q + P

Point addition has all five properties above, so the curve points form an abelian group. “Abelian” is simply the name for a group whose operation is commutative.

8. Why the Group Structure Matters

You may be asking why all this group structure matters. It matters because ECC is not based only on drawing curves — it is based on doing arithmetic with curve points.

Without the group structure, point addition would just be a geometric trick. With the group structure, point addition becomes a reliable algebraic operation. This lets us build more complex operations from simple ones.

The most important one is scalar multiplication. Scalar multiplication means adding a point to itself repeatedly:

kP=P+P+⋯+PkP = P + P + \cdots + P

This only makes sense because point addition is consistent.

The group structure guarantees that:

  • Adding valid points produces valid points
  • There is a zero-like point O\mathcal{O}
  • Every point has an inverse
  • Repeated addition always gives the same result, regardless of how the additions are grouped

This group structure is what allows ECC to build public keys from repeated point addition:

Q=kGQ = kG

where:

  • k is a scalar
  • G is a base point
  • Q is another point in the same elliptic curve group

Next, Scalar Multiplication turns repeated point addition into the operation used throughout ECC.

Comments