Scalar Multiplication
In Point Addition and the Elliptic Curve Group, we defined a reliable addition rule for curve points. The most important operation built from that rule is scalar multiplication.
The value k is called a scalar. So scalar multiplication does not mean multiplying the coordinates of the point by k. It means adding the point P to itself k times.
For example, if:
then:
does not mean:
That is not elliptic curve scalar multiplication.
Instead:
where each + is elliptic curve point addition.
Important
Scalar multiplication is repeated point addition, not coordinate multiplication.
Example: Computing 3P
Let us compute a simple example:
This can be written as:
So we compute it in two steps.
First, compute:
This uses point doubling.
We draw the tangent line at P, find the next intersection with the curve, and reflect it across the x-axis.
Then we compute:
This uses normal point addition.
We draw a line through P and 2P, find the third intersection with the curve, and reflect it across the x-axis.
The final result is the point:
This example shows the basic idea behind scalar multiplication: we keep using point addition and point doubling to move from one curve point to another.
Tip: Efficient Scalar Multiplication
Scalar multiplication is not computed by literally adding the same point one by one.
For example, to compute:
we do not usually compute:
Instead, we use point doubling to reduce the number of operations.
For example:
and:
and:
So we can compute 5P like this:
- Compute
2P - Compute
4P = 2P + 2P - Compute
5P = 4P + P
This takes fewer operations than adding P five times.
For very large values of k, efficient scalar multiplication uses double-and-add, an algorithm similar in spirit to repeated squaring. It reads the binary representation of the scalar from left to right: double the running point for each bit, then add when the bit is .
For example:
Starting from , the steps are:
- Read
1: - Read
1: double to , then add to get - Read
0: double to - Read
1: double to , then add to get
After initializing the running point as , this computes with three doublings and two further additions, rather than twelve point additions.
The number of required operations grows roughly with , instead of growing linearly with .
This is important because finite-field scalar calculations use very large numbers.
If scalar multiplication required k individual additions, ECC would be unusable in practice.
Efficient scalar multiplication makes it practical to work with large scalars even though they represent many repeated point additions.
1. From Repeated Addition to Finite Arithmetic
The smooth real-number curve gives us a useful way to see point addition and doubling. The next step is to change the number system beneath the same ideas.
Cryptographic curves are interpreted over finite fields, where coordinates and arithmetic are discrete and exact. There, scalar multiplication still means repeated point addition, but the possible points form a finite set rather than a continuous curve.
Next, Finite Fields and Modular Arithmetic establishes the exact arithmetic that replaces the real-number geometry. The following article then constructs the resulting finite point set.