140 likes | 425 Views
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 Motivation for studying elliptic curve cryptography (ECC) Theory of elliptic curves
E N D
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 • Motivation for studying elliptic curve cryptography (ECC) • Theory of elliptic curves • Very brief about arithmetic on the elliptic curve • ElGamal Public Key Encryption algorithm • Tour of the computer program
Introduction to cryptography • Cryptography dates back to Julius Caesar • Introduction of computers drives development in cryptography • Two main types of cryptosystems • Private key – same key used for encryption and 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) • 1985 ECC algorithm (N. Koblitz and V. Miller) Bob Alice
Motivation for the study • Advantages of ECC over RSA • 108-bit ECC Vs 512-bit RSA using 9500 machines • To understand theory behind elliptic curves • To improve efficiency of Maple code • Provide user friendly application using Visual C++ and M.I.R.A.C.L
Elliptic curves • Defined by equation y2 = x3 + Ax + B • y2 = x3 – 4x is equivalent to y = ±√(x3-4x) • If x and y are complex => elliptic curve is torus in ℂ2 • There are other interesting shapes of elliptic curves
Arithmetic on the elliptic curve • Elliptic curves over finite field Fq • Mario’s webpage - www.mariospage.com • Addition of two points on an elliptic curve • Geometrically • Algebraically • Multiplication of a point and a scalar on a curve
Description of ElGamal algorithm • Alice wants to send message to Bob • Bob establishes his public key as following: • Chooses an elliptic curve E over Fq • Chooses a point P on E • Chooses integer s and computes B=sP • E, Fq, P and B are Bob’s public key • Integer s is Bob’s private key
Description of ElGamal algorithm • Alice does following to encrypt a message: • Downloads Bob’s public key • Expresses her message as a point M on the curve E • Chooses a secret random integer k and computes M1=kP and M2=M+kB • Sends M1 and M2 to Bob
Description of ElGamal algorithm • Bob decrypts the message by calculating: • M2 – sM1 = (M + kB) – s(kP) = M + ksP – skP = M • Eavesdropper, Eve, knows Bob’s public key and point M1 and M2 • She needs to solve discrete logarithm problem (hard!)