Search for contacts, projects,
courses and publications

Foundations of Cryptography

People

Backendal M.

Course director

Description

Cryptography is the study and design of secure systems. Cryptographic primitives, such as encryption schemes and digital signatures, are used to hide private information and ensure its authenticity and integrity, even in the presence of adversaries that actively try to break security.
In this introductory course, we will cover the foundations of modern cryptography, including symmetric encryption, pseudorandom functions, public-key encryption, hash functions, message authentication codes, and digital signatures. Our primary focus will be on cryptographic primitives, but we will also consider the context in which they are used. We will study how cryptographic primitives are constructed, how they break, and what it means when we say that system is "secure".

Objectives

In this course, you will learn how to think adversarially. Through rigorous definitions, we will formalize what it means for a system to be secure, and study the techniques made available by modern cryptography to construct secure systems. You will learn the difference between symmetric and public-key cryptography, see examples of hardness assumptions, and practice proving the security of cryptographic schemes. You will also learn how to look for insecurities and attack insecure systems. By the end of the course, you will be familiar with the foundations of modern cryptography---and hopefully know how to not build cryptographic systems.

Sustainable development goals

  • Industry, innovation and infrastructure
  • Reduced inequalities
  • Peace, justice and strong institutions

Teaching mode

In presence

Learning methods

Lectures, exercises and labs.

Examination information

Midterm and final exam.

Education