Official course description:

Full info last published 11/01-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):
10625 DKK
MSc. Master
MSc in Computer Science
Course manager
Full Professor
Course semester
Forår 2023
30 January 2023
25 August 2023
Exam type
ekstern censur
Grade Scale
Exam Language

This course provides an introduction to the fundamental concepts of cryptography, the practice of protecting information and securing communication in computer systems. We start with classical encryption techniques, and consider modern private-key and public-key crypto systems and study their security against eavesdroppers or attackers, who tamper with network traffic. The course is aimed at students with a background in computer science or mathematics, and will include both theoretical and programming exercises. 


In Cryptography, you learn about basic cryptographic tools to secure data and computations, including private and public-key cryptography, and cryptographic protocols.  You will learn how to define what it means to be secure and relate different notions of security. More specifically: 

  • Perfectly secret encryption
  • Symmetric encryption and the computational model
  • Stream ciphers, pseudo-random functions, and reduction proofs
  • Block ciphers and message authentication  
  • Secure Hash functions
  • Practical constructions of symmetric-key primitives
  • Number theory and cryptographic hardness assumptions
  • El Gamal cryptosystem
  • Elliptic curve cryptography
  • Digital signatures
  • Key encapsulation mechanisms and TLS
  • Secret sharing

Formal prerequisites
Intended learning outcomes

After the course, the student should be able to:

  • Design and analyze cryptographic protocols for adversarial environments
  • Analyze basic cryptographic protocol designs in the computational model
  • Explain and apply proofs by reduction to prove the security of cryptographic constructions
  • Explain cryptanalysis and differential privacy
Learning activities

The course comprises lectures, lab sessions. There will be 12 weeks of lectures, 2 weeks of project work only.

Mandatory activities

There will be six quizzes on Learn-IT. To be eligible for the exam you must reach at least a 50% average (of all quizzes total).

At the end of the course, you must submit as a group a project to Learn-IT, which will be evaluated pass/fail. To be eligible for the exam, you must pass the project.

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:
A: Written exam on premises, External (7-point scale)
Exam variation:
A11: Written exam on premises. Open book exam.
Exam duration:
4 hours

Exam type:
A: Written exam on premises, External (7-point scale)
Exam variation:
A11: Written exam on premises. Open book exam.
Exam duration:
4 hours

Time and date
Ordinary Exam - on premises Wed, 31 May 2023, 09:00 - 13:00
Reexam - on premises Thu, 17 Aug 2023, 09:00 - 13:00