Teaching courses

Summer semester 2020

Lecture: Provable Security

Seminar: Side-channel resilient cryptography: Link to Moodle

Practicum: Blockchain Practicum: Register on Moodle


Announcement: Blockchain Practicum

Due to the current developments regarding the COVID-19 virus, there will be no classic kick-off meeting. However, we will offer a Question & Answer session online.

For the internship it is important that you inform yourself early, ideally before the Question & Answer Session, and look for a group for your project. For this purpose the corresponding Moodle course with all necessary information will be activated for self-registration from April 1st.

Register on Moodle

Lecture: Provable Security

TUCaN: Lecture: 20-00-1051-vl Provable Security


Teaching content:

This lecture shows how to formally prove security guarantees of cryptographic protocols. We focus on strong security guarantees and realistic adversary models. We use several different proving techniques. We will apply our knowledge to encryption schemes, some of which are used in practice, to gain a better understanding of their security properties.

  • Introduction to provable security
    • Definition of security
    • Introduction to computation security
    • Concept of a reduction
    • Cryptographic assumptions (OWF, factoring, discrete log, etc.)
    • Introduction to information theory
  • Symmetric encryption
    • Information theoretic secure encryption
    • Computationally secure encryption
    • OWF implies PRG
    • PRG implies encryption
  • Asymmetric encryption
    • IND-CPA security and ElGamal encryption
    • Proof of security of ElGamal
    • Naor/Yung scheme
    • Cramer/Shoup scheme
  • Extended security properties of encryption
    • Leakage resilient encryption
    • Random oracle model
    • Simulation-based security
    • Universal Composability Framework

Requirements: “Introduction to Cryptography” is recommanded but not mandatory.

Seminar: Side-channel resilient cryptography

TUCaN: Seminar: 20-00-1088-se Side-channel resilient cryptography

Link to Moodle


Teaching content:

Cryptographic schemes are classically secure against black-box attacks, where an attacker exploits weaknesses of the underlying cryptographic algorithm. When cryptography is implemented in practice, so-called side-channel attacks are a further threat to their security. Most of cryptography can be broken by side-channel attacks and countless examples illustrate that almost all the devices that are in use today are affected by them. Starting in the late 1990s, when Kocher showed that smart cards can be broken using timing or power analysis attacks, there has been a plethora of different side-channel attacks been discovered. Most recently, examples such as Foreshadow illustrate that even advanced computing machinery is vulnerable to side-channel attacks.

Leakage resilient cryptography is the discipline that formalises these practical attacks in order to use formal methods for demonstrating security against them. In particular, it defines new security models, so-called leakage models, that incorporate side-channel attacks into the classical security models, and design cryptographic schemes that are provable secure within them.


Requisites: The seminar is aimed at master students. Basic lecture IT security or basic knowledge in cryptography are recommended, but not mandatory.

Practicum: Blockchain Practicum

Practicum: 20-00-1031-pr Blockchain Practicum


Teaching content:

This course is aimed at students who have attended the lecture Cryptocurrencies and want to understand and examine some aspects of this topic in more detail. It provides a platform to check novel applications based on Blockchain technology for their feasibility and usefulness.

Complex cryptographic systems and ideas from the lecture Cryptocurrencies should be understood in team work and implemented in a decentralized system. The students are asked to develop a project plan and outline, which should be implemented over the course of the semester.

The students get first experiences with the implementation of a more complex development project.

Requirements: This course is directed at students that finished the cryptocurrencies lecture with good marks and programming skills.


Announcement: Blockchain Practicum

Due to the current developments regarding the COVID-19 virus, there will be no classic kick-off meeting. However, we will offer a Question & Answer session online.

For the internship it is important that you inform yourself early, ideally before the Question & Answer Session, and look for a group for your project. For this purpose the corresponding Moodle course with all necessary information will be activated for self-registration from April 1st.

Register to Moodle


Lecture: 20-00-0085-iv Introduction to Cryptography


Perfect Security

  • Different definitions
  • One Time Pad and its security
  • Limitations

Private Key Encryption

  • Computationally secure Priv. Key Encryption
  • Pseudo Random Generators (PRG)
  • Building secure Encryption scheme from PRG
  • Practical PRGs – Stream Ciphers
  • Stronger security notions
  • Pseudo Random Functions (PRF)
  • CPA security
  • Pseudorandom Permutation (PRP) and Block Cipher
  • Practical construction of Block Ciphers

Message Authentication Codes
Hash Functions
Cryptographic Assumptions
Key Agreement
Introduction to Public Key Encryption
Public Key Encryption Schemes – RSA
Signatures


Lecture: 20-00-1010-iv Cryptocurrencies

Concepts of Cryptocurrencies:

  • Cryptographic building blocks: cryptographic hash functions, signature schemes, blind signatures, commitments
  • Chaum’s eCash scheme
  • Intro to distributed systems and error models
  • Broadcast- and consensus mechanisms
  • Intro to Bitcoin and Blockchain consensus
  • Mining Bitcoins und secure storage of Bitcoins
  • Anonymous cryptocurrencies
  • Attacks on cryptocurrencies
  • Smart contracts and applications
  • Scalability
  • Altcoins and Blockchain ecosystem

No lectures


Vorlesung: 20-00-0085-iv Einführung in die Kryptographie

Math. Grundlagen:

  • Berechnungen in Kongruenz- und Restklassenringen

Grundlagen der Verschlüsselung:

  • Symmetrische vs. Asymmetrische Kryptosysteme
  • Block- und Stromchiffren, AES
  • Kryptoanalyse
  • Wahrscheinlichkeit und Perfekte Sicherheit
  • Verschlüsselung mit öffentlichen Schlüsseln
  • RSA, Diffie-Hellman, ElGamal
  • Faktorisierung großer Zahlen
  • Diskrete Logarithmen
  • Kryptografische Hashfunktionen
  • Digitale Signaturen
  • Identifikation



Vorlesung: 20-00-1051-vl Beweisbare Sicherheit

In dieser Vorlesung wird gezeigt, wie man Sicherheitseigenschaften von kryptografischen Protokollen formal beweisen kann. Dabei konzentrieren wir uns auf starke Sicherheitsgarantien und realistische Angreifermodelle und lernen verschiedene Beweistechniken kennen. Die erlernten Techniken werden wir auf teils real eingesetzt Verschlüsselungsverfahren anwenden und so eine gute Vorstellung von deren Sicherheitseigenschaften erhalten.



Seminar: 20-00-1052-se Zero Knowledge Beweissysteme

Zero Knowledge (ZK) Beweise sind Beweissysteme, mit denen ein Prover einem Verifier gegenüber die Wahrheit von Behauptungen wie z.B. “Ich kenne eine Lösung für ein Kreuzworträtsel” beweisen kann, ohne aber die Lösung des Rätsels zu verraten. ZK Beweise finden vielseitige Anwendung in der Kryptographie, beispielsweise im Bereich von sicherer Verschlüsselung und anonymen Kryptowährungen. In diesem Seminar lernen wir verschiedene Arten von ZK Beweissystemen und deren Anwendungsmöglichkeiten kennen.


Seminar: 20-00-1030-se Secure multi-party computation

Multi-party computations (MPC) are computations between 2 or more users, where every user provides an input and everyone computes the same output. On the internet, such computations are ubiquitous: to establish a secure connection via WiFi, both the user and the access point hold a password and want to compute a long-term key to secure the upcoming communication. Users of a cryptocurrency like Bitcoin hold different versions of the set of all finished transactions and want to determine which version they keep using.

Some topics:

  • What is secure MPC?
  • How can a blockchain be used to achieve consensus?
  • What are cryptographic building blocks for secure MPC (Garbled Circuits, blockchain, Oblivious Transfer)?
  • How to use secure MPC to prevent side channel attacks.



Practicum: 20-00-1031-pr Practicum of Cryptocurrencies

This course is aimed at students who have attended the lecture Cryptocurrencies and want to understand and examine some aspects of this topic in more detail. It provides a platform to check novel applications based on Blockchain technology for their feasibility and usefulness.

Complex cryptographic systems and ideas from the lecture Cryptocurrencies should be understood in team work and implemented in a decentralized system. The students are asked to develop a project plan and outline, which should be implemented over the course of the semester.

The students get first experiences with the implementation of a more complex development project.



Seminar: 20-00-1012-os Applied Cryptography

Content of the lecture: We will discuss current research topics from the field of cryptography.


Seminar: 20-00-1012-os Applied Cryptography

Content of the lecture: We will discuss current research topics from the field of cryptography.



Lecture: 20-00-1010-iv Cryptocurrencies

Concepts of Cryptocurrencies:

  • Cryptographic building blocks: cryptographic hash functions, signature schemes, blind signatures, commitments
  • Chaum’s eCash scheme
  • Intro to distributed systems and error models
  • Broadcast- and consensus mechanisms
  • Intro to Bitcoin and Blockchain consensus
  • Mining Bitcoins und secure storage of Bitcoins
  • Anonymous cryptocurrencies
  • Attacks on cryptocurrencies
  • Smart contracts and applications
  • Scalability
  • Altcoins and Blockchain ecosystem