ELLIPTIC CURVE CRYPTOSYSTEM
by
Dr M Rajasekhara Babu
School of
Computer Science and Engineering
Vellore-632014, Tamil Nadu, India
Outline
Session Objectives & Session Plan
Elliptic curve cryptosystem
Elliptic curve cryptosystem – Addition, subtraction,
Multiplication and Division
Encryption and Decryption
Summary, References
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 2
Objectives & Teaching Learning Material
To provide Basic knowledge on Elliptic curve
cryptosystem
To understand about Elliptic curve cryptosystem
– Addition, subtraction, Multiplication and
Division
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 3
Session Plan
Skill and
Time Learning Aid and Typical Student
Content Faculty Approach Competency
(in min) Methodology Activity
Developed
Quiz Questions Answers Knowledge
05 Re-Cap
Presentation Organizes Identifies Evaluation
10 Introduction Explains Presentations Observes Knowledge
20 Elliptic Curve Cryptosystem Explains Presentation Listens Application
Elliptic curve cryptosystem –
10 Addition, subtraction, Explains Presentation Observes Knowledge
Multiplication and Division
Conclusion and Listens Comprehen
05 Summary Facilitates
Summary with quiz Participates sion
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 4
Introduction to Elliptic Curve Cryptosystem (ECC)
Introduction to Elliptic
Curve Cryptosystem • Originally introduced in the year 1985
(ECC)
• Is asymmetric-key cryptosystems
• Is similar to RSA in application but more complex
math is used
– Although RSA and ElGamal are secure asymmetric-key
cryptosystems, their security comes with a price, their
large keys.
– Researchers have looked for alternatives that give the
same level of security with smaller key sizes.
• One of these promising alternatives is the elliptic
curve cryptosystem (ECC)
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 5
Elliptic Curve Cryptosystem (ECC)
Introduction to Elliptic
Curve Cryptosystem • ECC is represented by Ep(a,b).
(ECC)
– ‘p’ is prime number and a, b are restricted to (mode p)
• The general equation for an elliptic curve is
y2+b1xy+b2y=x3+a1x2+a2x+a3
• Elliptic curves over real numbers use a special class
of elliptic curves of the form. The curve is
represented by
y2=x3+ax+b
• Elliptic curves are not ellipse but the equation of ‘ECC’ is
described by calculation of circumstance of ellipse (i.e., cubic
equation with highest degree of 3)
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 6
Elliptic Curve Cryptosystem (ECC)
Introduction to Elliptic
Curve Cryptosystem • Has horizontal symmetry
(ECC)
• Any non-vertical line will interest the curve in 3
places at most
– Since, y = 𝑥3 + 𝑎𝑥 + 𝑏
Gives values of ‘x’ as ±𝑥, so
Each curve is symmetric curve
About y=0
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 7
Elliptic Curve Cryptosystem (ECC)
Introduction to Elliptic
Curve Cryptosystem • Singular Elliptic curve
(ECC)
– If 4a3+27b2=0,
– Singular Elliptic curve
– Non-Singular Elliptic • Has no 3 distinct roots
curve
• Non-Singular Elliptic curve
– Satisfies the condition 4a3+27b2 ≠0
• Has 3 distinct roots
• This will allow to establish the fact that the solution set ‘E’
forms an Abelian Group
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 8
Elliptic Curve Cryptosystem (ECC)
Introduction to Elliptic
Curve Cryptosystem • Find an point in Elliptic Curve E11(1,1)
(ECC)
EC is represented as EP(a,b), so,
– Singular Elliptic curve
– Non-Singular Elliptic p=11; a=1; b=1
curve
– Two elliptic curves
Elliptic curve equation is
over a real field y2=x3+ax+b
– Find an point in Elliptic
Curve E11(1,1)
Substitute p,a,b values in this equation
y2=x3+1. x+1
=x3+x+1
x values=0, y values:+1, -1
Points are (0,1) and (0,-1)
Since (0,1) is negative, take modulo p
One of the points are (0,1), (0,10)
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 10
Elliptic Curve Cryptosystem (ECC)
Introduction to Elliptic
Curve Cryptosystem • Affine Points
(ECC)
– The points present in Elliptic curve
– Singular Elliptic curve
– Non-Singular Elliptic • ‘O’ points
curve
– Two elliptic curves – There is point called ‘O’ point in which P + (-P)
over a real field
becomes infinity
– Find an point in Elliptic
Curve E11(1,1) • ECC can be defined as
– Affine Points
– ‘O’ points – EC over Zp
– EC over GF(2m)
• ECC can be used for key exchange and Encryption
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 11
Elliptic Curve Cryptosystem (ECC): Addition
Introduction to Elliptic
Curve Cryptosystem
(ECC)
– Singular Elliptic curve
– Non-Singular Elliptic
curve
– Two elliptic curves
over a real field
– Find an point in Elliptic
Curve E11(1,1)
– Affine Points
– ‘O’ points
Three adding cases in an
elliptic curve
Elliptic Curve
Cryptosystem (ECC):
Addition
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 13
Elliptic Curve Cryptosystem (ECC): Addition
Introduction to Elliptic
Curve Cryptosystem
(ECC)
– Singular Elliptic curve
– Non-Singular Elliptic
curve
– Two elliptic curves
over a real field
– Find an point in Elliptic
Curve E11(1,1)
– Affine Points
– ‘O’ points
Three adding cases in an
elliptic curve
Elliptic Curve
Cryptosystem (ECC):
Addition
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 14
Elliptic Curve Cryptosystem (ECC): Addition
Introduction to Elliptic
Curve Cryptosystem (ECC) • Adding 2 points A(xa,ya) and B(xb,yb) gives C(xc,yc)
– Singular Elliptic curve
– Non-Singular Elliptic
y2=x3+ax+b
curve
– Two elliptic curves
– Find the slope (λ)
over a real field (𝑦𝑏−𝑦𝑎)
– Find an point in Elliptic λ= if A≠ B
(𝑥𝑏−𝑥𝑎)
Curve E11(1,1)
2 +𝑎)
(3𝑥𝑎
– Affine Points
– ‘O’ points
λ= if A= B
(2𝑦𝑎)
Three adding cases in an Where ‘a’ is obtained from Ep (a,b)
elliptic curve
Elliptic Curve – Find the sum C= A+B
Cryptosystem (ECC):
Addition xc= λ2-xa-xb
– Find the slope (λ)
– Find the sum C= A+B
yc= λ(xa-xc)-ya
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 15
Elliptic Curve Cryptosystem (ECC): Subtraction
Introduction to Elliptic
Curve Cryptosystem (ECC) • Negating a point
Three adding cases in an
elliptic curve If B=(xb ,yb) then
Elliptic Curve -B=-(xb ,yb)=(xb ,-yb)
Cryptosystem (ECC):
Addition • Subtraction
– Find the slope (λ)
– Find the sum C= A+B – (A-B) can be re-written as (A+(-B))
– Negating a point (A-B) = (xa ,ya)-(xb ,yb) = (xa ,ya)+(xb ,-yb ) (mod p))
– Subtraction
– Perform addition
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 16
Elliptic Curve Cryptosystem (ECC): Multiplication
Introduction to Elliptic
Curve Cryptosystem (ECC) • Only scalar multiplication is possible
Three adding cases in an
elliptic curve • Multiplication between two points is not possible
Elliptic Curve
Cryptosystem (ECC):
but repeated addition is possible
Addition
– Find the slope (λ)
• Example
– Find the sum C= A+B 2B=B+B
– Negating a point
– Subtraction
3B=B+B+B
Elliptic Curve 2 +𝑎)
(3𝑥𝑎
Cryptosystem (ECC): Note: calculate slope using λ= if x= y
Multiplication (2𝑦𝑎)
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 17
Elliptic Curve Cryptosystem (ECC): Division
Introduction to Elliptic
Curve Cryptosystem (ECC) • Only scalar division is possible
Three adding cases in an
1
elliptic curve
= 𝑎 -1 (𝑥𝑎 − 𝑦𝑎)
Elliptic Curve 𝑎(𝑥𝑎−𝑦𝑎)
Cryptosystem (ECC):
Addition • Multiplications steps could be followed
– Find the slope (λ)
– Find the sum C= A+B
– Negating a point
– Subtraction
Elliptic Curve
Cryptosystem (ECC):
Multiplication
Elliptic Curve
Cryptosystem (ECC):
Division
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 18
Elliptic Curve Cryptosystem (ECC)
Introduction to Elliptic
Curve Cryptosystem (ECC) • Consider two points A(3,10) and B(9,7) for E23(1,1)
Three adding cases in an
elliptic curve
then compute
Elliptic Curve i. A+B
Cryptosystem (ECC):
Addition ii. 2A
Elliptic Curve
Cryptosystem (ECC): iii. 2B
Multiplication
Elliptic Curve
Cryptosystem (ECC):
Division
Elliptic Curve
Cryptosystem (ECC)-
Example
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 19
Elliptic Curve Cryptosystem (ECC): Slope
• Consider two points A(3,10) and B(9,7) for E23(1,1)
then compute
xa=3; ya=10; xb=9; yb=7; p=23; a=1;b=1
Find the slope (λ)
(𝑦𝑏−𝑦𝑎) (7−10) −3 −1
λ= (mod p) if A≠ B = =
(𝑥𝑏−𝑥𝑎) (9−3) 6 2
−1
a b q r s1 s2 s3 t1 t2 t3 mod 23 = −2−1 (mod 23)
2
23 2 11 1 1 0 1 0 1 -11
2 1 2 0 0 1 -2 1 -11 23 (-1)(2-1) (mod 23)
(-1)(-11) (mod 23)=11(mod 23)=11
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 20
Elliptic Curve Cryptosystem (ECC): Compute xc
• Consider two points A(3,10) and B(9,7) for E23(1,1)
then compute xc
xa=3; ya=10; xb=9; yb=7; p=23; a=1;b=1; λ=11
Find xc
xc= λ2-xa-xb (mod p) xc= 112-3-9 (mod 23)
xc= 109 (mod 23)
xc=17
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 21
Elliptic Curve Cryptosystem (ECC): Compute yc
• Consider two points A(3,10) and B(9,7) for E23(1,1)
then compute yc
xa=3; ya=10; xb=9; yb=7; p=23; a=1;b=1;
λ=11; xc=17
Find yc
yc= λ(xa-xc)-ya(mod p) yc= 11*(3-17)-10 (mod 23)
yc= −164(mod 23)
yc=20
A+B = C(xc , yc) = (17,20)
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 22
Elliptic Curve Cryptosystem (ECC): Slope
Introduction to Elliptic
Curve Cryptosystem (ECC) • Consider two points A(3,3) for E7(1,0) then
Three adding cases in an
elliptic curve
compute xc
Elliptic Curve
Cryptosystem (ECC): xa=3; ya=3; p=7; a=1;b=0
Addition
Elliptic Curve
Cryptosystem (ECC): Find the slope (λ)
Multiplication
2 +𝑎)
(3𝑥𝑎 (7−10) −3 −1
Elliptic Curve λ= if A= B = =
Cryptosystem (ECC): (2𝑦𝑎) (9−3) 6 2
Division
−1
Elliptic Curve a b q r s1 s2 s3 t1 t2 t3 mod 23 = −2−1 (mod 23)
Cryptosystem (ECC)- 2
23 2 11 1 1 0 1 0 1 -11
Example
– Elliptic Curve 2 1 2 0 0 1 -2 1 -11 23 (-1)(2-1) (mod 23)
Cryptosystem (ECC):
Slope
(-1)(-11) (mod 23)=11(mod 23)=11
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 28
Elliptic Curve Cryptosystem (ECC): Compute xc
Introduction to Elliptic
Curve Cryptosystem (ECC) • Consider two points A(3,3) for E7(1,0) then
Elliptic Curve
Cryptosystem (ECC):
compute xc
Addition
Elliptic Curve xa=3; ya=3; p=7; a=1;b=0; λ=7
Cryptosystem (ECC):
Multiplication
Elliptic Curve Find xc
Cryptosystem (ECC):
Division
xc= λ2-2xa (mod p) xc= 112-3-9 (mod 23)
Elliptic Curve
Cryptosystem (ECC)-
Example xc= 109 (mod 23)
– Elliptic Curve
Cryptosystem (ECC):
Slope xc=1
– Elliptic Curve
Cryptosystem (ECC):
Compute xc
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 29
Elliptic Curve Cryptosystem (ECC): Compute yc
Introduction to Elliptic Curve
Cryptosystem (ECC) • Consider two points A(3,10) and B(9,7) for E23(1,1)
Elliptic Curve Cryptosystem
(ECC): Addition then compute yc
Elliptic Curve Cryptosystem
(ECC): Multiplication xa=3; ya=3; p=7; a=1;b=0; λ=7
Elliptic Curve Cryptosystem
(ECC): Division ; xc=1
Elliptic Curve Cryptosystem
(ECC)-Example Find yc
– Elliptic Curve
Cryptosystem (ECC):
Slope
yc= λ(xa-xc)-ya(mod p) yc= 7*(3-17)-10 (mod 23)
– Elliptic Curve
Cryptosystem (ECC):
Compute xc yc= −164(mod 23)
– Elliptic Curve
Cryptosystem (ECC):
Compute yc yc=4
A+B= C(xc , yc) = (1,4)
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 30
Summary
• Introduction to Elliptic Curve Cryptosystem – Subtraction
(ECC) • Elliptic Curve Cryptosystem (ECC):
– Singular Elliptic curve Multiplication
– Non-Singular Elliptic curve • Elliptic Curve Cryptosystem (ECC): Division
– Two elliptic curves over a real field • Elliptic Curve Cryptosystem (ECC)-Example
– Find an point in Elliptic Curve E11(1,1) – Elliptic Curve Cryptosystem (ECC): Slope
– Affine Points – Elliptic Curve Cryptosystem (ECC):
– ‘O’ points Compute xc
• Three adding cases in an elliptic curve – Elliptic Curve Cryptosystem (ECC):
• Elliptic Curve Cryptosystem (ECC): Addition Compute yc
– Find the slope (λ)
– Find the sum C= A+B
– Negating a point
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 31
Reference
Text Book:
1. Sudhir Kumar, Fundamentals of Internet of Things, 1st edition, CRC
Press, Taylor & Francis Group, 2022
Page No:210-216
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 32
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 33
Dr M Rajasekhara Babu, Professor; School of C.S.E, Vellore Institute of Technology (VIT)-Vellore; 30-Sep-24 3:46 PM Slide. 34