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

## Presentation on theme: "Elliptic curve arithmetic and applications to cryptography By Uros Abaz Supervised by Dr. Shaun Cooper and Dr. Andre Barczak."— Presentation transcript:

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

Structure of the talk Introduction to cryptography Introduction to cryptography Motivation for studying elliptic curve cryptography (ECC) Motivation for studying elliptic curve cryptography (ECC) Theory of elliptic curves Theory of elliptic curves Very brief about arithmetic on the elliptic curve Very brief about arithmetic on the elliptic curve ElGamal Public Key Encryption algorithm ElGamal Public Key Encryption algorithm Tour of the computer program Tour of the computer program

Introduction to cryptography Cryptography dates back to Julius Caesar Cryptography dates back to Julius Caesar Introduction of computers drives development in cryptography Introduction of computers drives development in cryptography Two main types of cryptosystems Two main types of cryptosystems Private key – same key used for encryption and decryption Private key – same key used for encryption and decryption Public key – public key used for encryption and private key used for decryption Public key – public key used for encryption and private key used for decryption

Public key cryptosystem 1977 RSA algorithm (R. Rivest, A. Shamir, L. Adleman) 1977 RSA algorithm (R. Rivest, A. Shamir, L. Adleman) 1985 ECC algorithm (N. Koblitz and V. Miller) 1985 ECC algorithm (N. Koblitz and V. Miller) Alice Bob

Motivation for the study Advantages of ECC over RSA Advantages of ECC over RSA 108-bit ECC Vs 512-bit RSA using 9500 machines 108-bit ECC Vs 512-bit RSA using 9500 machines To understand theory behind elliptic curves To understand theory behind elliptic curves To improve efficiency of Maple code To improve efficiency of Maple code Provide user friendly application using Visual C++ and M.I.R.A.C.L Provide user friendly application using Visual C++ and M.I.R.A.C.L

Elliptic curves Defined by equation y 2 = x 3 + Ax + B Defined by equation y 2 = x 3 + Ax + B y 2 = x 3 – 4x is equivalent to y = ±√(x 3 -4x) y 2 = x 3 – 4x is equivalent to y = ±√(x 3 -4x) If x and y are complex => elliptic curve is torus in ℂ 2 If x and y are complex => elliptic curve is torus in ℂ 2 There are other interesting shapes of elliptic curves There are other interesting shapes of elliptic curves

Arithmetic on the elliptic curve Elliptic curves over finite field F q Elliptic curves over finite field F q Mario’s webpage - www.mariospage.com Mario’s webpage - www.mariospage.com Addition of two points on an elliptic curve Addition of two points on an elliptic curve Geometrically Geometrically Algebraically Algebraically Multiplication of a point and a scalar on a curve Multiplication of a point and a scalar on a curve

Description of ElGamal algorithm Alice wants to send message to Bob Alice wants to send message to Bob Bob establishes his public key as following: Bob establishes his public key as following: Chooses an elliptic curve E over F q Chooses an elliptic curve E over F q Chooses a point P on E Chooses a point P on E Chooses integer s and computes B=sP Chooses integer s and computes B=sP E, F q, P and B are Bob’s public key E, F q, P and B are Bob’s public key Integer s is Bob’s private key Integer s is Bob’s private key

Description of ElGamal algorithm Alice does following to encrypt a message: Alice does following to encrypt a message: Downloads Bob’s public key Downloads Bob’s public key Expresses her message as a point M on the curve E Expresses her message as a point M on the curve E Chooses a secret random integer k and computes M 1 =kP and M 2 =M+kB Chooses a secret random integer k and computes M 1 =kP and M 2 =M+kB Sends M 1 and M 2 to Bob Sends M 1 and M 2 to Bob

Description of ElGamal algorithm Bob decrypts the message by calculating: Bob decrypts the message by calculating: M 2 – sM 1 = (M + kB) – s(kP) = M + ksP – skP = M M 2 – sM 1 = (M + kB) – s(kP) = M + ksP – skP = M Eavesdropper, Eve, knows Bob’s public key and point M 1 and M 2 Eavesdropper, Eve, knows Bob’s public key and point M 1 and M 2 She needs to solve discrete logarithm problem (hard!) She needs to solve discrete logarithm problem (hard!)

Tour of the program

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

Similar presentations