Teaching In spring semester 2021, two courses are being taught at the Chair of Cyber Security. Privacy-Preserving Cryptographic Protocols In this course, we will discuss protocols that are employed in order to guarantee privacy-preservation in different settings including: privacy-preserving authentication protocols (eg, biometric authentication), privacy-preserving verifiable delegation of computation, privacy-preserving aggregation protocols. We will discuss the design of the protocols, their provable security as well as how robust they are against different types of attacks. We will use papers in this research area published in top venues in security and privacy eg, ACM CCS, IEEE Symposium on Security and Privacy, Eurocrypt, AsiaCrypt. The students will be actively participating in the description and presentation of the protocols. Among the covered topics are included: (1) Privacy-preserving biometric authentication protocols (2) Privacy-preserving verifiable delegation of computation protocols (3) Privacy-preservation authentication protocols used in the IoT (e.g. aggregation, proximity based authentication) For more information about the course, please refer to the course home page or the course fact sheet. Cryptography The course is composed of four main parts and covers the following material: 1st Part ‑ Secret Key Cryptography: We will analyse how secret key cryptography is employed to achieve confidentiality. We will cover a small selection of classical cryptosystems, including substitution and transposition ciphers that were historical examples of secret key cryptography. We will describe how one time pad works, what are the stream ciphers and how block ciphers work. We will discuss components used in constructions of block ciphers (e.g. feistel networks) and describe concrete constructions e.g. AES, DES. 2nd Part ‑ Public Key Cryptography: We will discuss the notion of public key cryptography, see well known public key cryptosystems (textbook RSA, El Gamal). Describe attacks against existing schemes and how they can be avoided. 3rd Part‑ Data Integrity: We will discuss how we can achieve data integrity using hash functions, message authentication codes and public key signatures. We will see vulnerabilities of existing schemes and how we can secure them. 4th Part ‑ Cryptographic protocols: We will describe how we employ cryptographic primitives in order to design cryptographic protocols between two or more parties to achieve identification, key agreement and secure multi‑party computation. For more information about the course, please refer to the course fact sheet.