27
AN INTRODUCTION TO ELLIPTIC CURVE AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology Kharagpur INDIA -721302 23-27th May 2011 Anurag Labs, DRDO, Hyderabad 1

AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

Embed Size (px)

Citation preview

Page 1: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

AN INTRODUCTION TO ELLIPTIC AN INTRODUCTION TO ELLIPTIC

CURVE CRYPTOGRAPHY CURVE CRYPTOGRAPHY

Debdeep Mukhopadhyay

Chester Rebeiro

Department of Computer Science and Engineering

Indian Institute of Technology Kharagpur

INDIA -721302

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 1

Page 2: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

ObjectivesObjectives

Introduction to Elliptic Curves

Elliptic Curve Arithmetic◦Point Addition◦Point Doubling

Elliptic Curve equations

Projective Co-ordinates

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 2

Page 3: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

Lets start with a Lets start with a puzzle…puzzle…

What is the number of balls that may be piled as a square pyramid and also rearranged into a square array?

Soln: Let x be the height of the pyramid…

We also want this to be a square: Hence,

2 2 2 2 ( 1)(2 1)1 2 3 ...

6

x x xx

2 ( 1)(2 1)

6

x x xy

23-27th May 2011 Anurag Labs, DRDO, Hyderabad3

Page 4: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

Graphical Graphical RepresentationRepresentation

X axis

Y axis

Curves of this nature are called ELLIPTIC

CURVES

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 4

Page 5: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

Method of DiophantusMethod of Diophantus

Uses a set of known points to produce new points (0,0) and (1,1) are two trivial solutionsEquation of line through these points is y=x. Intersecting with the curve and rearranging

terms:

We know that 1 + 0 + x = 3/2 => x = ½ and y = ½Using symmetry of the curve we also have (1/2,-

1/2) as another solution

3 23 10

2 2x x x

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 5

Page 6: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

Diophantus’ MethodDiophantus’ Method

Consider the line through (1/2,-1/2) and (1,1) => y=3x-2

Intersecting with the curve we have:

Thus ½ + 1 + x = 51/2 or x = 24 and y=70

Thus if we have 4900 balls we may arrange them in either way

3 251... 0

2x x

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 6

Page 7: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

Elliptic curves in Elliptic curves in CryptographyCryptographyElliptic Curve (EC) systems as applied

to cryptography were first proposed in 1985 independently by Neal Koblitz and Victor Miller.

The discrete logarithm problem on elliptic curve groups is believed to be more difficult than the corresponding problem in (the multiplicative group of nonzero elements of) the underlying finite field.

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 7

Page 8: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

Elliptic Curve on a finite set Elliptic Curve on a finite set of Integersof Integers

Consider y2 = x3 + 2x + 3 (mod 5)x = 0 y2 = 3 no solution (mod 5)x = 1 y2 = 6 = 1 y = 1,4 (mod 5)x = 2 y2 = 15 = 0 y = 0 (mod 5)x = 3 y2 = 36 = 1 y = 1,4 (mod 5)x = 4 y2 = 75 = 0 y = 0 (mod 5)

Then points on the elliptic curve are(1,1) (1,4) (2,0) (3,1) (3,4) (4,0) and the point at infinity:

Using the finite fields we can form an Elliptic Curve Group where we have a Elliptic Curve DLP problem: ECDLP

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 8

Page 9: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

Definition of Elliptic Definition of Elliptic curvescurves

An elliptic curve over a field K is a nonsingular cubic curve in two variables, f(x,y) =0 with a rational point (which may be a point at infinity).

The field K is usually taken to be the complex numbers, reals, rationals, algebraic extensions of rationals, p-adic numbers, or a finite field.

Elliptic curves groups for cryptography are examined with the underlying fields of Fp (where p>3 is a prime) and F2

m (a binary representation with 2m elements).

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 9

Page 10: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

General form of a ECGeneral form of a EC

An elliptic curve is a plane curve defined by an equation of the form

baxxy 32

Examples

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 10

Page 11: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

Weierstrass EquationWeierstrass Equation

A two variable equation F(x,y)=0, forms a curve in the plane. We are seeking geometric arithmetic methods to find solutions

Generalized Weierstrass Equation of elliptic curves:

2 3 21 3 2 4 6y a xy a y x a x a x a

Here, x and y and constants all belong to a field of say rationalnumbers, complex numbers, finite fields (Fp) or

Galois Fields (GF(2n)).

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 11

Page 12: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

If Characteristic field is not 2:

If Characteristics of field is neither 2 nor 3:

'1 2

2 31 1 1

/ 3x x a

y x Ax B

222 3 23 31 1

2 4 6

2 3 ' 2 ' '1 2 4 6

( ) ( ) ( )2 2 4 4

a aa x ay x a x a x a

y x a x a x a

The Curve Equations depend on the field

23-27th May 2011 Anurag Labs, DRDO, Hyderabad12

Page 13: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

Points on the Elliptic Curve Points on the Elliptic Curve (EC)(EC)

2 3( ) { } {( , ) | ... ...}E L x y L L y x

Elliptic Curve over field L

It is useful to add the point at infinityThe point is sitting at the top of the

y-axis and any line is said to pass through the point when it is vertical

It is both the top and at the bottom of the y-axis

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 13

Page 14: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

The Abelian GroupThe Abelian Group

P + Q = Q + P (commutativity)

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

P + O = O + P = P (existence of an identity element)

there exists ( − P) such that − P + P = P + ( − P) = O (existence of inverses)

Given two points P,Q in E(Fp), there is a third point, denoted by P+Q on E(Fp), and the following relations hold for all P,Q,R in E(Fp)

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 14

Page 15: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

Elliptic Curve PictureElliptic Curve Picture

Consider elliptic curveE: y2 = x3 - x + 1

If P1 and P2 are on E, we can define

P3 = P1 + P2 as shown in picture

Addition is all we need

P1

P2

P3

x

y

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 15

Page 16: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

Addition in Affine Co-Addition in Affine Co-ordinatesordinates

1 1 2 2

3 3

( , ), ( , )

( ) ( , )

P x y Q x y

R P Q x y

x

y

y=m(x-x1)+y1

2 1

2 1

2 31 1

3 2 2

23 1 2

3 1 2 1

;

To find the intersection with E. we get

( ( ) )

,0 ...

,

( )

y ym

x x

m x x y x Ax B

or x m x

So x m x x

y m x x y

Let, P≠Q,

y2=x3+Ax+B

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 16

Page 17: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

Doubling of a pointDoubling of a point

Let, P=Q

What happens when P2=∞?

2

21

1

1 1 2

3 2 2

23 1 3 1 3 1

2 3

3

2

, 0 (since then P +P = ):

0 ...

2 , ( )

dyy x Adx

dy x Am

dx y

If y

x m x

x m x y m x x y

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 17

Page 18: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

Adding with the point OAdding with the point O

P2=O=∞

P1

y

P1=P1+ O=P1

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 18

Page 19: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

Sum of two pointsSum of two points

2 11 2

2 1

21

1 21

3

2

y yfor x x

x x

x afor x x

y

23 1 2

3 3 1 1( )

x x x

y x x y

Define for two points P (x1,y1) and Q (x2,y2) in the Elliptic curve

Then P+Q is given by R(x3,y3) :

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 19

Page 20: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

P+P = 2P

Point at infinity O

As a result of the above case P=O+P

O is called the additive identity of the elliptic curve group.

Hence all elliptic curves have an additive identity O.

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 20

Page 21: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

Projective Co-ordinatesProjective Co-ordinates

Two-dimensional projective space over K is given by the equivalence classes of triples (x,y,z) with x,y z in K and at least one of x, y, z nonzero.

Two triples (x1,y1,z1) and (x2,y2,z2) are said to be equivalent if there exists a non-zero element λ in K, st:◦ (x1,y1,z1) = (λx2, λy2, λz2)◦ The equivalence class depends only the

ratios and hence is denoted by (x:y:z)

2KP

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 21

Page 22: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

Projective Co-ordinatesProjective Co-ordinates

If z≠0, (x:y:z)=(x/z:y/z:1)What is z=0? We obtain the point at

infinity.The two dimensional affine plane over

K: 2

2 2

{( , ) }

Hence using,

( , ) ( : :1)

K

K K

A x y K K

x y X Y

A P

There are advantages with projective co-ordinates from the implementation point of view

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 22

Page 23: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

SingularitySingularity

For an elliptic curve y2=f(x), define F(x,y)=y2-F(x). A singularity of the EC

is a pt (x0,y0) such that:

0 0 0 0

0 0

0 0

( , ) ( , ) 0

,2 '( ) 0

, ( ) '( )

f has a double root

F Fx y x y

x y

or y f x

or f x f x

It is usual to assume the EC has no singular points

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 23

Page 24: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

If Characteristics of field is not 3:

1. Hence condition for no singularity is 4A3+27B2≠0

2. Generally, EC curves have no singularity

0 0 0 0

0 0

0 0

2 3

3 2

2

4 2

2 2

2

22

3 2

( , ) ( , ) 0

, 2 '( ) 0

, ( ) '( )

f has a double root

For double roots,

3 0

/ 3.

Also, +Bx=0,

09 3

2

9

23( ) 0

9

4 27 0

F Fx y x y

x y

or y f x

or f x f x

y x Ax B

x Ax B x A

x A

x Ax

A ABx

Ax

B

AA

B

A B

2 3( )y f x x Ax B

23-27th May 2011 Anurag Labs, DRDO, Hyderabad24

Page 25: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

Elliptic Curves in Elliptic Curves in Characteristic 2Characteristic 2

Generalized Equation:

If a1 is not 0, this reduces to the form:

If a1 is 0, the reduced form is:

Note that the form cannot be:

2 3 2y xy x Ax B

2 3y Ay x Bx C

2 3 21 3 2 4 6y a xy a y x a x a x a

2 3y x Ax B

23-27th May 2011 Anurag Labs, DRDO, Hyderabad25

Page 26: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

Points to PonderPoints to Ponder

Suppose that the cubic polynomial X3+Ax+B factors as (X-e1)(X-e2)(X-e3).

Show that 4A3+27B2=0 iff two or more of e1, e2 and e3 are the same.

Sketch the curves: ◦ E1: Y2=X3-7X+3◦ E2: Y2=X3-3X+2◦ note that the curve E2 is not an elliptic

curve. It has a singular point.

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 26

Page 27: AN INTRODUCTION TO ELLIPTIC CURVE CRYPTOGRAPHY Debdeep Mukhopadhyay Chester Rebeiro Department of Computer Science and Engineering Indian Institute of

ReferencesReferences

D. Stinson, Cryptography: Theory and Practice, Chapman & Hall/CRC

Lawrence C. Washington, Elliptic Curves: Number Theory and Cryptography, Chapman & Hall/CRC

Jeffrey Hoffstein, Jill Pipher, Joseph H. Silverman, An Introduction to Mathematical Cryptography, Springer.

23-27th May 2011 Anurag Labs, DRDO, Hyderabad 27