The document provides an overview of Elliptic Curve Cryptography (ECC), detailing the process of adding points on an elliptic curve and the properties of elliptic curves as finite abelian groups. It outlines the steps for encoding messages, generating keys, encrypting, and decrypting messages using ECC, highlighting its efficiency compared to RSA. Additionally, it presents a comparison of key sizes required for symmetric, RSA, and ECC encryption to achieve equivalent security levels.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
13 views
ECC_1
The document provides an overview of Elliptic Curve Cryptography (ECC), detailing the process of adding points on an elliptic curve and the properties of elliptic curves as finite abelian groups. It outlines the steps for encoding messages, generating keys, encrypting, and decrypting messages using ECC, highlighting its efficiency compared to RSA. Additionally, it presents a comparison of key sizes required for symmetric, RSA, and ECC encryption to achieve equivalent security levels.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11
Elliptic Curve Cryptography-3
Module III Adding P to P
Knowing P and the coordinates of n. P = (x, y) is a hard problem,
If n is a very large number. How to compute 2P by using algebraic expression? • Let us consider the point P( x, y) in the elliptic group 𝐸𝑝 (𝑎, 𝑏). • We have to consider P(x1, y1) + P (x2,y2), where x1=x2, y1=y2. • The rules for addition of P with P over the elliptic curve 𝐸𝑝 (𝑎, 𝑏) is, • 𝑥3 = 𝜆2 − 𝑥 − 𝑥 𝑚𝑜𝑑 𝑝 | • 𝑦3 = 𝜆 𝑥 − 𝑥3 − 𝑦 (𝑚𝑜𝑑 𝑝) | 3𝑥 2 +𝑎 • 𝜆= (𝑚𝑜𝑑 𝑝) 2𝑦 • E.g. (4,6) , 𝐸11 1,1 . 3𝑥 2 +𝑎 3. 42 +1 49 • 𝜆= (𝑚𝑜𝑑 𝑝)→ (𝑚𝑜𝑑 11)= 𝑚𝑜𝑑 11 2𝑦 2.6 12 • 49. 12−1 𝑚𝑜𝑑 11= 49 . 1 ( mod 11) = 5. How to compute 2P by using algebraic expression? • 𝑥3 = 52 − 4 − 4 𝑚𝑜𝑑 11 → 25-8 (mod 11) → 17 mod 11 → 6 • 𝑦3 = 5 4 − 6 − 6 (𝑚𝑜𝑑 11) • = -16 mod (11) = 11 – (16 mod 11) = 11 – 5 = 6. • 2.P = (6,6) . • Check 2P lies on the curve, 𝑦 2 𝑚𝑜𝑑11 = 𝑥 3 + 𝑥 + 1 𝑚𝑜𝑑 11 • 62 𝑚𝑜𝑑11 = 63 + 6 + 1 𝑚𝑜𝑑 11 • 36 (mod 11) = 223 mod 11 •3=3 Properties of elliptic curves • Consider the elliptic curve E. The set of points on the curve over a finite field Fp, E(Fp) is a finite abelian group. Let us begin by showing that E(Fp) is a group. • Closure: consider points P, Q ∈ E(p) then P+Q ∈ E(Fp). Hence closure holds. • Identity: The Identify element is the point at Infinity. P+O=O+P=P • Associativity: Consider the points P, Q, R ∈ E(Fp) then ( P+Q) + R = P+(Q+R) • Additive Inverses: If x2=x1 and y2= -y1, that is P=(x1,y1) and Q=(x2,y2) = -P, then P – P = O (Point at Infinity). P+Q=0 (Q=-P). Hence, E(Fp) is a group. E(Fp) is abelian, for points P,Q ∈ E(Fp), P+Q = Q+P. Hence, E(Fp) is an abelian group. Elliptic Curve Cryptography • Steps: • 1. Encode a plaintext message as point on the curve. • 2. establish public private keys • 3. Encrypt the message using the public key. • 4. Decrypt using the private key. Elliptic Curve Cryptography • Steps: • 1. Encode a plaintext message as point on the curve. Let us consider 𝐸11 (1,1) (4,6) directly take plain text message. There are many methods to convert plaintext to points on the elliptic curve. Elliptic Curve Cryptography • 2. Keys generation Choose a generator point G ∈ 𝐸𝑝 (𝑎, 𝑏) for example (1,5) ∈ 𝐸11 (1,1) select a private key n=2 Compute public key = 2. G = G+G = (1,5) + (1,5) 3𝑥 2 +𝑎 3.12 +1 4 𝜆= 𝑚𝑜𝑑 𝑝= 𝑚𝑜𝑑 11= 𝑚𝑜𝑑 11 2𝑦 2.5 10 −1 = 4. 10 𝑚𝑜𝑑 11= 4. 10 𝑚𝑜𝑑 11 = 40 mod 11 = 7. 𝑥3 = 72 − 1 − 1 𝑚𝑜𝑑 11 = 49 − 2 𝑚𝑜𝑑 11 = 47 𝑚𝑜𝑑 11 = 3 𝑦3 = 7 1 − 3 − 5 (𝑚𝑜𝑑 11)=7 1 − 3 − 5 (𝑚𝑜𝑑 11)=3 Elliptic Curve Cryptography • 3. Encrypt the message using the public key. • C = [ (KG), (M+K.PU) ] , k is a random number. • C = [ C1, C2 ] • = [ 2. (1,5) , (4,6)+2.(3,3)] • = [ (1,5)+(1,5) , (4,6) + (3,3)+(3,3) ] • 𝜆 = 1, 𝑥3 = 6, 𝑦3 = 5. • = [ (1,5)+(1,5) , (4,6) + (6,5) ] • = [ (3,3) , (4,5) ] Elliptic Curve Cryptography • 4. Decrypt the message using the private key. • M = C2 – [ n. C1 ] • = (4,5) – [ 2 . (3,3)] • = (4,5) – [ (3,3) + (3,3) ] • = (4,5) – (6,5) • = (4,5) + -(6,5) • = (4,5) + (6, -5) • 𝜆 = 6, 𝑥3 = 4, 𝑦3 = 6. • = (4,6) ECC • ECC takes one sixth the computational effort to provide the same level of cryptographic security that you get with 1024-bit RSA and is 15 times faster. Symmetric key sizes (bits) RSA key sizes(bits) ECC key sizes(bits) 80 1024 160 112 2048 224 128 3072 256 192 7680 384 256 15360 512