Elliptic Curve Group Law
Goal
By the end of this chapter, you should understand what an elliptic curve is, what its points are, why a special point at infinity is added, and how point addition, point doubling, and scalar multiplication fit together.
You should also understand the intuition for why elliptic curve points form a group, without needing algebraic geometry.
Prerequisites
You should know:
- groups and additive notation
- finite fields, especially
- modular inverses
- polynomial equations over a field
Motivation
Elliptic curves give cryptography a group where honest users can compute efficiently, while some reverse problems appear hard for attackers. BLS signatures use elliptic-curve groups, so understanding the group law is the first step toward understanding public keys, signatures, and pairings.
The operation on elliptic curve points is usually written as addition:
This does not mean ordinary coordinate-wise addition. It is a special operation defined by the curve.
What Is an Elliptic Curve?
For this book, an elliptic curve is a set of points satisfying an equation of the form:
over some field, together with one extra point called the point at infinity.
This is a short Weierstrass equation. It is not the only possible curve form, but it is the easiest starting point.
The constants and come from the field. The curve must also avoid a singularity. For short Weierstrass form, this means:
in the field.
This condition prevents the curve from having a cusp or self-intersection, which would break the group law.
Points on a Curve
A point on the curve is a pair that satisfies the curve equation.
Example over the real numbers:
The point is on the curve because:
Both sides equal .
The point is not on the curve because:
That is:
Points Over a Finite Field
In cryptography, curves are usually defined over finite fields. For example, consider:
over .
Check whether is on the curve:
and:
So is on the curve over .
Check :
but:
So is not on the curve over .
The Point at Infinity
Elliptic curve groups need an identity element. This identity is a special point called the point at infinity, often written:
It satisfies:
and:
for every point on the curve.
The point at infinity is not an ordinary coordinate pair. It is an extra formal point added so the group operation always has an identity and every point has an inverse.
Geometric Intuition Over the Reals
Over the real numbers, the group law has a geometric picture.
To add two distinct points and :
- Draw the line through and .
- The line usually intersects the curve at a third point .
- Reflect across the -axis.
- The reflected point is .
TODO: Add a diagram showing the chord-and-reflect rule over the real numbers.
To double a point :
- Draw the tangent line to the curve at .
- The tangent usually intersects the curve at another point .
- Reflect across the -axis.
- The reflected point is .
TODO: Add a diagram showing the tangent-and-reflect rule.
Finite fields do not have smooth pictures, but the algebraic formulas are based on the same idea.
Point Addition Formula
Let:
and:
with and .
The slope of the line through and is:
Over a finite field, division means multiplication by a modular inverse.
The sum:
is computed by:
All arithmetic happens in the field.
Point Doubling Formula
To compute:
for , use the tangent slope:
Then:
Again, all arithmetic is field arithmetic.
If the denominator is zero, the tangent is vertical and the result is the point at infinity.
Inverses
For a point:
the inverse is:
because a vertical line through and meets the curve and corresponds to the identity:
Over , the value means:
when .
A Small Finite-Field Addition Example
Work over with:
We already checked that:
is on the curve. Another point is:
Check :
and:
Now compute .
The slope is:
Then:
and:
So:
Notice that is the inverse of over .
Scalar Multiplication
Scalar multiplication means adding a point to itself repeatedly:
Examples:
Efficient implementations do not add one point at a time for large . They use double-and-add methods, similar in spirit to repeated squaring.
Pseudocode:
function scalar_mul(k, P):
result = O
addend = P
while k > 0:
if k is odd:
result = result + addend
addend = addend + addend
k = floor(k / 2)
return result
Here O is the point at infinity.
Why the Points Form a Group
The points on an elliptic curve, together with , form a group under the point addition law.
The group rules are:
- closure: adding two curve points gives another curve point or
- associativity:
- identity:
- inverses:
Associativity is the hardest rule to prove. It is true, but the proof is more technical than this first chapter needs. For now, treat it as a theorem about the elliptic curve group law.
Chia Connection
BLS public keys and signatures live in elliptic-curve groups. The group operation is what makes scalar multiplication, public key derivation, signature creation, and signature verification equations possible.
In later chapters, BLS12-381 will provide specific elliptic-curve groups used for BLS signatures. Pairings will connect two source groups to a target group in a way that supports compact signature verification and aggregation.
This chapter explains the basic group law, not Chia's exact serialization, subgroup checks, or consensus rules.
Common Pitfalls
Using coordinate-wise addition. Usually:
Elliptic curve addition has its own formula.
Forgetting field arithmetic. Over , every addition, subtraction, multiplication, and inverse is computed modulo .
Ignoring the point at infinity. Without , the group would not have an identity element.
Confusing doubling with ordinary multiplication of coordinates. means using the group law.
Assuming the real-number picture works over finite fields. The geometric picture gives intuition, but finite-field curves are computed algebraically.
Treating associativity as obvious from the formulas. Associativity is true, but proving it takes real work.
Exercises
- Over , check whether lies on .
- Over , find the inverse of the point .
- Explain why the point at infinity acts like the identity element.
- In your own words, explain why elliptic curve addition is not coordinate addition.
- Over on , compute the slope for adding and .
- Describe what scalar multiplication means using only point addition.
- Write pseudocode for a slow scalar multiplication algorithm that adds exactly times.
- Why does point doubling use a different slope formula from adding two distinct points?
- Mark one place in this chapter where the real-number geometric intuition is helpful but incomplete.
Further Reading
- Later chapter: Curves Over Finite Fields
- Later chapter: Pairings
- Later chapter: BLS12-381
- Any introductory elliptic curve cryptography text covering the group law