Courses offered by members of the cryptology and data security research group at the University of Bern and in the Swiss Joint Master in Computer Science.

Spring 2019

Fall 2019

  • Diskrete Mathematik (in German)

    Bachelor Informatik, University of Bern; KSL 11479; Please register in ILIAS.

    Diese Vorlesung führt in diskrete Mathematik ein und behandelt eine Reihe von zentralen Methoden und Konzepten, welche wichtig sind für das tiefere Verständnis der Informatik. Diskrete Mathematik ist ein Teilgebiet der Mathematik, das sich hauptsächlich mit endlichen und abzählbaren Strukturen beschäftigt. Wichtige Themen sind zuerst Mengen, Relationen und Funktionen. Es folgen Grundlagen der Algebra und Zahlentheorie, welche auch für kryptographische Verfahren oder Codierungstheorie die Basis bilden. Darüber hinaus werden Konzepte aus der Graphentheorie vorgestellt und die Grundlagen der Logik eingeführt, insbesondere Aussagenlogik und Prädikatenlogik. Die Vorlesung dient auch der Vorbereitung auf weitergehende Themen der theoretischen Informatik, wie Berechenbarkeit, Komplexität, Effizienz und probabilistische Algorithmen.

    Kurssprache ist Deutsch. Unterlagen sind in Englisch.

  • Cryptography

    University of Bern and Joint Master in Computer Science; KSL 453847; Please register in ILIAS.

    Cryptography addresses the protection of data in the digital world; it has become a crucial technology for the information society, with influence to public policy and questions of privacy. This course presents an introduction to modern cryptography. Based on mathematical models for reasoning about the security of information systems, the course explains the fundamental concepts of cryptography and discusses the most important cryptographic algorithms that are in everyday use on the Internet. It covers security proofs, computational security, pseudorandomness, block ciphers, hash functions, and message authentication. Public-key cryptosystems and public-key signature schemes that rely on number-theoretic primitives are also introduced and some elementary cryptographic protocols will be presented. (Caveat: The course is not about computer security, operating systems, malware, attacks and their prevention.)

  • Seminar: Secure Computation

    University of Bern and Joint Master in Computer Science; KSL 453835; Please register in ILIAS.

    How can an algorithm be executed such that the computing device does not get to see the operations it executes and the data it touches? Can one compute with encrypted data? How can privacy in online services be maintained? What does it take to carry out an auction with secret inputs, a distributed voting application, private bidding schemes and sealed-bid auctions without a trusted party? This seminar will cover fundamental techniques and protocols that answer these questions. The topics range from secure multiparty computation protocols that rely on cryptography to trusted execution environments based on secure hardware processors.

    The seminar will start with an overview of the topic, where some basic principles are introduced. The main content consists of interactive presentations by the participants, on the basis of the existing literature, ranging from classic research papers to recently developed systems. In addition, students as well as members of the cryptology and data security research group will present their own current work.

Spring 2020

  • Algorithmen, Wahrscheinlichkeit und Information (in German)

    Bachelor Informatik, University of Bern; KSL 451670; Please register in ILIAS once the course is available.

    Diese Vorlesung führt das Gebiet der randomisierten Algorithmen und probabilistischen Verfahren ein, welche heute in der Informatik eine grosse Rolle spielen. Darüber hinaus werden auch die Grundlagen der Informationstheorie und der Begriff der Entropie vorgestellt. Probabilistische Methoden und Analysen treten in vielen Gebieten auf, in der Kommunikation, in Machine Learning, zur Datenanalyse und in der Kryptologie. Nach einer Einführung in die Wahrscheinlichkeitsrechnung mit diskreten Ereignissen werden wichtige probabilistische Methoden und deren Analyse behandelt, so zum Beispiel Abschätzungen mittels Chernoff-Bounds und die probabilistische Methode. Randomisierte Algorithmen auf Graphen und in der Zahlentheorie werden diskutiert. Entropie als Informationsmass wird eingeführt und Methoden für Codierung und Datenkompression behandelt.

    Kurssprache ist Deutsch. Unterlagen sind in Englisch.

  • Distributed Algorithms

    University of Bern and Joint Master in Computer Science; KSL 454448; Please register in ILIAS once the course is available.

    This course provides an introduction to computing in a distributed environment without a central coordinator. It presents fundamental programming abstractions for distributed systems and fault-tolerant, highly available, and secure protocols that implement them. Important problems of distributed computing are discussed and influential impossibility results are shown. The central question of the course is how to tolerate uncertainty and adversarial influence, which may arise from network delays, faults, or malicious attacks in a distributed system. Topics include replication, quorums, reliable broadcast, distributed storage, consensus, Byzantine agreement, atomic broadcast, and notions of consistency arising in this setting. Applications to real-world systems will be presented, in the domain of cloud computing, cryptocurrencies, and blockchain systems.

  • Seminar: Distributed Trust and Blockchains

    University of Bern and Joint Master in Computer Science; KSL 451871; Please register in ILIAS once the course is available.

    A blockchain is a distributed system for executing and recording transactions, which is maintained by many nodes without a central authority. Blockchains power distributed ledgers and cryptocurrencies that have applications to many domains.

    In this seminar we will cover fundamental techniques and protocols for blockchains and cryptocurrencies, including prominent current applications.

    The seminar will start with an overview of the topic, where some of the principles will be introduced. The main content will consist of interactive presentations by the participants, on the basis of the existing literature, ranging from classic research papers to recently developed systems.