You are on page 1of 24

Cryptography

and
Information Theory

Computational Security
and Side Channel Attacks

Sang-Yoon Chang, Ph.D.


Information-Theoretic Security

Computational Security
Module Objectives:
Practical Security

1. Computational Security

2. Side Channel Attack


Computational Security

1. Computationally bounded attackers

2. Difficult problems to solve


Computationally Bounded Attacker

n bits key length


=> Attacker effort grows with O(2n)

For example, on average, a


brute-force attacker will try 2n-1 trials

Suppose the attacker can compute


“x” decryptions per second
Attacker Computation

Brute force attacker


x = 10M = 107 (10 million decryptions per second)

For example, on average, a


Key Size (bits) # of Decryptions Expected time (sec) Expected Time (year)
n brute-force attacker will try 2n-1 trials
56
128Suppose the attacker can compute
168“x” decryptions per second
Attacker Computation

Brute force attacker


x = 10M = 107 (10 million decryptions per second)

For example, on average, a


Key Size (bits) # of Decryptions Expected time (sec) Expected Time (year)
n brute-force attacker will try 2n-1 trials
56 ß E.g., DES
128Suppose the attacker can compute
ß E.g., AES
168“x” decryptions per second
ß E.g., 3DES
Attacker Computation

Brute force attacker


x = 10M = 107 (10 million decryptions per second)

For example, on average, a


Key Size (bits) # of Decryptions Expected time (sec) Expected Time (year)
n brute-force attacker will try 2
2n-1 n-1 trials

56 3.6 · 1016
128Suppose the attacker can compute
1.7 · 1038
168“x” decryptions per second
1.9 · 1050
Attacker Computation

Brute force attacker


x = 10M = 107 (10 million decryptions per second)
Seconds to year conversion
For example, on average, a
Key Size (bits) # of Decryptions Expected time (sec) Expected Time (year)
n brute-force attacker will try 2
2n-1 /x trials
2n-1n-1 2n-1/x/60/60/24/365
56 3.6 · 1016 3.6 · 109 114
128Suppose the attacker can compute
1.7 · 1038 1.7 · 1031 5.4 · 1027
168“x” decryptions per second
1.9 · 1050 1.9 · 1043 5.9 · 1035
Take 255 and divide it by 107
Attacker Computation

Brute force attacker


x = 10M = 107 (10 million decryptions per second)

For example, on average, a


Key Size (bits) # of Decryptions Expected time (sec) Expected Time (year)
n brute-force attacker will try 2
2n-1 /x trials
2n-1n-1 2n-1/x/60/60/24/365
56 3.6 · 1016 3.6 · 109 114
128Suppose the attacker can compute
1.7 · 1038 1.7 · 1031 5.4 · 1023
168“x” decryptions per second
1.9 · 1050 1.9 · 1043 5.9 · 1035
Attacker Computation

Brute force attacker


x = 10T = 1013 (10 trillion decryptions per second)

For example, on average, a


Key Size (bits) # of Decryptions Expected time (sec) Expected Time (year)
n brute-force attacker will try 2
2n-1 /x trials
2n-1n-1 2n-1/x/60/60/24/365
56 3.6 · 1016 3.6 · 103 0.000114 (= 1 hour)
128Suppose the attacker can compute
1.7 · 1038 1.7 · 1025 5.4 · 1017
168“x” decryptions per second
1.9 · 1050 1.9 · 1037 5.9 · 1029
Attacker Computation

Brute force attacker


x = 10T = 1013 (10 trillion decryptions per second)

For example, on average, a


Key Size (bits) # of Decryptions Expected time (sec) Expected Time (year)
n brute-force attacker will try 2
2n-1 /x trials
2n-1n-1 2n-1/x/60/60/24/365
56 3.6 · 1016 3.6 · 103 0.000114 (= 1 hour)
128Suppose the attacker can compute
1.7 · 1038 1.7 · 1025 5.4 · 1017
168“x” decryptions per second
1.9 · 1050 1.9 · 1037 5.9 · 1029
Attacker Computation

Brute force attacker


x = 10T = 1013 (10 trillion decryptions per second)

For example, on average, a


Key Size (bits) # of Decryptions Expected time (sec) Expected Time (year)
n brute-force attacker will try 2
2n-1 /x trials
2n-1n-1 2n-1/x/60/60/24/365
56 3.6 · 1016 3.6 · 103 0.000114 (= 1 hour)
128Suppose the attacker can compute
1.7 · 1038 1.7 · 1025 5.4 · 1017
168“x” decryptions per second
1.9 · 1050 1.9 · 1037 5.9 · 1029
Attacker Computation

Brute force attacker


x = 10T = 1013 (10 trillion decryptions per second)

For example, on average, a


Key Size (bits) # of Decryptions Expected time (sec) Expected Time (year)
n brute-force attacker will try 2
2n-1 /x trials
2n-1n-1 2n-1/x/60/60/24/365
56 3.6 · 1016 3.6 · 103 0.000114 (= 1 hour)
O(2n)
128Suppose the attacker can compute
1.7 · 1038 1.7 · 1025 5.4 · 1017
168“x” decryptions per second
1.9 · 1050 1.9 · 1037 5.9 · 1029
Cryptanalysis Side Channel
Cryptanalysis Side Channel

You might also like