Introduction to Elliptic Curves CSCI 5857: Encoding and Encryption.

Slides:



Advertisements
Similar presentations
Introduction to Elliptic Curves. What is an Elliptic Curve? An Elliptic Curve is a curve given by an equation E : y 2 = f(x) Where f(x) is a square-free.
Advertisements

Data Security 1 El_Gamal Cryptography. Data Security2 Introduction El_Gamal is a public-key cryptosystem technique El_Gamal is a public-key cryptosystem.
Chapter 4 Finite Fields. Introduction of increasing importance in cryptography –AES, Elliptic Curve, IDEA, Public Key concern operations on “numbers”
Cryptography and Network Security Chapter 4 Fourth Edition by William Stallings.
Chapter 4 – Finite Fields. Introduction will now introduce finite fields of increasing importance in cryptography –AES, Elliptic Curve, IDEA, Public Key.
1 390-Elliptic Curves and Elliptic Curve Cryptography Michael Karls.
What is Elliptic Curve Cryptography?
By Claudia Fiorini, Enrico Martinelli, Fabio Massacci
YSLInformation Security -- Public-Key Cryptography1 Elliptic Curve Cryptography (ECC) For the same length of keys, faster than RSA For the same degree.
Windows Core Security1© 2006 Microsoft Corp Cryptography: Helping Number Theorists Bring Home the Bacon Since 1977 Dan Shumow SDE Windows Core Security.
COMP 170 L2 Page 1 Part 2 of Course Chapter 2 of Textbook.
Elliptic Curve. p2. Outline EC over Z p EC over GF(2 n )
Elliptic Curve Cryptography Jen-Chang Liu, 2004 Adapted from lecture slides by Lawrie Brown Ref: RSA Security ’ s Official Guide to Cryptography.
Electronic Payment Systems Lecture 5: ePayment Security II
Chapter 4 – Finite Fields Introduction  will now introduce finite fields  of increasing importance in cryptography AES, Elliptic Curve, IDEA, Public.
Chapter 3 Encryption Algorithms & Systems (Part B)
Mathematics of Cryptography Part I: Modular Arithmetic, Congruence,
ELECTRONIC PAYMENT SYSTEMSFALL 2001COPYRIGHT © 2001 MICHAEL I. SHAMOS Electronic Payment Systems Lecture 6 Epayment Security II.
Tallinn University of Technology Quantum computer impact on public key cryptography Roman Stepanenko.
ASYMMETRIC CIPHERS.
Public Key Encryption and the RSA Public Key Algorithm CSCI 5857: Encoding and Encryption.
Montgomery multiplication Algorithm Mohammad Farmani Under supervision of : Dr. S. Bayat-sarmadi 2 nd. Semister, Sharif University of Technology.
Peter Lam Discrete Math CS.  Sometimes Referred to Clock Arithmetic  Remainder is Used as Part of Value ◦ i.e Clocks  24 Hours in a Day However, Time.
Elgamal Public Key Encryption CSCI 5857: Encoding and Encryption.
Mathematics of Cryptography Part I: Modular Arithmetic, Congruence,
Section 2.2: Affine Ciphers; More Modular Arithmetic Practice HW (not to hand in) From Barr Textbook p. 80 # 2a, 3e, 3f, 4, 5a, 7, 8 9, 10 (Use affinecipherbreaker.
Elliptic Curve Cryptography
Mathematics of Cryptography Part I: Modular Arithmetic
10.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 10 Symmetric-Key Cryptography.
Mathematics of Cryptography Modular Arithmetic, Congruence,
CPSC 3730 Cryptography and Network Security
Computer System Security CSE 5339/7339
Section 2.1: Shift Ciphers and Modular Arithmetic The purpose of this section is to learn about modular arithmetic, which is one of the fundamental mathematical.
Systems of Equations as Matrices and Hill Cipher.
Public Key Encryption and the RSA Public Key Algorithm CSCI 5857: Encoding and Encryption.
Chapter 4 Numeration and Mathematical Systems © 2008 Pearson Addison-Wesley. All rights reserved.
Section 2.1: Shift Ciphers and Modular Arithmetic Practice HW from Barr Textbook (not to hand in) p.66 # 1, 2, 3-6, 9-12, 13, 15.
Modular Arithmetic with Applications to Cryptography Lecture 47 Section 10.4 Wed, Apr 13, 2005.
Some Number Theory Modulo Operation: Question: What is 12 mod 9?
CSCI 391: Practical Cryptology Substitution Monoalphabetic Ciphers.
Section 2.2: Affine Ciphers; More Modular Arithmetic Shift ciphers use an additive key. To increase security, we can add a multiplicative parameter. –For.
MAT 1000 Mathematics in Today's World Winter 2015.
Lecture 6.1: Misc. Topics: Number Theory CS 250, Discrete Structures, Fall 2011 Nitesh Saxena.
Cryptography and Network Security Chapter 4. Introduction  will now introduce finite fields  of increasing importance in cryptography AES, Elliptic.
An Introduction to Elliptic Curve Cryptography
Implementation Issues for Public Key Algorithms
The Advanced Encryption Standard Part 2: Mathematical Background
Introduction to Number Theory
1 Network Security Dr. Syed Ismail Shah
Unit 2 Modular Arithmetic and Cryptography IT Disicipline ITD1111 Discrete Mathematics & Statistics STDTLP 1 Unit 2 Modular Arithmetic and Cryptography.
Introduction to Pubic Key Encryption CSCI 5857: Encoding and Encryption.
Implementation of Public Key Encryption Algorithms
Introduction to Elliptic Curve Cryptography CSCI 5857: Encoding and Encryption.
RSA Pubic Key Encryption CSCI 5857: Encoding and Encryption.
Elgamal Public Key Encryption CSCI 5857: Encoding and Encryption.
CS480 Cryptography and Information Security Huiping Guo Department of Computer Science California State University, Los Angeles 3. Mathematics of Cryptography.
Chapter 4 With Question/Answer Animations 1. Chapter Motivation Number theory is the part of mathematics devoted to the study of the integers and their.
Efficient Montgomery Modular Multiplication Algorithm Using Complement and Partition Techniques Speaker: Te-Jen Chang.
Public Key Cryptography. Asymmetric encryption is a form of cryptosystem in which Encryption and decryption are performed using the different keys—one.
Asymmetric-Key Cryptography
Attacks on Public Key Encryption Algorithms
Asymmetric-Key Cryptography
Introduction to Cryptography
Elliptic Curves.
Elliptic Curve Cryptography (ECC)
Elliptic Curve Cryptography (ECC)
Modular Arithmetic and Elliptic Curves
Assignment #1 Solutions
Introduction to Elliptic Curve Cryptography
Symmetric-Key Cryptography
Presentation transcript:

Introduction to Elliptic Curves CSCI 5857: Encoding and Encryption

Outline Encryption as points on elliptic curves in space – “Adding” points on an elliptic curve Elliptic curves and modular arithmetic – Finding points on a modular elliptic curve Mathematical operations on modular elliptic curves – Addition – Multiplication

Elliptic Curve Definition General mathematical form (Weierstraus equation) : y 2 = x 3 + ax + b For some a, b (curve parameters)

Elliptic Curve Encryption Encryption: Transforming points on curve (P, K PU ) into another point (C) on same curve as C = P + K PU Need a definition of “+” so that “sum” of two points on a curve is also on the same curve R = P + Q where P = (x P, y P ) Q = (x Q, y Q ) R = (x R, y R )

Elliptic Curve Addition Case 1 Case 1: R based on line formed by P, Q (x P ≠ x Q, y P ≠ y Q ) Equations:  = (y Q – y P ) / (x Q – x P ) x R =  2 – x P – x Q y R =  (x P – x R ) – y P

Elliptic Curve Addition Case 2 Case 2: P = Q, R based on tangent to curve (x P = x Q, y P = y Q ) Equations: x R = ((3x P 2 + a) / 2y P ) 2 - 2x P y R = ((3x P 2 + a) / 2y P ) 2 (x P – x R ) – y P

Elliptic Curve Addition Case 3 Case 3: P = -Q, line does not intercept curve (x P = x Q, y P ≠ y Q ) R = “0” (additive identity) – Point at infinity – 0 = -0

Elliptic Curves over Z p Encryption requires modular arithmetic – Must be difficult to recover original points from sum (original plaintext P from K PU and C) – Modular arithmetic prevents “working backward” Define “curve” as E p (a, b) where p is the modulus, a, b are the coefficients of y 2 = x 3 + ax + b Looking for (x, y) such that y 2 = (x 3 + ax + b) mod p – Note: “points” on curve are integers

Finding Points on a Z p Curve Points on elliptic curve y 2 = x 3 + x + 1 for GF(13): – Must find integer values for x, y < 13 such that (y 2 ) mod 13 = (x 3 + x + 1) mod 13 x = 0: y 2 mod 13 = 1 mod 13 y =  1 y = 1, 12 (-1 mod 13 = 12) x = 1: y 2 mod 13 = 3 mod 13 y =  4 (16 mod 13 = 3) y = 4, 9

Finding Points on a Z p Curve (cont.) Note: Not all values of x have a corresponding y x = 2: y 2 mod 13 = 11 mod 13 No solution for y (Can test all y < 13) x = 3: y 2 mod 13 = 31 mod 13 = 5 No solution for y (Can test all y < 13) x = 4: y 2 mod 13 = = 69 mod 13 = 4 y =  2 y = 2, 11

Resulting Points on a Z p Curve Points on elliptic curve y 2 = x 3 + x + 1 over GF(13): (12, 5)(12, 8)

Elliptic Curve Addition Computing (x R, y R ) = (x P, y P ) + (x Q, y Q ) – Necessary to turn 2 points corresponding to key, plaintext into point corresponding to ciphertext Use same equations for “+” as curves in space Main ideas: – Addition/subtraction/multiplication in mod p – Division = multiplication by inverse mod p

Example: (4, 2) + (10, 6) on E 13 (1, 1) step 1: compute  = (y Q – y P ) / (x Q – x P )  = (6 – 2) x (10 – 4) -1 mod 13 = 4 x 6 -1 mod mod 13 = 11 = 4 x 11 mod 13 = 5 step 2: compute x R =  2 – x P – x Q x R = 25 – 4 – 10 mod 13 = 11 step 3: compute y R =  (x P – x R ) – y P y R = 5 x (4 – 11) – 2 mod 13 = -37 mod 13 = 2 (4, 2) + (10, 6) = (11, 2) note: also on curve!

Multiplication on an Elliptic Curve Multiplication = addition multiple times – Necessary for some forms of elliptic curve cryptography – Must use formula where P = Q for first addition Example: 3 x (1, 4) on E 13 (1, 1) 3 x (1, 4) = ((1, 4) + (1, 4)) + (1, 4) = (8, 1) + (1, 4) = (1, 9)

What’s Next Let me know if you have any questions Continue on to the next lecture on Elliptic Curve Cryptography