21.1 The Addition Law

An elliptic curve E is the graph of an equation

E:y2=x3+ax2+bx+c, 

where a, b, c are in whatever is the appropriate set (rational numbers, real numbers, integers mod p,  etc.). In other words, let K be the rational numbers, the real numbers, or the integers mod a prime p (or, for those who know what this means, any field of characteristic not 2; but see Section 21.4). Then we assume a, b, cK and take E to be

{(x, y)x, yK, y2=x3+ax2+bx+c}.

As will be discussed below, it is also convenient to include a point (, ),  which often will be denoted simply by .

Let’s consider the case of real numbers first, since this case allows us to work with pictures. The graph E has two possible forms, depending on whether the cubic polynomial has one real root or three real roots. For example, the graphs of y2=x(x+1)(x1) and y2=x3+73 are the following:

A graph of y versus x shows two curves for the equation y superscript 2 equals x times left parenthesis x plus 1 right parenthesis times left parenthesis x minus 1 right parenthesis.
A graph of y versus x shows a curve for the equation y superscript 2 equals x superscript 3 plus 73.

The case of two components (for example, y2=x(x+1)(x1)) occurs when the cubic polynomial has three real roots. The case of one component (for example, y2=x3+73) occurs when the cubic polynomial has only one real root.

For technical reasons that will become clear later, we also include a “point at infinity,” denoted ,  which is most easily regarded as sitting at the top of the y-axis. It can be treated rigorously in the context of projective geometry (see [Washington]), but this intuitive notion suffices for what we need. The bottom of the y-axis is identified with the top, so also sits at the bottom of the y-axis.

Now let’s look at elliptic curves mod p,  where p is a prime. For example, let E be given by

y2x3+2x1(mod5).

We can list the points on E by letting x run through the values 0, 1, 2, 3, 4 and solving for y:

(0, 2), (0, 3), (2, 1), (2, 4), (4, 1), (4, 4), .

Note that we again include a point .

Elliptic curves mod p are finite sets of points. It is these elliptic curves that are useful in cryptography.

Technical point: We assume that the cubic polynomial x3+ax2+bx+c has no multiple roots. This means we exclude, for example, the graph of y2=(x1)2(x+2). Such curves will be discussed in Subsection 21.3.1.

Technical point: For most situations, equations of the form y2=x3+bx+c suffice for elliptic curves. In fact, in situations where we can divide by 3, a change of variables changes an equation y2=x3+ax2+bx+c into an equation of the form y2=x3+bx+c. See Exercise 1. However, sometimes it is necessary to consider elliptic curves given by equations of the form

y2+a1xy+a3y=x3+a2x2+a4x+a6, 

where a1, , a6 are constants. If we are working mod p,  where p>3 is prime, or if we are working with real, rational, or complex numbers, then simple changes of variables transform the present equation into the form y2=x3+bx+c. However, if we are working mod 2 or mod 3, or with a finite field of characteristic 2 or 3 (that is, 1+1=0 or 1+1+1=0), then we need to use the more general form. Elliptic curves over fields of characteristic 2 will be mentioned briefly in Section 21.4.

Historical point: Elliptic curves are not ellipses. They received their name from their relation to elliptic integrals such as

z1z2dxx3+bx+candz1z2x dxx3+bx+c

that arise in the computation of the arc length of ellipses.

The main reason elliptic curves are important is that we can use any two points on the curve to produce a third point on the curve. Given points P1 and P2 on E,  we obtain a third point P3 on E as follows (see Figure 21.1): Draw the line L through P1 and P2 (if P1=P2,  take the tangent line to E at P1). The line L intersects E in a third point Q. Reflect Q through the x-axis (i.e., change y to y) to get P3. Define a law of addition on E by

P1+P2=P3.

Figure 21.1 Adding Points on an Elliptic Curve

A graph of y versus x shows adding points on an elliptic curve.

Note that this is not the same as adding points in the plane.

Example

Suppose E is defined by y2=x3+73. Let P1=(2, 9) and P2=(3, 10). The line L through P1 and P2 is

y=x+7.

Substituting into the equation for E yields

(x+7)2=x3+73, 

which yields x3x214x+24=0. Since L intersects E in P1 and P2,  we already know two roots, namely x=2 and x=3. Moreover, the sum of the three roots is minus the coefficient of x2 (Exercise 1) and therefore equals 1. If x is the third root, then

2+3+x=1, 

so the third point of intersection has x=4. Since y=x+7,  we have y=3,  and Q=(4, 3). Reflect across the x-axis to obtain

(2, 0)+(3, 10)=P3=(4, 3).

Now suppose we want to add P3 to itself. The slope of the tangent line to E at P3 is obtained by implicitly differentiating the equation for E:

2ydy=3x2dx, sodydx=3x22y=8, 

where we have substituted (x, y)=(4, 3) from P3. In this case, the line L is y=8(x+4)3. Substituting into the equation for E yields

(8(x+4)3)2=x3+73, 

hence x3(8)2x2+=0. The sum of the three roots is 64 (= minus the coefficient of x2). Because the line L is tangent to E,  it follows that x=4 is a double root. Therefore,

(4)+(4)+x=64, 

so the third root is x=72. The corresponding value of y (use the equation of L) is 611. Changing y to y yields

P3+P3=(72, 611).

What happens if we try to compute P+? We make the convention that the lines through are vertical. Therefore, the line through P=(x, y) and intersects E in P and also in (x, y). When we reflect (x, y) across the x-axis, we get back P=(x, y). Therefore,

P+=P.

We can also subtract points. First, observe that the line through (x, y) and (x, y) is vertical, so the third point of intersection with E is . The reflection across the x-axis is still (that’s what we meant when we said sits at the top and at the bottom of the y-axis). Therefore,

(x, y)+(x, y)=.

Since plays the role of an additive identity (in the same way that 0 is the identity for addition with integers), we define

(x, y)=(x, y).

To subtract points PQ,  simply add P and Q.

Another way to express the addition law is to say that

P+Q+R=P, Q, Rarecollinear.

(See Exercise 17.)

For computations, we can ignore the geometrical interpretation and work only with formulas, which are as follows:

Addition Law

Let E be given by y2=x3+bx+c and let

P1=(x1, y1), P2=(x2, y2).

Then

P1+P2=P3=(x3, y3), 

where

x3=m2x1x2y3=m(x1x3)y1

and

m=(y2y1)/(x2x1)ifP1P2(3x12+b)/(2y1)ifP1=P2.

If the slope m is infinite, then P3=. There is one additional law: +P=P for all points P.

It can be shown that the addition law is associative:

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

It is also commutative:

P+Q=Q+P.

When adding several points, it therefore doesn’t matter in what order the points are added nor how they are grouped together. In technical terms, we have found that the points of E form an abelian group. The point is the identity element of this group.

If k is a positive integer and P is a point on an elliptic curve, we can define

kP=P+P++P(k summands).

We can extend this to negative k. For example, (3)P=3(P)=(P)+(P)+(P),  where P is the reflection of P across the x-axis. The associative law means that we can group the summands in any way we choose when computing a multiple of a point. For example, suppose we want to compute 100P. We do the additive version of successive squaring that was used in modular exponentiation:

2p=P+P4P=2P+2P8P=4P+4P16P=8P+8P32P=16P+16P64P=32P+32P100P=64P+32P+4P.

The associative law means, for example, that 4P can be computed as 2P+2P=(P+P)+(P+P). It also could have been computed in what might seem to be a more natural way as ((P+P)+P)+P,  but this is slower because it requires three additions instead of two.

For more examples, see Examples 4144 in the Computer Appendices.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.12.108.236