390 likes | 468 Views
Explore the fundamentals of elliptic curves, their applications in cryptography, and the advantages they offer compared to traditional methods. Learn about ECC encryption, Diffie-Hellman key exchange, digital signatures, and ECC security.
E N D
Number Theory and Advanced Cryptography4. Elliptic Curves Chih-Hung Wang Sept. 2011 Part I: Introduction to Number Theory Part II: Advanced Cryptography
Elliptic Curve Cryptography • Majority of public-key crypto (RSA, D-H) use either integer or polynomial arithmetic with very large numbers/polynomials • Imposes a significant load in storing and processing keys and messages • An alternative is to use elliptic curves • In the mid-1980s, Miller and Koblitz introduced elliptic curves into cryptography. • Offers same security with smaller bit sizes • 4096-bit key size can be replaced by 313-bit elliptic curve system
Real Elliptic Curves • An elliptic curve is defined by an equation in two variables x & y, with coefficients • Consider a cubic elliptic curve of form • y2 = x3 + ax + b • where x,y,a,b are all real numbers • also define zero point O • Have addition operation for elliptic curve • geometrically sum of Q+R is reflection of intersection R
Algebraic Description of Addition P+Q = R =(yQ-yP)/(xQ-xP) P+P = 2P = R
Hasse’s Theorem Schoof Algorithm: http://www.math.rochester.edu/people/grads/jdreibel/ref/12-7-05-Schoof.pdf
Elliptic Curve Cryptography • ECC addition is analog of modulo multiply • ECC repeated addition is analog of modulo exponentiation • need “hard” problem equiv to discrete log • Q=kP, where Q,P belong to a prime curve • is “easy” to compute Q given k,P • but “hard” to find k given Q,P • known as the elliptic curve logarithm problem • Certicom example: E23(9,17)
ECC Diffie-Hellman (1) • can do key exchange analogous to D-H • users select a suitable curve Ep(a,b) • select base point G=(x1,y1) with large order n s.t. nG=O • A & B select private keys nA<n, nB<n • compute public keys: PA=nA×G, PB=nB×G • compute shared key: K=nA×PB,K=nB×PA • same since K=nA×nB×G
ECC Diffie-Hellman (4) • Page 365
ECC Encryption/Decryption (1) • several alternatives, will consider simplest • must first encode any message M as a point on the elliptic curve Pm • select suitable curve & point G as in D-H • each user chooses private key nA<n • and computes public key PA=nA×G • to encrypt Pm : Cm={kG, Pm+k Pb}, k random • decrypt Cm compute: Pm+kPb–nB(kG) = Pm+k(nBG)–nB(kG) = Pm
ECC Encryption/Decryption (2) • Page 363-364
ECC Security (1) • Relies on elliptic curve logarithm problem • Fastest method is “Pollard rho method” • Compared to factoring, can use much smaller key sizes than with RSA etc • For equivalent key lengths computations are roughly equivalent • Hence for similar security ECC offers significant computational advantages
ECC Digital Signature (page 365-366)II Verification