Credits: 5

Schedule: 12.09.2016 - 08.12.2016

Teaching Period (valid 01.08.2018-31.07.2020): 

I - II (Autumn)

Learning Outcomes (valid 01.08.2018-31.07.2020): 

Having completed the course, you understand the security that commonly used cryptographic primitives provide as well as their limits. You are able to judge whether a cryptographic building block is suitable for use in a particular application, and you can assess security models for applications critically. You can construct reductions between cryptographic primitives and recognize whether small modifications to a cryptographic primitive compromise their security.

Content (valid 01.08.2018-31.07.2020): 

We introduce cryptographic security models and concepts and understand the relations between them. We then apply the learnt concepts and techniques to real-world problems. In particular, we cover:

  • One-way functions
  • Pseudorandomness
  • Pseudorandom generators
  • Pseudorandom functions
  • symmetric encryption
  • asymmetric encryption
  • message authentication codes
  • signature schemes
  • secure channels
  • recent attacks on real-life protocols such as TLS, IPsec,...

Assessment Methods and Criteria (valid 01.08.2018-31.07.2020): 

Weekly exercises, course feedback (no exam)

Workload (valid 01.08.2018-31.07.2020): 

Lectures 24 h (16 90-minutes sessions),

Teaching in small groups 24h (16 90-minutes sessions),

Weekly written exercises 32h

Other independent work 48 h


Study Material (valid 01.08.2018-31.07.2020): 

Foundations of Cryptography I, Oded Goldreich

Foundations of Cryptography II, Oded Goldreich

Substitutes for Courses (valid 01.08.2018-31.07.2020): 

Replaces former course T-79.4502 / T-79.4501 Cryptography and Data Security.

Prerequisites (valid 01.08.2018-31.07.2020): 

Essential: Ability to use mathematical reasoning, formulate definitions and proofs

Highly recommended: complexity theory and discrete probabilities

Grading Scale (valid 01.08.2018-31.07.2020):