The aim of this course is to give the fundamental concepts of cryptanalysis. The student is expected to acquire the knowledge of how to design and analyze block ciphers, stream ciphers and hash functions.
At the end of the course the student is expected to
- Evaluate security of ciphers and hash functions by applying differential and linear cryptanalysis and their variants
- Estimate success probability, data complexity, time complexity and memory complexity of attacks
WEEK 1: Time Complexity
WEEK 2-3: Introduction to Probability Theory, Random Variables
WEEK 4-5: Cryptanalysis of Historical Ciphers
WEEK 6-8: Differential Cryptanalysis and Its Variants
WEEK 9: Success Probability and Data Complexity Estimations
WEEK 10-11: Linear Cryptanalysis and Its Variants
WEEK 12-13: Birthday Paradox. Password cracking
WEEK 14: Attacks on Discrete logarithm and factorization problems