Asymmetric Key Cryptography
Asymmetric Key Cryptography
1 / 50
Outline
Introduction
RSA Cryptosystem
ElGamal Cryptosystem
2 / 50
Introduction
3 / 50
General idea of Asymmetric Key Cryptosystem
4 / 50
RSA Cryptosystem
5 / 50
RSA Key Generation
6 / 50
RSA Encryption
Encryption :
C ← P e mod n
7 / 50
RSA Decryption
Decryption :
P ← C d mod n
8 / 50
RSA Cryptosystem
9 / 50
Attacks on RSA Cryptosystem
10 / 50
Factorization Attack
11 / 50
Coppersmith Theorem Attack
12 / 50
Broadcast Attack
13 / 50
Chinese Remainder Theorem
a1 = x mod m1
a2 = x mod m2
a3 = x mod m3
...
ak = x mod mk
The solution to the above simultaneous equation is
x = (a1 × M1 × M1 −1 + a2 × M2 × M2 −1 . . . ak × Mk × Mk −1 ) mod M
Where
M = m1 × m2 × · · · × mk
M1 = M/m1 , M1 −1 = Inverse of M1 mod m1
M2 = M/m2 , M2 −1 = Inverse of M2 mod m2
...
Mk = M/mk , Mk −1 = Inverse of Mk mod mk
14 / 50
Related Message Attack
C1 = P1 e mod n
C2 = P2 e mod n
If P1 is related to P2 by linear function, then attacker can recover
P1 and P2
15 / 50
Short Pad Attack
C1 = {P : r1 }e mod n
C2 = {P : r2 }e mod n
If r1 and r2 are small then, then attacker can recover P
16 / 50
Short Message Attack
If attacker knows the set of possible plaintexts (if this set is a small
set), then he can encrypt all possible messages until the result is
the same as the ciphertext.
17 / 50
Common Modulus Attack
18 / 50
Power Attack
19 / 50
ElGamal Cryptosystem
20 / 50
Definitions
21 / 50
ElGamal Key Generation
22 / 50
ElGamal Encryption(e1 , e2 , p, P)
23 / 50
ElGamal Decryption(d, p, C1 , C2 )
24 / 50
ElGamal Cryptosystem
25 / 50
Attacks on ElGamal Cryptosystem
26 / 50
Discrete Logarithm
27 / 50
Discrete Logarithm
y = g x mod p
x = Lg y
y 1 2 3 4 5 6
x = L3 y 6 2 1 4 5 3
x = L5 y 6 4 5 2 1 3
28 / 50
Low-Modulus Attack
e2 = e1d mod p
d = Le1 e2
If the value of p is not large enough, an attacker can use some
efficient algorithm to solve the discrete logarithm problem to find d.
29 / 50
Known-Plaintext Attack
30 / 50
Elliptic Curve Cryptosystem
31 / 50
Elliptic Curve
y 2 = x 3 + ax + b
In the above above equation, if 4a3 + 27b 2 6= 0, the equation
represents a nonsingular elliptic curve
32 / 50
Elliptic Curve
33 / 50
Operations
34 / 50
Operations
35 / 50
Operations
36 / 50
Operations
37 / 50
Point Addition
λ = (y2 − y1 )/(x2 − x1 )
x3 = λ2 − x1 − x2
y3 = λ(x1 − x3 ) − y1
R 0 = (x3 , y3 )
38 / 50
Point Doubling
λ = (3x12 + a)/(2y1 )
x3 = λ2 − x1 − x2
y3 = λ(x1 − x3 ) − y1
39 / 50
Additive Inverse
P = (x1 , y1 )
Q = (x1 , −y1 )
40 / 50
Key Generation
41 / 50
Encryption
C1 = r × e 1
C2 = P +r × e2
42 / 50
Decryption
P = C2 − (d × C1 )
43 / 50
Elliptic Curve Cryptosystem
44 / 50
Attacks on Elliptic Curve Cryptosystem
45 / 50
Elliptic Curve Logarithm Problem
If attacker knows r
P= C2 − (r × e2 )
to find r
C1 = r × e1
46 / 50
Elliptic Curve Logarithm Problem
to find d
e2 = d × e1
47 / 50
Quantum Computing
48 / 50
Post Quantum Cryptography
49 / 50
Post Quantum Cryptography
1. Lattice-based cryptography
2. Hash-based cryptography
3. Code-based cryptography
4. Supersingular elliptic curve isogeny cryptography
50 / 50
END
51 / 50