Course code: INP7766

Course: optional

Kind of studies: Computer Science MSc; PhD;

Course title: Cryptography

Lecturer: prof. dr hab Mirosław Kutyłowski

Course structure

Form of class Lecture Problems classes Laboratory Project Seminar Number of points
Number of hours/week 2 1 3
Course grade based on Test Test

Prerequisites: MAP3707 or MAP1704 or MAP2706

Course description: The aim of the course is presenting modern cryptographic techniques used in computer systems. The subject of the course are mathematical foundations of cryptography as well as practical implementation issues and security aspects.

Contents of lectures

  1. Basic application areas. (2 hours)
  2. Symmetric encryption, encryption modes. (2 hours)
  3. Standard symmetric encryption algorithms. (2 hours)
  4. Asymmetric encryption, RSA, ElGamal. (2 hours)
  5. RSA security. (2 hours)
  6. Hash functions and MAC. (2 hours)
  7. Standard hash functions. (2 hours)
  8. Pseudorandom generators: BBS, LFSR, A5. (2 hours)
  9. Security of pseudorandom generators, stream ciphers. (2 hours)
  10. Interactive proofs and zero knowledge proofs. (2 hours)
  11. Authentication, Fiat-Shamir protocol, Schnorr protocol. (2 hours)
  12. Key management, key agreement. (2 hours)
  13. Differential cryptanalysis, linear cryptanalysis, other methods. (2 hours)
  14. Side channel cryptanalysis. (2 hours)
  15. Chosen cryptographic protocols. (2 hours)

Contents of problem classes

  1. Presentation of cryptographic protocols and standard computer security systems. (8 hours)
  2. Problem solving for current topics presented during the lectures. (7 hours)

Material for self preparation: assignments

Basic literature

  1. Handbook of Applied Cryptography, A. J. Menezes, P. C van Oorschot, S. A. Vanstone, CRC, 1996, ISBN 0-8493-8523-7. (available online)

Additional literature

    many textbooks available

Conditions required for a student to pass the course: the total number of points from problem classes and written test have to exceed the minimum