Chapter Three

Elliptic Curves over the Real Numbers

"The theory of elliptic curves is a showpiece of modern mathematics, blending algebra, geometry, and analysis into a harmonious whole."
— Joseph H. Silverman

We now arrive at the central mathematical object of this treatise: the elliptic curve. Despite the name, these curves have nothing to do with ellipses. The terminology is historical, arising from 18th-century attempts to compute the arc length of an ellipse, which led to certain integrals that are now called "elliptic integrals."

In this chapter, we study elliptic curves over the real numbers, where we can draw pictures and develop geometric intuition. The visual approach will serve us well when we later move to the more abstract setting of finite fields.

3.1 The Weierstrass Equation

Definition 3.1 (Elliptic Curve)

An elliptic curve over the real numbers is the set of points (x, y) satisfying an equation of the form:

y² = x³ + ax + b

where a, b ∈ ℝ and the curve is non-singular, meaning it has no cusps or self-intersections. This is called the short Weierstrass form.

The condition for non-singularity is that the discriminant is nonzero:

Definition 3.2 (Discriminant)

The discriminant of the curve y² = x³ + ax + b is:

Δ = −16(4a³ + 27b²)

The curve is non-singular if and only if Δ ≠ 0.

y² = x³ − x y² = x³ − 3x + 3 y² = x³ + 7 (Bitcoin's curve)
Figure 3.1: Three elliptic curves with different parameters. Bitcoin uses y² = x³ + 7.

Example 3.1 (Bitcoin's Curve: secp256k1)

The curve used in Bitcoin has a = 0 and b = 7:

y² = x³ + 7

The discriminant is Δ = −16(4·0³ + 27·7²) = −16·1323 ≠ 0, so this curve is indeed non-singular.

Observation.

Notice that every elliptic curve is symmetric about the x-axis. If (x, y) is on the curve, then so is (x, −y), since (−y)² = y². This symmetry will be crucial for defining point addition.

3.2 The Point at Infinity

Before defining addition on elliptic curves, we must extend our curve by adding a special point that serves as the identity element.

Definition 3.3 (Point at Infinity)

The point at infinity, denoted 𝒪 (or sometimes ), is an abstract point added to every elliptic curve. Geometrically, it can be thought of as the point where all vertical lines meet "at infinity."

The complete elliptic curve is thus:

E = {(x, y) : y² = x³ + ax + b} ∪ {𝒪}

𝒪 Point at infinity P −P The vertical line through P and −P meets 𝒪 at infinity
Figure 3.2: Vertical lines meet at the point at infinity 𝒪.

The point at infinity may seem like a mathematical artifice, but it arises naturally when we work in projective coordinates. For now, simply accept it as the identity element for our group operation.

3.3 The Chord-and-Tangent Law: Geometric Point Addition

Here we define the group operation on elliptic curves. The construction is beautifully geometric: it involves only drawing lines and finding intersections.

Definition 3.4 (Point Addition)

Let P and Q be points on an elliptic curve E. Their sum P + Q is defined as follows:

  1. Identity: P + 𝒪 = 𝒪 + P = P for all points P.
  2. Inverse: If P = (x, y), then −P = (x, −y), and P + (−P) = 𝒪.
  3. General addition (P ≠ Q): Draw the line through P and Q. This line intersects E at exactly one more point R. Then P + Q = −R.
  4. Point doubling (P = Q): Draw the tangent line to E at P. This line intersects E at one more point R. Then P + P = 2P = −R.
Point Addition: P + Q P Q R P + Q reflect Point Doubling: 2P P tangent R 2P
Figure 3.3: The chord-and-tangent construction for point addition and doubling.

The recipe can be summarized in three words: connect, intersect, reflect.

Theorem 3.1 (A Line Meets a Cubic in Three Points)

Any line that is not vertical intersects an elliptic curve in exactly three points (counting multiplicity and the point at infinity).

Consider a line y = mx + c. Substituting into y² = x³ + ax + b:

(mx + c)² = x³ + ax + b

x³ − m²x² + (a − 2mc)x + (b − c²) = 0

This is a cubic in x, which has exactly three roots (counting multiplicity) in any algebraically closed field, and at least one real root.

3.4 The Addition Formulas

While the geometric definition is elegant, computation requires explicit formulas. Let P = (x₁, y₁) and Q = (x₂, y₂) be points on E: y² = x³ + ax + b.

Theorem 3.2 (Point Addition Formulas)

If P ≠ ±Q and neither is 𝒪, then P + Q = (x₃, y₃) where:

λ = (y₂ − y₁) / (x₂ − x₁)

x₃ = λ² − x₁ − x₂

y₃ = λ(x₁ − x₃) − y₁

The line through P and Q has slope λ = (y₂ − y₁)/(x₂ − x₁) and equation y = λ(x − x₁) + y₁.

Substituting into the curve equation:

[λ(x − x₁) + y₁]² = x³ + ax + b

Expanding and using Vieta's formulas, if x₁, x₂, x₃ are the three roots, then x₁ + x₂ + x₃ = λ². Thus x₃ = λ² − x₁ − x₂.

The y-coordinate y₃ follows from the line equation and reflection: y₃ = λ(x₁ − x₃) − y₁.

Theorem 3.3 (Point Doubling Formulas)

If P = (x₁, y₁) with y₁ ≠ 0, then 2P = (x₃, y₃) where:

λ = (3x₁² + a) / (2y₁)

x₃ = λ² − 2x₁

y₃ = λ(x₁ − x₃) − y₁

The tangent slope at P is found by implicit differentiation of y² = x³ + ax + b:

2y(dy/dx) = 3x² + a

λ = dy/dx = (3x² + a)/(2y)

The rest follows as in the addition case.

Example 3.2 (Point Addition on y² = x³ − 7x + 10)

Let P = (1, 2) and Q = (3, 4). First verify these are on the curve:

  • P: 2² = 4 and 1³ − 7·1 + 10 = 4. ✓
  • Q: 4² = 16 and 3³ − 7·3 + 10 = 27 − 21 + 10 = 16. ✓

Now compute P + Q:

  • λ = (4 − 2)/(3 − 1) = 2/2 = 1
  • x₃ = 1² − 1 − 3 = −3
  • y₃ = 1·(1 − (−3)) − 2 = 4 − 2 = 2

Thus P + Q = (−3, 2).

Verification: 2² = 4 and (−3)³ − 7·(−3) + 10 = −27 + 21 + 10 = 4. ✓

3.5 The Group Structure

We now verify that elliptic curve addition satisfies the group axioms.

Theorem 3.4 (Elliptic Curves Form an Abelian Group)

The set of points on an elliptic curve E, together with point addition, forms an abelian group.

(Sketch)

  1. Closure: The formulas produce points on the curve (verified algebraically).
  2. Identity: 𝒪 satisfies P + 𝒪 = P by definition.
  3. Inverse: −P = (x, −y) satisfies P + (−P) = 𝒪.
  4. Commutativity: The line through P and Q is the same as through Q and P.
  5. Associativity: This requires a lengthy algebraic verification or can be proven geometrically using properties of cubic curves.
Elliptic Curve Group Structure Identity 𝒪 (point at ∞) Inverse −(x,y) = (x,−y) Abelian P + Q = Q + P Operation: Chord-and-Tangent connect → intersect → reflect
Figure 3.4: Summary of the elliptic curve group structure.

3.6 Scalar Multiplication

Given a point P and a positive integer n, we define scalar multiplication as repeated addition:

Definition 3.5 (Scalar Multiplication)

nP = P + P + ⋯ + P  (n times)

We extend this to all integers by defining 0P = 𝒪 and (−n)P = n(−P).

Scalar multiplication is the fundamental one-way operation in elliptic curve cryptography. Computing nP from n and P can be done efficiently, but finding n given only P and nP is the Elliptic Curve Discrete Logarithm Problem (ECDLP).

Algorithm 3.1 (Double-and-Add)

To compute nP efficiently:

function scalar_multiply(n, P):
    if n = 0:
        return 𝒪
    if n < 0:
        return scalar_multiply(-n, -P)

    result = 𝒪
    addend = P

    while n > 0:
        if n is odd:
            result = result + addend
        addend = 2 × addend    // point doubling
        n = n ÷ 2              // integer division

    return result

Example 3.3 (Computing 151P)

The binary representation of 151 is 10010111₂. Using double-and-add:

StepnBinaryActionResult
015110010111odd: add PP
1751001011odd: add 2PP + 2P = 3P
237100101odd: add 4P3P + 4P = 7P
31810010even: skip7P
491001odd: add 16P7P + 16P = 23P
54100even: skip23P
6210even: skip23P
711odd: add 128P23P + 128P = 151P

Total: 7 doublings and 4 additions, instead of 150 additions.

Scalar Multiplication: The Trapdoor n, P (scalar, point) Easy O(log n) ops Q = nP (result point) Hard! O(√n) ops (best known) This asymmetry is the foundation of elliptic curve cryptography
Figure 3.5: Scalar multiplication is a computational trapdoor.

3.7 Why "Elliptic"?

The curious reader may wonder about the name. Elliptic curves are not ellipses. The connection is historical and indirect.

Historical Note.

In the 18th century, mathematicians sought to compute the arc length of an ellipse. This led to integrals of the form:

∫ R(x, √(p(x))) dx

where p(x) is a polynomial of degree 3 or 4, and R is a rational function. These are called elliptic integrals.

The inverse functions of these integrals are called elliptic functions, and these functions satisfy polynomial relations that define what we now call elliptic curves. The name stuck, even though the connection to actual ellipses is rather tenuous.

Exercises

3.1. Verify that the curve y² = x³ − 3x + 2 is singular (has Δ = 0) and find the singular point.
3.2. On the curve y² = x³ − 7x + 10, compute 2P where P = (1, 2).
3.3. Show that if P = (x, 0) lies on an elliptic curve, then 2P = 𝒪.
3.4. On Bitcoin's curve y² = x³ + 7, find a point P with integer coordinates. Hint: Try small negative values of x.
3.5. Prove that the point addition formulas correctly produce points on the curve. That is, if (x₁, y₁) and (x₂, y₂) satisfy y² = x³ + ax + b, show that (x₃, y₃) does too.
3.6. How many point doublings and additions are needed to compute 1000P using double-and-add? Compare to naive repeated addition.
3.7. (Computational) Implement point addition and doubling for curves of the form y² = x³ + ax + b over the real numbers. Test your implementation on the curve from Example 3.2.
3.8. Consider the curve E: y² = x³ + 1. Find all points with integer coordinates satisfying |x|, |y| ≤ 10.