Below you can find a list of courses that were taught by me at various institutions.

My current courses at the Universität der Bundeswehr München are described in the teaching section of the PACY Lab's website.

Lectures & Tutorials

  • Private Authentication and Messaging | since 2023 | Universität der Bundeswehr München
    Contents: authenticated key establishment, incl. BR93 model, key transport with PKE/KEMs, key exchange (DH, SIGMA, HMQV, Ring-LWE KEMs), key derivation (HKDF), secure channels with AEAD, secure and private messaging (double ratchet, asynchronicity, Signal protocol, deniability), group key establishment (group key transport, LKH, OFT, group key exchange, Burmester-Desmedt GKE, tree-based DH, robustness in GKE), message-layer security (TreeKEM, OpenMLS), password-based key exchange (symmetric/asymmetric/strong PAKE, PACE and OPAQUE protocols, SPHF and VOPRF techniques, T-PASS, Group PAKE), secret handshakes / affiliation-hiding key exchange (CA-oblivious encryption, dynamic matching, multi-group protocols), group signatures (general constructions, revocation, VLR and dynamic accumulators), anonymous credentials (generic constructions, CL signatures), ring signatures (incl. DualRing), anonymous communications (DC nets, mix nets, onion routing, TOR protocol).

  • Private Data Processing | since 2023 | Universität der Bundeswehr München
    Contents: secret sharing / threshold cryptography, oblivious transfer (incl. OT extensions, frameworks), secure 2PC (Yao's garbled circuits, GMW, optimisation techniques), secure MPC (GMW-N, BGW, BMR), private function evaluation (from universal circuits, homomorphic encryption, oblivious switching networks), (fully) homomorphic encryption (incl. Gentry's blueprint, bootstrapping, key switching, (R)LWE, BGV), private information retrieval (multi-server, RAID-PIR, single-server from (F)HE), private set intersection (incl. based on OT, Sort-Compare-Shuffle, circuit phasing, Cuckoo hashing, unbalanced PSI from OPRF, Bloom filters), searchable encryption (incl. static/dynamic SSE, PEKS from IBE).

  • Modern Cryptography | since 2022 | Universität der Bundeswehr München
    Contents: perfect/statistical/computational security (definitions and proofs), one-way functions, pseudorandom functions, block ciphers (incl. AES) with operation modes, hash functions (incl. SHA-3), message authentication codes (incl. HMAC), mathematics for cryptography (incl. integer factorization, discrete logarithms, elliptic curves, bilinear maps), public-key encryption (incl. RSA, ElGamal, Paillier, Cramer-Shoup, Linear encryption, KEM/DEM framework), authenticated encryption, digital signatures (incl. RSA, (EC)DSA, Schnorr, BLS, BB, Waters, blind signatures), hash & sign, commitments, identification protocols and zero-knowledge proofs.

  • Symmetric Cryptography | 2014 - 2016, 2019 - 2022 | University of Surrey
    Contents: historical ciphers (incl. cryptanalysis), information entropy, unicity distance, perfect/statistical secrecy, one-time pad, one-way functions, pseudorandom generators and functions, computational security, block ciphers (incl. 3DES, AES), operation modes, hash functions (incl. SHA-1, Keccak), message authentication codes (incl. HMAC), security definitions and proofs, implementations.

  • Asymmetric Cryptography | 2014 - 2019 | University of Surrey
    Contents: mathematical background (incl. modular arithmetic, integer factorization, cyclic groups, discrete logarithms), public-key encryption (incl. RSA, ElGamal, Paillier, Cramer-Shoup), authenticated/homomorphic/hybrid encryption, digital signatures (incl. RSA, DSA, Schnorr), hash & sign, blind signatures, key transport/exchange (incl. Diffie-Hellman), secret sharing, threshold cryptography, commitments, identification protocols, zero-knowledge proofs, security definitions and proofs, implementations.

  • Data Structures and Algorithms | 2017 - 2020 | University of Surrey
    Contents: data structures (incl. arrays, lists, queues, stacks, binary trees, heaps, graphs), algorithmic complexity (incl. Big Oh, Big Omega, Big Theta, little Oh), recursive algorithms, sorting algorithms (Bubble Sort, Insertion Sort, Quicksort, Heapsort, Radixsort), graph algorithms for minimal spanning trees (Prim, Kruskal) and shortest paths (Dijkstra), implementations using Java.

  • Introduction to Cryptography | 2019 - 2020 | University College London
    This module was delivered for MSc and BSc students at UCL as an external teaching activity.
    Contents: historical ciphers, perfect/statistical secrecy, one-way functions, pseudorandom generators, symmetric encryption, hash functions, message authentication codes, number-theoretic problems, asymmetric encryption, digital signatures, authenticated encryption, key establishment, elliptic curve cryptography, pairing-based cryptography.

  • Web Hacking and Countermeasures | 2013 - 2014 | University of Surrey
    Contents: background on hacking, shadow economy, types of attacks, malware, network layer security (ARP, IP, TCP), IPsec protocol, transport layer security (TLS, PKI, X.509), application layer security (XSS, CSRF, SQL injection attacks), human factors in security (passwords, phishing, social engineering attacks), security tools.

  • Advanced Algorithms | 2012 - 2014 | University of Surrey
    Contents: divide & conquer, greedy algorithms, dynamic programming, branch & bound, backtracking, linear programming, P vs. NP, NP-completeness, algorithms for selected NP problems, algorithms for number theory.

  • Applied Cryptography | 2010 - 2012 | TU Darmstadt
    Contents: In a group of 2-3, students were researching some problem under supervision and had to submit a research article based on their results. A paper co-authored by the students of the course was published at ACM ASIACCS 2013.

  • Introduction to Cryptography | 2010 - 2011 | TU Darmstadt
    This lecture received E-Teaching Award 2010 from Carlo and Karin Giersch-Stiftung at TU Darmstadt.
    Contents: historical ciphers, perfect/statistical secrecy, one-way functions, pseudorandom generators, symmetric encryption, hash functions, message authentication codes, number-theoretic problems, asymmetric encryption, digital signatures, authenticated encryption, key establishment, elliptic curve cryptography, pairing-based cryptography.

  • Cryptographic Protocols - Design, Analysis, Applications | 2009 - 2012 | TU Darmstadt
    Contents: design and analysis of cryptographic protocols, commitments, coin-flipping, identification protocols, zero-knowledge proofs, key establishment, secret handshakes, multisignatures, aggregate signatures, group signatures, ring signatures, secret sharing, threshold cryptography.

  • Group-Oriented Communication and Application Security | since 2008 | isits International School of IT Security
    Distance lecture using e-learning plattform for the MSc in Applied IT Security degree.
    Contents: group applications, group communication systems (incl. safety, ordering, reliability), group admission and membership control, group key distribution/exchange protocols, group-oriented digital signatures.

  • Cryptography and Data Security | 2006 - 2008 | Industry tutorial at Academy of Ruhr University Bochum