Course Number 705066 and 705067 | Wintersemester 2020/21

Understand the building blocks of modern cryptographic protocols and learn the basics of cryptanalysis


Maria Eichlseder

Daniel Kales

Teaching Assistants

Marcel Nageler


Cryptography is the mathematical backbone of information security.
This lecture covers basic principles of cryptology and a closer look at the building blocks that provide confidentiality, authenticity, and more in modern cryptographic protocols, including:

  • Authenticated Encryption, hashing, and symmetric primitives (AES-GCM, SHA-3, …)
  • Asymmetric encryption and digital signatures (RSA, DH, DSA, ECC, …)
  • Authentication and key-exchange protocols, including an introduction to advanced privacy-preserving protocols

For all these building blocks, we will have a look at the design ideas and goals behind the algorithm, its security properties in practice, and some potential cryptanalysis approaches such as differential cryptanalysis. We will cover the necessary mathematical and methodical background so that you can try your own hands in the exercises at breaking ciphers to gain a deeper understanding of their design.

This course is equivalent to the previous course “Applied Cryptography” (WS 2019/2020).

COVID-19 Info

All lectures and exercises are conducted virtually this year. KU exams will also be virtual.
You can watch online contents live. For most contents, recordings will be available afterwards.
You will receive the relevant URLs by email, so please monitor your inbox.

As long as the TU Graz rules permit (traffic light green, yellow, orange), at least the first two final VO exams will remain written, conducted in small groups and according to the TU Graz guidelines for on-campus exams.
In case you are reluctant or unable to participate in an on-campus exam (e.g., risk group), contact to arrange a virtual oral exam via WebEx.

In case of a red traffic light during the main exam time (early February 2021), these dates will be converted to virtual written exams.

You can find upcoming exam dates in TUGRAZonline. If no upcoming dates are listed, ask us!

Keep in touch on Discord.



Date Who Lecture 15:00–17:00 Practicals 14:15–15:00
02.10.2020 ME L1 – Introduction
09.10.2020 ME L2 – Symm. Primitives 1 (Block Ciphers & Friends) T1, py skeleton
16.10.2020 ME L3 – Symm. Primitives 2 (Lightweight Crypto) T2
23.10.2020 ME L4 – Symm. Primitives 3 (Cryptanalysis) T3
30.10.2020 ME L5 – Symm. Modes 1 (Authentication) T4
06.11.2020 ME L6 – Symm. Modes 2 (Encryption) T5
13.11.2020 ME Quiz KU Exam 1
20.11.2020 ME L7 – Asymmetric Primitives 1 (Factoring, RSA) T6
27.11.2020 ME L8 – Asymmetric Primitives 2 (Discrete Log, ECC) T7
04.12.2020 DK L9 – Asymmetric Primitives 3 (PQC) T8
11.12.2020 DK LA – Protocols 1 (Authentication, Key Exchange) T9
18.12.2020 DK LB – Protocols 2 TA
08.01.2021 DK LC – Protocols 3 (Advanced Protocols, Privacy) TB
15.01.2021 DK LD – Outro, New Challenges TC
22.01.2021 DK Quiz KU Exam 2
29.01.2021 VO Exam Backup Slot

The lecture slides are reasonably self-contained, but often briefly phrased.
If you prefer full-text resources, you may find some of the following books interesting:

Previous version of this course: WS 2019/2020

Administrative Information

Lecture Exams (VO)

The VO exam is a written exam (for the first 2 dates each year, otherwise contact us for an oral exam any time). See above for COVID-19 plans.
We will ask 4 questions on different topics; you can find lists of example questions to test yourself on the last slide for each lecture.

Please find the exam dates and registration in TUGRAZonline.

Exercise Sheets (KU)

The exercises are an essential part of Cryptography. It is recommended to visit the KU and VO of Cryptography in the same semester.

In the exercises, you practice the new topics in weekly exercise classes. The tasks are handed out after each week’s lectures, and due for the exercises of the following week, where one student will be selected to present the solution for each of the tasks. Thus, presence is mandatory if you tick any tasks.

You need to solve 50% of all examples to complete the KU. Use the Student Tick System (STicS) to tick the tasks you solved before each class. If you solve more than the required 50%, we will reward you with bonus points that are added to your exam results – for details, please check the lecture slides.

Most of the exercises are pen-and-paper thinking exercises, but each sheet includes a bonus challenge that will require some programming.

Exercise Exams (KU)

The grades for the KU are based on two exams (and the required 50% tick rate), plus bonus tasks. The dates and place are announced on this website. All students that participate at least in the first exam will receive a grade (positive or negative). There will be a “second-chance” exam at the end of the term. For details on the conditions, check the slides of the introductory lecture or ask us.


Maria Eichlseder

Assistant Professor

View more
Daniel Kales

PhD Candidate

View more

Teaching Assistants

Marcel Nageler