Below you can find lectures and tutorials that I have been teaching at different institutions and taught programmes that I helped to design.

MSc Information Security @ University of Surrey

The 1-year "MSc Information Security" programme offered by the Department of Computer Science and Surrey Centre for Cyber Security of the University of Surrey equips students with advanced knowledge, understanding, and practical skills in information security to match the increasingly high demand on information security experts in academia, government and industry.

This MSc programme, established in 2014, received full certification by GCHQ for delivering high-standard and industry-relevant cyber security research and education from internationally recognised cyber security academics.

As Director of MSc Studies (2012-2015) I was in charge for the initial design and the overall management of this programme. Click for further information about the programme and the application process for prospective students.

Lectures & Tutorials

  • Data Structures and Algorithms | since 2017 | 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.

  • Asymmetric Cryptography | since 2014 | 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.

  • Symmetric Cryptography | 2014 - 2016 | 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.

  • 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     [more]
    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