SlideShare a Scribd company logo
CNIT 141
Cryptography for Computer Networks
9. Hard Problems
Topics
• Computational Hardness
• Complexity Classes
• The Factoring Problem
• The Discrete Logarithm Problem
• How Things Can Go Wrong
Computational Hardness
Computational Hardness
• Computationally hard problems
• Also called intractable problems
• Take an unreasonable amount of time to
solve
• Regardless of hardware
Measuring Running Time
• Search an array of n elements to find x
• Number of loops between 1 and n
• Expected value: n/2
• Complexity is linear in n
• Doubling n doubles running time
search(x, array, n):
for i from 1 to n
if (array[i] == x) return i;
return 0;
Complexity Classes
• Searching a list: linear or O(n)
• Sorting a list: linear-logarithmic or O(n log n)
• Brute-force key recovery: 

exponential or O(2n)
• Quadratic time is O(n2)
Linear is Fast
• Compared
to
exponential
or quadratic
Polynomial vs.
Superpolynomial Time
• Polynomial time includes 

O(n2), O(n3), O(n4), etc.
• They are considered practically feasible
• Superpolynomial time is anything that grows
faster than polynomial, like O(2n) or O(nlog(n)).
• They are considered impractical, or hard
Quadratic v.
Superpolynomial
Complexity Classes
• Time complexity
• TIME(n2)
• All problems solvable in O(n2)
• TIME(2n)
• All problems solvable in O(2n)
Complexity Classes
Space Complexity
• The memory required by an algorithm
• SPACE(n2)
• Require O(n2) bits of memory
Nondeterministic
Polynomial Time
• P is the class of all polynomial-time algorithms
• NP is the class of non-deterministic
polynomial-time algorithms
• Problems for which a solution can be verified
in polynomial time
• Even though the solution may be hard to find
NP Problems
• Recovering a secret key with known plaintext
• Easy to verify whether a key is correct (P)
• Finding the key is hard but that's a different
problem
• Link Ch 9c
Problems Outside 

NP and P
• Consider brute-forcing the one-time pad
• You cannot recognize the solution when you
find it
• This is very hard, not in P and not in NP
• Verify that no solution exists to a problem
• Must test all possible solutions
• An unlimited number of possibilities
NP-Complete Problems
• The hardest problems in the class NP
• We don't know how to solve them in
polynomial time
• But they are all equally hard
• An efficient solution for any one NP-complete
problem can be used to solve all the others
NP-Complete Problems
CNIT 141: 9. Hard Problems
NP-Hard
• Some video games are NP-complete
• Some are even harder: NP-hard
• Provably as difficult as NP-complete
problems
P vs. NP
• If you could solve the hardest NP problem in
polynomial time
• You could solve all NP problems in
polynomial time
• NP would equal P
• No one has proven this yet, there's a $1 million
bounty for the proof
Does P = NP?
• Most theorists say no
• If it did, any easily-
verified solution would
be easy to find, in
principle
• All cryptography
would be insecure, in
principle
• In practice, it might
not matter (link Ch 9d)
Quantum Computers
• Link Ch 9e
• Link Ch 9f
Practical Cryptography
• If breaking a cipher were NP-complete
• That would be a very strong cipher
• But NP-complete problems are impractical for
cryptography
• Because they are easy in specific cases
• So real cryptography uses problems that are
probably not NP-hard
Lattice Problems
• Including Learning With Errors
• The only NP-hard problems successfully used
in cryptography
• The basis for New Hope
• The front-runner for post-quantum encryption
• Links Ch 9i, 9j
The Factoring Problem
The Factoring Problem
• Given a large number N that is the product of
two primes p and q
• Find p and q
• How difficult is this problem?
• Prime numbers cannot be divided evenly by
any number other than themselves and one
• 1, 2, 3, 5, 7, 11 are prime
• 9=3x3 and 15=3x5 are not prime
Factoring Large Numbers
in Practice
• Simplest algorithm
• Try dividing by all numbers from 2 to N-1
• If n is the number of bits in N
• This is O(2n) --a hard problem
• Requires 2256 operations for 256-bit N
Factoring Large Numbers
in Practice
• Improved algorithm
• Try only primes from 2 to sqrt(N)
• This is O(2n/2/n) --still hard, but easier
• Requires 2120 operations for 256-bit N
Factoring Large Numbers
in Practice
• Fastest known algorithm
• General number field sieve (GNFS)
• Requires 270 operations for 1024-bit N
• Requires 290 operations for 2048-bit N
• So we recommend 4096-bit keys for 128 bits
of security
Experimental Results
• In 2005, a 663-bit N was factored using 75
cpu-years
• In 2009, a 768-bit N was factored using 2000
cpu-years
• People speculate that the NSA can factor a
1024-bit N
Is Factoring 

NP-Complete?
• No polynomial-time algorithm is known
• Suggesting that factoring is not in P
• However, we can easily verify a factor once it
is found
• So factoring is in NP
• Factoring is probably easier than NP-
complete problems, but this has not been
proven
Quantum Computers
• Can factor numbers easily using quantum
algorithms
• But they don't work well enough yet
Hardness Assumption
• Cryptography starts from a problem which is
assumed to be hard
• The encryption is proven to be at least as hard
as that "hard" problem
• Factoring and discrete logarithm problems
are used as hardness assumptions
The Discrete Logarithm
Problem
What is a Group?
• A set of elements and an operation ✖ that
obey certain group axioms
• Example: Zp*
• Numbers from 1 to p-1, where p is prime
• Z5* contains {1, 2, 3, 4}
Group Axioms
• Closure
• Associativity
• Identity existence
• Inverse existence
Group Axioms
• Closure
• For any two elements x and y in the group
• x ✖ y is in the group
• Associativity
• For any three elements x, y, and z
• (x ✖ y) ✖ z = x ✖ (y ✖ z)
Group Axioms
• Identity existence
• There is an identity element e such that
• e ✖ x = x ✖ e = x
• Inverse existence
• For any x in the group, there exists y such
that
• x ✖ y = y ✖ x = e
Commutative Groups
• For all x and y in the group.
• x ✖ y = y ✖ x
Cyclic Groups
• There's at least one element g such that
• g1, g2, g3, ... mod p,
• Span all group elements
• g is called the generator of the group
The Hard Thing
• The DLP consists of finding y for which
• gy = x
• Within a group Zp*, where p is a prime number
• And x is a known group element
• This problem is about as hard as factoring
How Things Can Go
Wrong
Unlikely Problems
• These are possible but experts don't expect
them to happen
• Someone finding a fast algorithm to factor
numbers
• Someone proving that P = NP
When Factoring is Easy
• This 1024-bit number is easily factored,
because it has a small factor
Other Easily-Factored
Numbers
• If p and q are not random
• Near 2b
• Or some bits of p or q are known
• Or if N is small, such as 128-bit RSA
OpenSSL Allows Short
Keys
Original RSA Paper
• Recommended 512-bit keys (in 1978)
• Link Ch 9g
• 2015 paper presents two attacks
• Logjam MITM attack downgrades TLS to
"export-grade" with 512-bit keys
• State-level adversaries can probably find a
1024-bit secret prime number used by
millions of servers, and it appears that the
NSA has done so
• Link Ch 9h
CNIT 141: 9. Hard Problems
CNIT 141: 9. Hard Problems

More Related Content

PDF
Data encryption techniques and standard
PDF
CNIT 141: 5. Stream Ciphers
PDF
CNIT 141: 8. Authenticated Encryption
PDF
CNIT 141: 2. Randomness
PDF
CNIT 141: 6. Hash Functions
PDF
CNIT 1417. Keyed Hashing
PPTX
Rsa algorithm (rivest shamir-adleman)
Data encryption techniques and standard
CNIT 141: 5. Stream Ciphers
CNIT 141: 8. Authenticated Encryption
CNIT 141: 2. Randomness
CNIT 141: 6. Hash Functions
CNIT 1417. Keyed Hashing
Rsa algorithm (rivest shamir-adleman)

What's hot (20)

PDF
CNIT 126 6: Recognizing C Code Constructs in Assembly
PPT
Cryptography Fundamentals
PPT
PDF
Block Ciphers and the Data Encryption Standard
PPTX
Cryptography.ppt
PPT
Message authentication
 
PPTX
Ip security
PDF
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
PPTX
MACs based on Hash Functions, MACs based on Block Ciphers
PDF
CNIT 141: 4. Block Ciphers
PDF
CNIT 141: 12. Elliptic Curves
PPTX
Cryptography & Steganography
PDF
CRYPTOGRAPHY AND NETWORK SECURITY
PPTX
Hashing
ODP
An Introduction to Hashing and Salting
PDF
Elliptic curve cryptography
PPTX
Collecting email from the target domain using the harvester
PPT
Diffie-hellman algorithm
CNIT 126 6: Recognizing C Code Constructs in Assembly
Cryptography Fundamentals
Block Ciphers and the Data Encryption Standard
Cryptography.ppt
Message authentication
 
Ip security
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
MACs based on Hash Functions, MACs based on Block Ciphers
CNIT 141: 4. Block Ciphers
CNIT 141: 12. Elliptic Curves
Cryptography & Steganography
CRYPTOGRAPHY AND NETWORK SECURITY
Hashing
An Introduction to Hashing and Salting
Elliptic curve cryptography
Collecting email from the target domain using the harvester
Diffie-hellman algorithm
Ad

Similar to CNIT 141: 9. Hard Problems (20)

PDF
CNIT 141 9. Hard Problems
PDF
9. Hard Problems
PPTX
NP-Completeness-myppt.pptx
PPT
PPTX
PNP.pptx
PPTX
PPT
PPT
UNIT-V.ppt
PDF
teteuueieoeofhfhfjffkkkfkfflflflhshssnnvmvvmvv,v,v,nnxmxxm
PPT
Complexity theory
PPTX
Np completeness
PPTX
AA ppt9107
PDF
Intro to TensorFlow and PyTorch Workshop at Tubular Labs
PPT
crypto Digital Signature Diffie Hell man.ppt
PDF
Modern Cryptography
PPTX
Towards a mathematical understanding of intelligence
PDF
CNIT 141 12. Elliptic Curves
PPT
Rubyconf Neural Networks
CNIT 141 9. Hard Problems
9. Hard Problems
NP-Completeness-myppt.pptx
PNP.pptx
UNIT-V.ppt
teteuueieoeofhfhfjffkkkfkfflflflhshssnnvmvvmvv,v,v,nnxmxxm
Complexity theory
Np completeness
AA ppt9107
Intro to TensorFlow and PyTorch Workshop at Tubular Labs
crypto Digital Signature Diffie Hell man.ppt
Modern Cryptography
Towards a mathematical understanding of intelligence
CNIT 141 12. Elliptic Curves
Rubyconf Neural Networks
Ad

More from Sam Bowne (20)

PDF
Introduction to the Class & CISSP Certification
PDF
Cyberwar
PDF
3: DNS vulnerabilities
PDF
8. Software Development Security
PDF
4 Mapping the Application
PDF
3. Attacking iOS Applications (Part 2)
PDF
12 Elliptic Curves
PDF
11. Diffie-Hellman
PDF
2a Analyzing iOS Apps Part 1
PDF
9 Writing Secure Android Applications
PDF
12 Investigating Windows Systems (Part 2 of 3)
PDF
10 RSA
PDF
12 Investigating Windows Systems (Part 1 of 3
PDF
8 Android Implementation Issues (Part 1)
PDF
11 Analysis Methodology
PDF
8. Authenticated Encryption
PDF
7. Attacking Android Applications (Part 2)
PDF
7. Attacking Android Applications (Part 1)
PDF
5. Stream Ciphers
PDF
6 Scope & 7 Live Data Collection
Introduction to the Class & CISSP Certification
Cyberwar
3: DNS vulnerabilities
8. Software Development Security
4 Mapping the Application
3. Attacking iOS Applications (Part 2)
12 Elliptic Curves
11. Diffie-Hellman
2a Analyzing iOS Apps Part 1
9 Writing Secure Android Applications
12 Investigating Windows Systems (Part 2 of 3)
10 RSA
12 Investigating Windows Systems (Part 1 of 3
8 Android Implementation Issues (Part 1)
11 Analysis Methodology
8. Authenticated Encryption
7. Attacking Android Applications (Part 2)
7. Attacking Android Applications (Part 1)
5. Stream Ciphers
6 Scope & 7 Live Data Collection

Recently uploaded (20)

PDF
Complications of Minimal Access Surgery at WLH
PDF
Insiders guide to clinical Medicine.pdf
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
PPH.pptx obstetrics and gynecology in nursing
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
01-Introduction-to-Information-Management.pdf
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PPTX
Lesson notes of climatology university.
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Complications of Minimal Access Surgery at WLH
Insiders guide to clinical Medicine.pdf
Microbial disease of the cardiovascular and lymphatic systems
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPH.pptx obstetrics and gynecology in nursing
human mycosis Human fungal infections are called human mycosis..pptx
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Renaissance Architecture: A Journey from Faith to Humanism
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
Abdominal Access Techniques with Prof. Dr. R K Mishra
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
01-Introduction-to-Information-Management.pdf
VCE English Exam - Section C Student Revision Booklet
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Anesthesia in Laparoscopic Surgery in India
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Lesson notes of climatology university.
Module 4: Burden of Disease Tutorial Slides S2 2025
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...

CNIT 141: 9. Hard Problems

  • 1. CNIT 141 Cryptography for Computer Networks 9. Hard Problems
  • 2. Topics • Computational Hardness • Complexity Classes • The Factoring Problem • The Discrete Logarithm Problem • How Things Can Go Wrong
  • 4. Computational Hardness • Computationally hard problems • Also called intractable problems • Take an unreasonable amount of time to solve • Regardless of hardware
  • 5. Measuring Running Time • Search an array of n elements to find x • Number of loops between 1 and n • Expected value: n/2 • Complexity is linear in n • Doubling n doubles running time search(x, array, n): for i from 1 to n if (array[i] == x) return i; return 0;
  • 6. Complexity Classes • Searching a list: linear or O(n) • Sorting a list: linear-logarithmic or O(n log n) • Brute-force key recovery: 
 exponential or O(2n) • Quadratic time is O(n2)
  • 7. Linear is Fast • Compared to exponential or quadratic
  • 8. Polynomial vs. Superpolynomial Time • Polynomial time includes 
 O(n2), O(n3), O(n4), etc. • They are considered practically feasible • Superpolynomial time is anything that grows faster than polynomial, like O(2n) or O(nlog(n)). • They are considered impractical, or hard
  • 11. • Time complexity • TIME(n2) • All problems solvable in O(n2) • TIME(2n) • All problems solvable in O(2n) Complexity Classes
  • 12. Space Complexity • The memory required by an algorithm • SPACE(n2) • Require O(n2) bits of memory
  • 13. Nondeterministic Polynomial Time • P is the class of all polynomial-time algorithms • NP is the class of non-deterministic polynomial-time algorithms • Problems for which a solution can be verified in polynomial time • Even though the solution may be hard to find
  • 14. NP Problems • Recovering a secret key with known plaintext • Easy to verify whether a key is correct (P) • Finding the key is hard but that's a different problem
  • 16. Problems Outside 
 NP and P • Consider brute-forcing the one-time pad • You cannot recognize the solution when you find it • This is very hard, not in P and not in NP • Verify that no solution exists to a problem • Must test all possible solutions • An unlimited number of possibilities
  • 17. NP-Complete Problems • The hardest problems in the class NP • We don't know how to solve them in polynomial time • But they are all equally hard • An efficient solution for any one NP-complete problem can be used to solve all the others
  • 20. NP-Hard • Some video games are NP-complete • Some are even harder: NP-hard • Provably as difficult as NP-complete problems
  • 21. P vs. NP • If you could solve the hardest NP problem in polynomial time • You could solve all NP problems in polynomial time • NP would equal P • No one has proven this yet, there's a $1 million bounty for the proof
  • 22. Does P = NP? • Most theorists say no • If it did, any easily- verified solution would be easy to find, in principle • All cryptography would be insecure, in principle • In practice, it might not matter (link Ch 9d)
  • 25. Practical Cryptography • If breaking a cipher were NP-complete • That would be a very strong cipher • But NP-complete problems are impractical for cryptography • Because they are easy in specific cases • So real cryptography uses problems that are probably not NP-hard
  • 26. Lattice Problems • Including Learning With Errors • The only NP-hard problems successfully used in cryptography • The basis for New Hope • The front-runner for post-quantum encryption • Links Ch 9i, 9j
  • 28. The Factoring Problem • Given a large number N that is the product of two primes p and q • Find p and q • How difficult is this problem? • Prime numbers cannot be divided evenly by any number other than themselves and one • 1, 2, 3, 5, 7, 11 are prime • 9=3x3 and 15=3x5 are not prime
  • 29. Factoring Large Numbers in Practice • Simplest algorithm • Try dividing by all numbers from 2 to N-1 • If n is the number of bits in N • This is O(2n) --a hard problem • Requires 2256 operations for 256-bit N
  • 30. Factoring Large Numbers in Practice • Improved algorithm • Try only primes from 2 to sqrt(N) • This is O(2n/2/n) --still hard, but easier • Requires 2120 operations for 256-bit N
  • 31. Factoring Large Numbers in Practice • Fastest known algorithm • General number field sieve (GNFS) • Requires 270 operations for 1024-bit N • Requires 290 operations for 2048-bit N • So we recommend 4096-bit keys for 128 bits of security
  • 32. Experimental Results • In 2005, a 663-bit N was factored using 75 cpu-years • In 2009, a 768-bit N was factored using 2000 cpu-years • People speculate that the NSA can factor a 1024-bit N
  • 33. Is Factoring 
 NP-Complete? • No polynomial-time algorithm is known • Suggesting that factoring is not in P • However, we can easily verify a factor once it is found • So factoring is in NP • Factoring is probably easier than NP- complete problems, but this has not been proven
  • 34. Quantum Computers • Can factor numbers easily using quantum algorithms • But they don't work well enough yet
  • 35. Hardness Assumption • Cryptography starts from a problem which is assumed to be hard • The encryption is proven to be at least as hard as that "hard" problem • Factoring and discrete logarithm problems are used as hardness assumptions
  • 37. What is a Group? • A set of elements and an operation ✖ that obey certain group axioms • Example: Zp* • Numbers from 1 to p-1, where p is prime • Z5* contains {1, 2, 3, 4}
  • 38. Group Axioms • Closure • Associativity • Identity existence • Inverse existence
  • 39. Group Axioms • Closure • For any two elements x and y in the group • x ✖ y is in the group • Associativity • For any three elements x, y, and z • (x ✖ y) ✖ z = x ✖ (y ✖ z)
  • 40. Group Axioms • Identity existence • There is an identity element e such that • e ✖ x = x ✖ e = x • Inverse existence • For any x in the group, there exists y such that • x ✖ y = y ✖ x = e
  • 41. Commutative Groups • For all x and y in the group. • x ✖ y = y ✖ x
  • 42. Cyclic Groups • There's at least one element g such that • g1, g2, g3, ... mod p, • Span all group elements • g is called the generator of the group
  • 43. The Hard Thing • The DLP consists of finding y for which • gy = x • Within a group Zp*, where p is a prime number • And x is a known group element • This problem is about as hard as factoring
  • 44. How Things Can Go Wrong
  • 45. Unlikely Problems • These are possible but experts don't expect them to happen • Someone finding a fast algorithm to factor numbers • Someone proving that P = NP
  • 46. When Factoring is Easy • This 1024-bit number is easily factored, because it has a small factor
  • 47. Other Easily-Factored Numbers • If p and q are not random • Near 2b • Or some bits of p or q are known • Or if N is small, such as 128-bit RSA
  • 49. Original RSA Paper • Recommended 512-bit keys (in 1978) • Link Ch 9g
  • 50. • 2015 paper presents two attacks • Logjam MITM attack downgrades TLS to "export-grade" with 512-bit keys • State-level adversaries can probably find a 1024-bit secret prime number used by millions of servers, and it appears that the NSA has done so • Link Ch 9h