|Module title||Elements Of Cryptanalysis|
|Module lecturer||dr Bartosz Naskręcki|
|Faculty||Faculty of Mathematics and Computer Science|
Module aim (aims)
The goal of this course is to familiarize the students with modern techniques of cryptanalysis. Our starting point is a discussion of classical attacks on substitution systems like Vignere or Enigma. By developing tools from information theory, probability and algebra we will build a toolbox necessary to attack familiar block cryptosystems (e.g. DES or AES). In further parts we will discuss the safety of public key cryptosystems including RSA and elliptic curve cryptography. Each discussed attack will be implemented in Python and explained in detail.
Pre-requisites in terms of knowledge, skills and social competences (where relevant)
Some basic knowledge of modular arithmetic, acquaintance with notions from the probability theory, polynomials and some elementary programming skills.
Week 1: introductory notions from cryptanalysis
Week 2: attacks on classical substitution ciphers
Week 3: linear and differential cryptanalysis - introduction
Week 4: attacks on block ciphers
Week 5: RSA security
Week 6: elliptic curve based cryptography - security and prospects
Week 7: algebraic cryptanalysis - applications of Groebner bases
Week 8: summary and projects presentations