Public Key Cryptography
Instructor : Sedat Akleylek
Credits : 6 ECTS
Language : English
Schedule : Monday 10:15 - 12:00, and Thursday 10:15 - 12:00 (hybrid or face-to-face)
Office Hour : Tuesday 09:30 - 11:00, Room 3072 (We are flexible on the office hour by appointment)
About the Course
The scope of this course includes:
- Open-source cryptographic libraries will be introduced.
- The software implementations of cryptosystems will be studied.
- The finite field arithmetic (modular reduction, multiplication, exponentiation, etc.) will be defined at the algorithmic level needed to implement cryptosystems.
- Efficient implementation methods will be given.
- The complexity, performance, and cost of the algorithms to implement the cryptosystems will be discussed.
- The basic countermeasures for the implementation-level (timing) attacks will be given.
The course covers the following topics: open-source cryptographic libraries, algorithms to implement finite field/group arithmetic, symmetric key cryptosystems, public-key encryption, key exchange, elliptic curve arithmetic, and lattice-based cryptography.
We will explain the necessary mathematical background in the course.
Grading
Homeworks 30%
Project 40%
Final exam 30%
There will be one set of "practical (implementation)" homework assignments. In the project assignment, the student should write a research report or implement one of the given algorithms.
Reading/Resources
Textbooks, research papers, and lecture notes will be assigned throughout the semester.