Elliptic Curve Cryptography: Presented By: Mrs. S J Patel Department of Computer Engineering, Nit, Surat
Elliptic Curve Cryptography: Presented By: Mrs. S J Patel Department of Computer Engineering, Nit, Surat
PRESENTED BY :
MRS. S J PATEL
DEPARTMENT OF COMPUTER ENGINEERING,
NIT, SURAT
Elliptic Curve Cryptography: Motivation
Public key cryptographic algorithms (asymmetric key algorithms) play an important role in providing
security services:
Confidentiality
Key management
User authentication
Signature
Public key cryptography systems are constructed by relying on the hardness of mathematical problems
RSA: based on the integer factorization problem
DH: based on the discrete logarithm problem
The main problem of conventional public key cryptography systems is that the key size has to be
sufficient large in order to meet the high-level security requirement.
This results in lower speed and consumption of more bandwidth
Solution: Elliptic Curve Cryptography system
Y axis
X axis
2 2
What are the roots of this equation???
2 2
What are the roots of this equation???
Two trivial roots x=0 and x=1…… But what about third one????
2 2
We have,
3 3 1
a+b+x = 2 0+1+x = 2 x= 2
Hence, one more point (½ , ½) and because of the symmetry , another (½ , -½)
Can you find out another point on curve using Diophantus’s method ???
Consider two points (½ , -½) and (1,1) and find out another point on the
curve …..
For most situations, an elliptic curve E is the graph of an equation of the form:
y 2 x3 Ax B
where A and B are constants. This refers to the Weierstrass Equation of Elliptic
Curve.
Here, A, B, x and y all belong to a field of say rational numbers, complex numbers,
finite fields (Fp) or Galois Fields (GF(2n)).
If K is the field where A,B K, then we say that the Elliptic Curve E is defined over
K
1 A
2
dy dy 3 x
Case II : P1 = P2 =(x1,y1) 2 y 3x A, so m
2
Case II : P1 = P2 =(x1,y1)
If y1 ≠ 0
If y1 = 0
We get P1 + P2 = ∞
Case III: P2 = ∞
What about P1 + P2 ????
Do we get P1 + P2 = P1 ??
In other words, P1 + ∞ = P1
The points on E form an additive abelian group with ∞ as the identity element.
F={1,2,3,…,p-1}
Pick secret, random
Pick secret, random Y from F
X from F
gx mod p
gy mod p
Alice Bob
Compute k=(gy)x=gxy mod p
Compute k=(gx)y=gxy mod p
Eve has to compute gxy from gx and gy without knowing x and y…
She faces the Discrete Logarithm Problem in finite fields
MRS. S J PATEL – [email protected] I – NIT SURAT
Elliptic curves over finite fields
x x3+x+1 y Points
Let us do an exercise....
Let E be the curve y2 = x3+x+1 over F5, 0 1 ±1 (0,1),(0,4)
find all the points on E 1 3 - -
2 1 ±1 (2,1),(2,4)
Therefore, E(F5) has order 9.
3 1 ±1 (3,1),(3,4)
x x3+2 y Points
Let E be the curve = y2 x3+2 over F7,
find all the points on E
x x3-xy+1 y Points
Let E be the curve +xy = y2 x3 +1 over
F2, find all the points on E
If we are working over a large finite field and are given points P and kP, it
is computationally hard to determine the value of k.This is called the
discrete logarithm problem for elliptic curves (ECDLP) and is
the basis for the cryptographic applications.
A key pair is associated with a set of public domain parameters (p,q, g). Here, p is a
prime, q is a prime divisor of p−1, and g ∈ [1, p−1] has order q
INPUT : DLdomain parameters (p,q, g), public key y, plaintext m [0, p 1].
OUTPUT: Ciphertext (c1 , c 2 ).
1. Select k R [1, q 1].
Basic ElGamal
2.Compute c1 g k mod p
Encryption 3. Compute c2 m y k mod p
2.Return (c1 , c 2 ).
INPUT : Elliptic curve domain parameters (p, E, P, n), private key d, ciphertext (C1 , C 2 )
EC-ElGamal OUTPUT: Plaintext m.
Decryption 1. Compute M C2 dC1 , and extract m from M
2. Return M.
Alice, A Bob, B
The RSA, DL and EC families all provide the basic functionality expected of public-key
cryptography
But…… How do we analyze these Cryptosystems?
How difficult is the underlying problem that it is based upon
RSA – Integer Factorization
DH – Discrete Logarithms
ECC - Elliptic Curve Discrete Logarithm problem
Impractical?
Many devices are small and have limited storage and computational
power
Where can we apply ECC?
Wireless communication devices
Smart cards
Web servers that need to handle many encryption sessions
Any application where security is needed but lacks the power, storage
and computational power that is necessary for our current
cryptosystems
1. Does the elliptic curve equation y2 = x3 - 7x - 6 over real numbers define a group?
2. What is the additive identity of regular integers?
3. Is (4,7) a point on the elliptic curve y2 = x3 - 5x + 5 over real numbers?
4. What are the negatives of the following elliptic curve points over real numbers?
P(-4,-6), Q(17,0), R(3,9), S(0,-4)
5. In the elliptic curve group defined by y2 = x3 - 17x + 16 over real numbers, what is P
+ Q if P = (0,-4) and Q = (1,0)?
6. In the elliptic curve group defined by y2 = x3 - 17x + 16 over real numbers, what is
2P if P = (4, 3.464)?
1. Does the elliptic curve equation y2 = x3 - 7x - 6 over real numbers define a group?
Ans: Yes
2. What is the additive identity of regular integers? Ans: 0
3. Is (4,7) a point on the elliptic curve y2 = x3 - 5x + 5 over real numbers? Ans: Yes
4. What are the negatives of the following elliptic curve points over real numbers?
P(-4,-6), Q(17,0), R(3,9), S(0,-4) Ans: -P(-4,6), -Q(17,0), -R(3,-9), -S(0,4)
5. In the elliptic curve group defined by y2 = x3 - 17x + 16 over real numbers, what is P
+ Q if P = (0,-4) and Q = (1,0)? Ans: P + Q = (15, -56)
6. In the elliptic curve group defined by y2 = x3 - 17x + 16 over real numbers, what is
2P if P = (4, 3.464)? Ans: 2P = (12.022, -39.362)
Consider the point P(2, 2.65) on curve. Find the point 2P.