elliptic curve arithmetic and applications to cryptography by uros abaz supervised by dr. shaun...

11
Elliptic curve Elliptic curve arithmetic and arithmetic and applications to applications to cryptography cryptography By Uros Abaz By Uros Abaz Supervised by Dr. Shaun Supervised by Dr. Shaun Cooper and Dr. Andre Cooper and Dr. Andre Barczak Barczak

Upload: darrell-phelps

Post on 18-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Elliptic curve arithmetic and applications to cryptography By Uros Abaz Supervised by Dr. Shaun Cooper and Dr. Andre Barczak

Elliptic curve Elliptic curve arithmetic and arithmetic and applications to applications to cryptographycryptography

By Uros AbazBy Uros Abaz

Supervised by Dr. Shaun Supervised by Dr. Shaun

Cooper and Dr. Andre Cooper and Dr. Andre

BarczakBarczak

Page 2: Elliptic curve arithmetic and applications to cryptography By Uros Abaz Supervised by Dr. Shaun Cooper and Dr. Andre Barczak

Structure of the talkStructure of the talk

Introduction to cryptographyIntroduction to cryptography Motivation for studying elliptic curve Motivation for studying elliptic curve

cryptography (ECC)cryptography (ECC) Theory of elliptic curvesTheory of elliptic curves Very brief about arithmetic on the Very brief about arithmetic on the

elliptic curveelliptic curve ElGamal Public Key Encryption ElGamal Public Key Encryption

algorithmalgorithm Tour of the computer programTour of the computer program

Page 3: Elliptic curve arithmetic and applications to cryptography By Uros Abaz Supervised by Dr. Shaun Cooper and Dr. Andre Barczak

Introduction to Introduction to cryptographycryptography

Cryptography dates back to Julius Cryptography dates back to Julius CaesarCaesar

Introduction of computers drives Introduction of computers drives development in cryptographydevelopment in cryptography

Two main types of cryptosystemsTwo main types of cryptosystems Private keyPrivate key – same key used for encryption – same key used for encryption

and decryptionand decryption Public keyPublic key – public key used for encryption – public key used for encryption

and private key used for decryptionand private key used for decryption

Page 4: Elliptic curve arithmetic and applications to cryptography By Uros Abaz Supervised by Dr. Shaun Cooper and Dr. Andre Barczak

Public key cryptosystemPublic key cryptosystem

1977 RSA algorithm (R. 1977 RSA algorithm (R. RRivest, A. ivest, A. SShamir, L. hamir, L. AAdleman)dleman) 1985 ECC algorithm (N. Koblitz and V. Miller)1985 ECC algorithm (N. Koblitz and V. Miller)

Alice Bob

Page 5: Elliptic curve arithmetic and applications to cryptography By Uros Abaz Supervised by Dr. Shaun Cooper and Dr. Andre Barczak

Motivation for the studyMotivation for the study

Advantages of ECC over RSAAdvantages of ECC over RSA 108-bit ECC Vs 512-bit RSA using 9500 108-bit ECC Vs 512-bit RSA using 9500

machinesmachines To understand theory behind elliptic To understand theory behind elliptic

curvescurves To improve efficiency of Maple code To improve efficiency of Maple code Provide user friendly application Provide user friendly application

using Visual C++ and M.I.R.A.C.Lusing Visual C++ and M.I.R.A.C.L

Page 6: Elliptic curve arithmetic and applications to cryptography By Uros Abaz Supervised by Dr. Shaun Cooper and Dr. Andre Barczak

Elliptic curvesElliptic curves

Defined by equation yDefined by equation y22 = x = x33 + Ax + B + Ax + B yy22 = x = x33 – 4x is equivalent to y = ±√(x – 4x is equivalent to y = ±√(x33-4x)-4x)

If x and y are complex => elliptic curve is If x and y are complex => elliptic curve is torus in ℂtorus in ℂ22

There are other interesting shapes of elliptic There are other interesting shapes of elliptic curvescurves

-3 -2 -1 0 1 2 3-10

-8

-6

-4

-2

0

2

4

6

8

10

x

x3-4 x

y

-3 -2 -1 0 1 2 3 4 5-10

-8

-6

-4

-2

0

2

4

6

8

10

x

y2=x3-4 x

y

Page 7: Elliptic curve arithmetic and applications to cryptography By Uros Abaz Supervised by Dr. Shaun Cooper and Dr. Andre Barczak

Arithmetic on the elliptic Arithmetic on the elliptic curvecurve

Elliptic curves over finite field FElliptic curves over finite field Fqq

Mario’s webpage - Mario’s webpage - www.mariospage.comwww.mariospage.com

Addition of two points on an elliptic Addition of two points on an elliptic curvecurve Geometrically Geometrically AlgebraicallyAlgebraically

Multiplication of a point and a scalar Multiplication of a point and a scalar on a curve on a curve

Page 8: Elliptic curve arithmetic and applications to cryptography By Uros Abaz Supervised by Dr. Shaun Cooper and Dr. Andre Barczak

Description of ElGamal Description of ElGamal algorithmalgorithm

Alice wants to send message to BobAlice wants to send message to Bob Bob establishes his public key as Bob establishes his public key as

following:following: Chooses an elliptic curve E over FChooses an elliptic curve E over Fqq

Chooses a point P on EChooses a point P on E Chooses integer s and computes B=sPChooses integer s and computes B=sP E, FE, Fqq, P and B are Bob’s public key, P and B are Bob’s public key Integer s is Bob’s private keyInteger s is Bob’s private key

Page 9: Elliptic curve arithmetic and applications to cryptography By Uros Abaz Supervised by Dr. Shaun Cooper and Dr. Andre Barczak

Description of ElGamal Description of ElGamal algorithmalgorithm

Alice does following to encrypt a Alice does following to encrypt a message:message: Downloads Bob’s public keyDownloads Bob’s public key Expresses her message as a point M on Expresses her message as a point M on

the curve Ethe curve E Chooses a secret random integer k and Chooses a secret random integer k and

computes Mcomputes M11=kP and M=kP and M22=M+kB=M+kB

Sends MSends M11 and M and M22 to Bob to Bob

Page 10: Elliptic curve arithmetic and applications to cryptography By Uros Abaz Supervised by Dr. Shaun Cooper and Dr. Andre Barczak

Description of ElGamal Description of ElGamal algorithmalgorithm

Bob decrypts the message by Bob decrypts the message by calculating:calculating: MM22 – sM – sM11 = (M + kB) – s(kP) = M + ksP = (M + kB) – s(kP) = M + ksP

– skP = M– skP = M Eavesdropper, Eve, knows Bob’s Eavesdropper, Eve, knows Bob’s

public key and point Mpublic key and point M11 and M and M22

She needs to solve discrete She needs to solve discrete logarithm problem (hard!)logarithm problem (hard!)

Page 11: Elliptic curve arithmetic and applications to cryptography By Uros Abaz Supervised by Dr. Shaun Cooper and Dr. Andre Barczak

Tour of the programTour of the program