* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Why Cryptography?
Survey
Document related concepts
Transcript
Number Theory and
Advanced Cryptography
4. Elliptic Curves
Part I: Introduction to Number Theory
Part II: Advanced Cryptography
Chih-Hung Wang
Sept. 2012
1
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
2
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
3
Real Elliptic Curve Example 1
4
Real Elliptic Curve Example 2
5
Geometric Description of Addition
6
Algebraic Description of Addition
P+Q = R
=(yQ-yP)/(xQ-xP)
P+P = 2P = R
7
Addition Law
8
Example of Addition (1)
9
Example of Addition (2)
10
Example of Addition (3)
11
Elliptic Curves Mod p
12
Example 1
13
Example 2-1
14
Example 2-2
15
Example 3
16
Example 4
17
Law 1
18
Law 2
19
Number of points Mod p
20
Hasse’s Theorem
Schoof Algorithm:
http://www.math.rochester.edu/people/grads/jdreibel/ref/12-7-05-Schoof.pdf
21
Discrete Logarithms on EC
22
Representing plaintext (1)
23
Representing plaintext (2)
24
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)
25
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
26
ECC Diffie-Hellman (2)
27
ECC Diffie-Hellman (3)
28
ECC Diffie-Hellman (4)
Page 365
29
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
30
ECC Encryption/Decryption (2)
Page 363-364
31
ECC Encryption/Decryption (3)
32
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
33
ECC Security (2)
34
ECC Digital Signature (page 365366)
Signing
35
ECC Digital Signature (page 365366)II
Verification
36
ECC Digital Signature (1)
37
ECC Digital Signature (2)
38
ECC Digital Signature (3)
39