Official course description:

Full info last published 15/05-23
Course info
ECTS points:
Course code:
Participants max:
Offered to guest students:
Offered to exchange students:
Offered as a single subject:
Price for EU/EEA citizens (Single Subject):
21250 DKK
MSc. Master
MSc in Computer Science
Course manager
Full Professor
Associate Professor
Course semester
Efterår 2023
28 August 2023
26 January 2024
Exam type
ekstern censur
Grade Scale
Exam Language

The proliferation of technology in decision making challenges the collective trust in society.  Mathematical models predict the economy and political decisions are made accordingly. National ID infrastructures, such as MitID, authenticate citizens to digital services who still need to trust that they also protect their private data. AI systems are making decisions that affect many, who must learn how to live with them. Living in a modern digital world means that technology operates in an adversarial and partly unverifiable environment. All too often, technologies are expected be trusted although they are untrustworthy by design.

The concept of verifiability provides mechanisms to check retroactively if operations of a specific technology were correct. Not all technologies and infrastructures support the concept of verifiability, because often verifiability and confidentiality are at odds. Most technologies could support it but only few do.  In this advanced course called Advanced Security, we study the concept of verifiability and trust.

You will take this course as part of the security specialization. As prerequisites, we expect you to be able to program and have taken an introductory course in cybersecurity, such as Security 1 or Applied Information Security, a course on Cryptography, and of course Discrete Mathematics.


Trust is known to be difficult to create but easy to destroy.  In these lectures, we study trust and technical notions of verifiability to strengthen trust.  We also study techniques to evaluate if verifiability really strengthens trust and show that this not necessarily the case. The lectures are given alternating by the lecturers and the students. There is no coursebook (yet) for this material, which means that most of the material will be covered in research papers and students are required to read at least one of the papers and present it to the class.

Module 1: Trust, Distrust and Verifiability. In this module, we look at different ways to think about trust. We look at formal definitions of verifiability, and accountability. We’ll be reading papers on the philosophical foundations of trust, distrust, and discuss various game-based definitions of verifiability and accountability, and trust into AI systems. We also discuss how privacy factors into the topic of trust.

Module 2: Logical Methods.  In this module, we look at topics, such as language-based security, information flow control, and protocol verification. We also investigate how to make databases more private and how to make AI reasoning more robust. As logic is meant to capture truth, and truth is a precursor for trust, logic is a good trust base for computing.

Module 3: Cryptographic Methods. In this module we look at topics, such as secure multi-party computation (MPC) using voting protocols as examples. We look at constructions supporting verifiability, such as zero-knowledge proofs, and cryptographic mixing that are designed to be verifiable while preserving privacy.

Module 4: Statistical Methods. Here will present techniques for auditing, including risk-limiting audits and testing, AI-watermarking, and others designed for verifiability. Statistical methods are also used to evaluate user studies and to the effectiveness of trust generation.

Formal prerequisites

Formal prerequisites 

    Security 1


    Discrete Mathematics

    Introduction to Programming


Intended learning outcomes

After the course, the student should be able to:

  • Module 1: Design and study cryptographic protocols.
  • Module 2: Analyze protocols for accountability
  • Module 3: Apply information flow control techniques.
  • Module 4: Explain usability security design techniques.
  • Module 5: Analyze socio-technical systems.
  • Module 6: Describe cryptographic protocols used for voting.
Learning activities

  • Analyze the verifiability and accountability of security protocols
  • Create verifiable cryptographic protocols
  • Explain the robust AI concept
  • Reason about programs using language based security techniques
  • Explain auditing techniques

Mandatory activities

There are 6 quizes. 

The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.

Course literature

The course literature is published in the course page in LearnIT.

Student Activity Budget
Estimated distribution of learning activities for the typical student
  • Preparation for lectures and exercises: 15%
  • Lectures: 25%
  • Exercises: 25%
  • Assignments: 15%
  • Exam with preparation: 10%
  • Other: 10%
Ordinary exam
Exam type:
B: Oral exam, External (7-point scale)
Exam variation:
B22: Oral exam with no time for preparation.
Exam duration per student for the oral exam:
30 minutes

Exam type:
B: Oral exam, External (7-point scale)
Exam variation:
B22: Oral exam with no time for preparation.
Exam duration per student for the oral exam:
30 minutes

Time and date
Ordinary Exam Thu, 11 Jan 2024, 09:00 - 21:00
Ordinary Exam Fri, 12 Jan 2024, 09:00 - 21:00