Courses
Courses offered by members of the cryptology and data security research group. Current courses are listed below. See also the past courses and the thesis projects.
Overview
Undergraduate-level courses – Bachelor Informatik, University of Bern
Two yearly courses that introduce students to relevant areas in computer science and prepare for the advanced courses. Undergraduate courses are taught in German.
-
Diskrete Mathematik (Fall)
-
Algorithmen, Wahrscheinlichkeit und Information (Spring)
Graduate-level courses – University of Bern and Joint Master in Computer Science
Topics span cryptology, security, distributed computing, privacy, and more. Preview of the schedule.
Thesis projects
Spring 2025
-
Algorithmen, Wahrscheinlichkeit und Information (in German)
Bachelor Informatik, University of Bern; KSL 451670; please register in ILIAS.
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.
-
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.
-
Seminar: Cryptography and Data Security
University of Bern and Joint Master in Computer Science; KSL 453835; please register in ILIAS.
The seminar in cryptology and data security covers various relevant topics in the area and its contents will change from one semester to another. Typical subjects are cryptographic protocols, secure computation, privacy, distributed trust and blockchains. A seminar will start with an overview of the topic, where some basic principles are introduced. The main content will typically consist 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.
Theme of the seminar in Spring 2025 (More details will appear in ILIAS)
The Mathematics of Public-key Cryptography
The seminar will cover the number-theoretic basics and other mathematical foundations relevant for modern public-key cryptography. Students will explore a range of advanced cryptographic schemes that rely on these mathematical structures.
-
Seminar: Usable Security
University of Bern and Joint Master in Computer Science; KSL 487868; ILIAS link only for registered students.
In today’s digital age, security measures are paramount to protect sensitive data and maintain user trust. However, the effectiveness of these measures depends not only on their technical strength but also on their usability. Usable security ensures that security protocols and mechanisms are not only robust but also user-friendly, reducing the likelihood of user errors and security breaches. By aligning user needs and behaviors with security goals, usable security promotes a safer digital environment without compromising the user experience.
This interdisciplinary seminar is offered by the Institute of Psychology in collaboration with the Institute of Computer Science. Students of psychology and computer science will work together and benefit from interactions with participants of the other field.
Important
Advance registration is necessary: Students of psychology register via KSL. Students of computer science register by sending email to Prof. Christian Cachin.
The deadline for registration is 7. February 2025.
Fall 2024
-
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. Zuerst werden Grundlagen der Logik eingeführt, insbesondere Aussagenlogik und Prädikatenlogik. Wichtige Themen sind danach Mengen, Relationen und Funktionen. Es folgen Themen aus Algebra und Zahlentheorie, welche auch für kryptographische Verfahren oder Codierungstheorie die Basis bilden. Darüber hinaus werden Konzepte aus der Graphentheorie vorgestellt. Die Vorlesung dient der Vorbereitung auf weitergehende Themen der theoretischen Informatik, wie Berechenbarkeit, Komplexität, Effizienz, Datenstrukturen und Algorithmen.
Kurssprache ist Deutsch. Unterlagen sind in Englisch.
-
Distributed Algorithms
University of Bern and Joint Master in Computer Science; KSL 454448; please register in ILIAS.
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: Cryptography and Data Security
University of Bern and Joint Master in Computer Science; KSL 453835; please register in ILIAS.
Dr. Jayamine Alupotha and Prof. Christian Cachin
The seminar in cryptology and data security covers various relevant topics in the area and its contents will change from one semester to another. Typical subjects are cryptographic protocols, secure computation, privacy, distributed trust and blockchains. A seminar will start with an overview of the topic, where some basic principles are introduced. The main content will typically consist 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.
Theme of the seminar in Fall 2024 (More details will appear in ILIAS)
Blockchains and Cryptocurrencies
Blockchain networks power cryptocurrencies and enable automated decentralized-finance (DeFi) solutions through smart contracts. These systems rely on cryptography and on protocols for distributed consensus. Following the advent of Bitcoin, many other protocol networks have been developed in the recent years such as Ethereum, Cardano, XRP Ledger (Ripple), Avalanche, or the Internet Computer. They achieve a combined market capitalization of trillions (10^12 USD). Every one of these networks has its own cryptocurrency and is called a “Layer 1” network.
In addition to cryptocurrencies that are powered by their dedicated distributed ledgers, many acceleration protocols and support systems have been introduced. These can typically achieve higher transaction throughput, supply critical information to cryptocurrency networks, or offer support for privacy. These networks are at “Layer 2” because their security usually relies on a “main” cryptocurrency at “Layer 1”.
This seminar covers the most prominent Layer-1 and Layer-2 networks in the cryptocurrency domain. Every participant (or team) selects one cryptocurrency and will present its protocol, the programming model, and other important aspects. A participant will also develop a sample application on the chosen platform and describe it as part of a presentation.
Earlier semesters
-
Information about courses in earlier semesters can be found in the archive.