Elliptic Curve Cryptography Shane Almeida Saqib Awan Dan Palacio.

Slides:



Advertisements
Similar presentations
Key Management Nick Feamster CS 6262 Spring 2009.
Advertisements

Are standards compliant Elliptic Curve Cryptosystems feasible on RFID?
Cryptography and Network Security
Notation Intro. Number Theory Online Cryptography Course Dan Boneh
The XTR public key system (extended version of Crypto 2000 presentation) Arjen K. Lenstra Citibank, New York Technical University Eindhoven Eric R. Verheul.
Elliptic curve arithmetic and applications to cryptography By Uros Abaz Supervised by Dr. Shaun Cooper and Dr. Andre Barczak.
Advanced Information Security 4 Field Arithmetic
Efficient generation of cryptographically strong elliptic curves Shahar Papini Michael Krel Instructor : Barukh Ziv 1.
YSLInformation Security -- Public-Key Cryptography1 Elliptic Curve Cryptography (ECC) For the same length of keys, faster than RSA For the same degree.
1 Efficient Algorithms for Elliptic Curve Cryptosystems Original article by Jorge Guajardo and Christof Paar Of WPI ECE Department Presentation by Curtis.
November 1, 2006Sarah Wahl / Graduate Student UCCS1 Public Key Infrastructure By Sarah Wahl.
CS470, A.SelcukElGamal Cryptosystem1 ElGamal Cryptosystem and variants CS 470 Introduction to Applied Cryptography Instructor: Ali Aydin Selcuk.
Elliptic Curve Cryptography Jen-Chang Liu, 2004 Adapted from lecture slides by Lawrie Brown Ref: RSA Security ’ s Official Guide to Cryptography.
Dr. Lo’ai Tawalbeh Fall 2005 Chapter 10 – Key Management; Other Public Key Cryptosystems Dr. Lo’ai Tawalbeh Computer Engineering Department Jordan University.
Electronic Payment Systems Lecture 5: ePayment Security II
Cryptography1 CPSC 3730 Cryptography Chapter 9 Public Key Cryptography and RSA.
CPE5021 Advanced Network Security --- Advanced Cryptography: Elliptic Curve Cryptography --- Lecture 3 CPE5021 Advanced Network Security --- Advanced Cryptography:
ASYMMETRIC CIPHERS.
-Anusha Uppaluri.  ECC- A set of algorithms for key generation, encryption and decryption (public key encryption technique)  ECC was introduced by Victor.
By Abhijith Chandrashekar and Dushyant Maheshwary.
Elliptic Curve Cryptography
LOGO Public Key Encryption Kyle Schmidt. A Brief History of Cryptography  Ancient Greeks  Scytale Cipher  Julius Caesar  Caesar Cipher  “Enigma”
1 Network Security Lecture 6 Public Key Algorithms Waleed Ejaz
Lecture 10: Elliptic Curve Cryptography Wayne Patterson SYCS 653 Fall 2009.
CPSC 3730 Cryptography and Network Security
Digital Signatures: Mathematics Zdeněk Říha. Data authentication Data integrity + data origin Digital signature Asymmetric cryptography public and private.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Application of Elliptic Curves to Cryptography
CS 627 Elliptic Curves and Cryptography Paper by: Aleksandar Jurisic, Alfred J. Menezes Published: January 1998 Presented by: Sagar Chivate.
Chapter 21 Public-Key Cryptography and Message Authentication.
Elliptic Curve Cryptography Implementation & PKI Adoption Brian Saville Jonathan Mitchell.
Scott CH Huang COM5336 Cryptography Lecture 10 Elliptic Curve Cryptography Scott CH Huang COM 5336 Cryptography Lecture 10.
Cryptography and Network Security (CS435) Part Eight (Key Management)
Cryptography and Network Security Chapter 10 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Elliptical Curve Cryptography Manish Kumar Roll No - 43 CS-A, S-7 SOE, CUSAT.
Public Key Cryptography. symmetric key crypto requires sender, receiver know shared secret key Q: how to agree on key in first place (particularly if.
Data Security and Encryption (CSE348) 1. Lecture # 12 2.
Some Perspectives on Smart Card Cryptography
Cryptography and Network Security Key Management and Other Public Key Cryptosystems.
Understanding Cryptography by Christof Paar and Jan Pelzl These slides were prepared by Tim Güneysu, Christof Paar and Jan Pelzl.
Information Security Lab. Dept. of Computer Engineering 87/121 PART I Symmetric Ciphers CHAPTER 4 Finite Fields 4.1 Groups, Rings, and Fields 4.2 Modular.
Elliptic Curve Cryptography
Cryptography and Network Security
Cryptographic coprocessor
An Introduction to Elliptic Curve Cryptography
Elliptic Curve Cryptography Celia Li Computer Science and Engineering November 10, 2005.
Lecture 9 Elliptic Curves. In 1984, Hendrik Lenstra described an ingenious algorithm for factoring integers that relies on properties of elliptic curves.
Lecture 11: Elliptic Curve Cryptography Wayne Patterson SYCS 653 Fall 2008.
1 Network Security Dr. Syed Ismail Shah
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
1 Cryptanalysis Lab Elliptic Curves. Cryptanalysis Lab Elliptic Curves 2 Outline [1] Elliptic Curves over R [2] Elliptic Curves over GF(p) [3] Properties.
Introduction to Elliptic Curve Cryptography CSCI 5857: Encoding and Encryption.
Motivation Basis of modern cryptosystems
Key Management public-key encryption helps address key distribution problems have two aspects of this: – distribution of public keys – use of public-key.
Information Security Lab. Dept. of Computer Engineering 251/ 278 PART II Asymmetric Ciphers Key Management; Other CHAPTER 10 Key Management; Other Public.
Elliptic Curve Public Key Cryptography Why ? ● ECC offers greater security for a given key size. ● The smaller key size also makes possible much more compact.
ASymmetric Key Algorithms
Elliptic Curve Public Key Cryptography
Asymmetric-Key Cryptography
Network Security Design Fundamentals Lecture-13
D. Cheung – IQC/UWaterloo, Canada D. K. Pradhan – UBristol, UK
Elliptic Curve Cryptography (ECC)
Elliptic Curve Cryptography (ECC)
The Application of Elliptic Curves Cryptography in Embedded Systems
Introduction to Elliptic Curve Cryptography
CSCE 715: Network Systems Security
Cryptology Design Fundamentals
Computer Security Elliptic Curve Cryptosystems
Network Security Design Fundamentals Lecture-13
Presentation transcript:

Elliptic Curve Cryptography Shane Almeida Saqib Awan Dan Palacio

Outline BackgroundPerformanceApplication

Elliptic Curve Cryptography Relatively new approach to asymmetric cryptography Independently proposed by Neal Koblitz and Victor Miller in 1985

Asymmetric Cryptosystems Two mathematically related keys Public key for encryption Public key for encryption Private key for decryption Private key for decryption Private key can not be easily deduced from the public key Security depends on a mathematical function whose inverse is difficult to calculate Security depends on a mathematical function whose inverse is difficult to calculate

Asymmetric Approaches RSA Integer multiplication and factorization Integer multiplication and factorizationDiffie-Hellamn Discrete exponentiation and logarithm Discrete exponentiation and logarithm Elliptic Curve Cryptography Point multiplication and discrete logarithm Point multiplication and discrete logarithm

Elliptic Curves Elliptic curves are not ellipses (the name comes from elliptic integrals) Circle x 2 + y 2 = r 2 x 2 + y 2 = r 2Ellipsis a·x 2 + b·y 2 = c a·x 2 + b·y 2 = c Elliptic curve y 2 = x 3 + a·x + b y 2 = x 3 + a·x + b

Elliptic Curves Over Real Numbers An elliptic curve over reals is the set of points (x,y) which satisfy the equation y 2 = x 3 + a·x + b, where x, y, a, and b are real numbers If 4·a ·b 2 is not 0 (i.e. x 3 + a·x + b contains no repeated factors), then the elliptic curve can be used to form a group An elliptic curve group consists of the points on the curve and a special point O Elliptic curves are additive groups Addition can be defined geometrically or algebraically Addition can be defined geometrically or algebraically

Adding Points P and Q Draw a line that intersects distinct points P and Q The line will intersect a third point -R The line will intersect a third point -R Draw a vertical line through point -R The line will intersect a fourth point R The line will intersect a fourth point R Point R is defined as the summation of points P and Q R = P + Q R = P + Q

Adding Points P and -P Draw a line that intersects points P and -P The line will not intersect a third point The line will not intersect a third point For this reason, elliptic curves include O, a point at infinity P + (-P) = O P + (-P) = O O is the additive identity O is the additive identity

Doubling the Point P Draw a line tangent to point P The line will intersect a second point -R The line will intersect a second point -R Draw a vertical line through point -R The line will intersect a third point R The line will intersect a third point R Point R is defined as the summation of point P with itself R = 2·P R = 2·P

Doubling the Point P if yP = 0 Draw a line tangent to point P If yP = 0, the line will not intersect a second point If yP = 0, the line will not intersect a second point 2·P = O when yP = 0 3·P = P (2 · P + P) 3·P = P (2 · P + P) 4·P = O (2 · P + 2 · P) 4·P = O (2 · P + 2 · P) 5·P = P (2 · P + 2 · P + P) 5·P = P (2 · P + 2 · P + P)

Algebraic Approach Point Addition R = P + Q R = P + Q s = (yP – yQ) / (xP – xQ) s = (yP – yQ) / (xP – xQ) xR = s 2 – xP – xQ xR = s 2 – xP – xQ yR = -yP + s(xP – xR) yR = -yP + s(xP – xR) Point Doubling R = 2·P R = 2·P s = (3·xP 2 + a) / (2·yP) s = (3·xP 2 + a) / (2·yP) xR = s 2 – 2·xP xR = s 2 – 2·xP yR = -yP + s(xP – xR) yR = -yP + s(xP – xR)

Cryptography with Elliptic Curves Calculations with real numbers are slow and rounding causes inaccuracy Speed and accuracy are important for cryptography Use elliptic curve groups over the finite field F p * Elliptic curves are formed by choosing a and b within the field F p y 2 mod p = x 3 + a·x + b mod p y 2 mod p = x 3 + a·x + b mod p * can also use F 2 m, but I’m skipping it

Cryptography with Elliptic Curves Because it’s a finite field, a finite number of points make up the curve This means there is no true curve anymore This means there is no true curve anymore But also no more rounding But also no more rounding Geometric definitions of addition and doubling don’t work on these curves Algebraic definitions still hold

The Discrete Logarithm Problem The discrete logarithm problem for ECC is the inverse of point multiplication Point multiplication is simply calculating Q=kP, where k is an integer and P is a point on the curve

Elliptic Curve Discrete Logarithm Given points P and Q, find a number k such that k·P = Q P is the base point on a specific, published curve P is the base point on a specific, published curve Q is the public key Q is the public key k is the private key (very large prime number) k is the private key (very large prime number) With doubling, we can go from P to 2·P With addition, we can go from 2·P to 3·P

The Discrete Logarithm Problem Determining the point k·P in this way is referred to as the scalar multiplication of a point Scalar multiplication is intractable Elliptic Curve Discrete Logarithm Problem Elliptic Curve Discrete Logarithm Problem k is the discrete logarithm of Q to the base P k is the discrete logarithm of Q to the base P Brute force attacks range up to 3x10 57 operations by a stepping process Applies to NIST-defined P192 curve Applies to NIST-defined P192 curve

Attacking ECC ECC is not susceptible to index-calculus attacks Index-calculus relies on group properties that ECC groups do not have Index-calculus relies on group properties that ECC groups do not have Brute force does not fair well either as shown Best possible way is a ‘collision attack’ known as Pollard’s rho attack As field size increases, the attack becomes harder at an exponential rate As field size increases, the attack becomes harder at an exponential rate

Security Performance Implementation allows for a significant reduction in key size ECC key of 163 bits is equivalent to RSA key of 1024 bits ECC key of 163 bits is equivalent to RSA key of 1024 bits ECC key of 256 bits is equivalent to RSA key of 3072 bits ECC key of 256 bits is equivalent to RSA key of 3072 bits ECC’s main advantage: as key length increases, so does the difficulty of the inversion process

Performance Analysis - Speed ECC performance is dependent on field operations Arithmetic involved in ECC Algorithmic Level (addition and subtraction chains) Algorithmic Level (addition and subtraction chains) Curve Arithmetic Level (selection of coordinate representation) Curve Arithmetic Level (selection of coordinate representation) Field Arithmetic Level (basis selection, multiplier and inverter structures) Field Arithmetic Level (basis selection, multiplier and inverter structures)

Performance Analysis - Speed How can ECC performance increase? Increase efficiency of finite field mathematics Increase efficiency of finite field mathematics The performance of ECC relies heavily on the speed of the computations in the finite field Use particular finite fields and elliptic curves where applicable Use particular finite fields and elliptic curves where applicable Implementing the right field representation Implementing the right field representation

Representations Types of representations for elements in a finite field Normal Basis Normal Basis Takes the form {1, α, α 2,…, α n-1 } Type I and Type II representations optimized for N Polynomial Basis Polynomial Basis Takes the form {α, α 2, α 2^2,…, α 2^(n-1) } α is a root of an irreducible polynomial f(x) that has a degree N in a field

Which is better? PB does inversion 10% faster NB does scalar multiplication 12% faster Both perform basic addition and subtraction efficiently Performance depends on implementation Ex. ElGamel protocol - encryption using EC runs 22% faster when combined with NB rather than PB Ex. ElGamel protocol - encryption using EC runs 22% faster when combined with NB rather than PB Using other protocols may show different results as well Using other protocols may show different results as well Performance is also related to hardware design

Performance Comparison Key sizes for EC using PB are 155 and 183 respectively Key sizes for EC using NB are 155 and 173 respectively

Implementing Efficient ECC For Smart Cards (ECDSA) Presented By: Saqib Awan

Elliptic Curve Cryptosystems (ECC) Merits: A 160 bit ECC has roughly the same security as 1024 bit RSA. A 160 bit ECC has roughly the same security as 1024 bit RSA. Limited memory and computational power. Limited memory and computational power.Purpose: Algorithms to achieve optimized implementation of the ECDSA over the field GF(p) on smart cards. Algorithms to achieve optimized implementation of the ECDSA over the field GF(p) on smart cards. Algorithms for modular reduction, modular inversion and scalar multiplication. Algorithms for modular reduction, modular inversion and scalar multiplication.

Discrete Logarithm Problem Based on the difficulty of elliptic curve discrete logarithm problem (DLP). DLP applies to mathematical structures called groups. For higher security the rate of increase key size is much slower for RSA key sizes. Faster implementation using less bandwidth and power- crucial for smart cards. IEEE Std , WAP (Wireless Application Protocol), ANSI X9.62, ANSI X9.63 and ISO CD ) employs ECC. IEEE Std , WAP (Wireless Application Protocol), ANSI X9.62, ANSI X9.63 and ISO CD ) employs ECC.

Elliptic curve over a Galois field with p elements E : y 2 = x 3 + ax + b (mod p) Addition and doubling of points are the group operations along with the identity element. Definition ECDLP: Given the prime modulus p, the curve constants a and b and two points P and Q, find a scalar k such that Q = kP Given the prime modulus p, the curve constants a and b and two points P and Q, find a scalar k such that Q = kP Efficient Field Arithmetic in crypto coprocessor. Effect of coordinate systems on speed of the scalar multiplication operations.

Smart Card Hardware Motorola M-Smart JupiterTM smart card based on Java CardTM 2.1 technology and an ARM processor with a word size of 32 bits, 64KB of ROM,32KB of EEPROM, 3KB RAM and a modular arithmetic coprocessor (crypto coprocessor).

ECDSA Signature Generation Signature generation for message M: private key d, hash value h=Hash(M), order l of base point P.

ECDSA Signature Verification Signature verification for message M, signature (r,s), hash h: base point P, public key Q=dP, order l of base point P

Modular arithmetic of GF(p) Modular Addition and Subtraction. Modular Reduction (multiplication) algorithms: Barrett reduction. Barrett reduction. Montgomery reduction. Montgomery reduction. NIST primes by Brown et al., very fast (6% and 33%) but specialized reduction algorithm. NIST primes by Brown et al., very fast (6% and 33%) but specialized reduction algorithm. Pseudo-Mersenne prime. Pseudo-Mersenne prime. Modular Inversion (Division) Binary extended GCD (BEGCD) algorithm Binary extended GCD (BEGCD) algorithm Extended Euclidean algorithm (EEA) Extended Euclidean algorithm (EEA) Exponentiation method (Fermat’s little theorem) Exponentiation method (Fermat’s little theorem)

Scalar multiplication Basic crypto operation of an ECC. Series of point addition and doubling. Binary method due to no pre-computation phase. Faster processing when using signed representation of the scalar value.

Point coordinates and Scalar Multiplication Addition and Doubling Affine - a point is represented as (x A, y A ). Affine - a point is represented as (x A, y A ). Projective - (X, Y,Z) where x A = XZ −1 and y A = Y Z −1. Projective - (X, Y,Z) where x A = XZ −1 and y A = Y Z −1. Jacobian, Modified Jacobian and Chudnovsky Jacobian. Jacobian, Modified Jacobian and Chudnovsky Jacobian. Issue of Temporary variables required by each algorithm. Issue of Temporary variables required by each algorithm. Mixed coordinate multiplication. Mixed coordinate multiplication.

Background References Elliptic Curve Cryptography at the Wikipedia Elliptic curve cryptography FAQ by George Barwood Elliptic Curve Cryptography according to Steven Galbraith An Elliptic Curve Cryptography (ECC) Primer by certicom Online Elliptic Curve Cryptography Tutorial by certicom

Performance References Bednara, M. et. al. “Tradeoff Analysis of FPGA Based Elliptic Curve Cryptography.” Circuits and Systems, 29 May Qizhi, Qui “Research on Elliptic Curve Cryptography.” Computer Supported Cooperative Work in Design. 26 May 2004

Application References Implementing an efficient elliptic curve cryptosystem over GF(p) on a smart card, Yvonne Hitchcock, Edward Dawson, Andrew Clark, Paul Montague, October THE ELLIPTIC CURVE CRYPTOSYSTEM FOR SMART CARDS, A Certicom White Paper, Published: May 1998