MSc in Computer Science - Specialization in Cryptology
Aarhus, Denmark
DURATION
4 Semesters
LANGUAGES
English
PACE
Full time
APPLICATION DEADLINE
Request application deadline *
EARLIEST START DATE
Aug 2025
TUITION FEES
EUR 15,300 / per year **
STUDY FORMAT
On-Campus
* 15 January for non-EU citizens and 1 March for EU citizens
** for non-EU/EEA students only | EU/EEA students study for free
Introduction
Specializations in Computer Science
The master’s programme runs over two years with four semesters. Three semesters are dedicated to specialisations or electives. The last semester is for your master’s thesis, which some choose to write in collaboration with a company. Once enrolled, our programme manager will help you complete your master’s programme based on your interests.
Specialization
- Two 30 ECTS specializations
Elective
- The recommendation is a 3rd specialization.
- A small number of elective courses in computer science are offered in addition to specializations. Project work (partly) is also a possibility.
- Elective courses may be supportive rather than core computer science, e.g. extra mathematics courses.
- There may be requirements for the composition of the study program in connection with possible admission.
- In this case, mandatory courses replace elective courses (partly).
Thesis
- Written within the area of specialization 1 or 2.
Cryptology Specialization*
1st Sem (Fall): ) Cryptology (10 ECTS)
2nd Sem (Spring): ) Cryptologic Protocol Theory (10 ECTS) Or Systems Security (10 ECTS)
3rd Sem (Fall): ) Cryptographic Computing (10 ECTS) Or Quantum Information Processing (10 ECTS)
* Cryptology is a prerequisite for Cryptologic Protocol Theory and Cryptographic Computing
* Systems Security is independent of the other courses
Admissions
Curriculum
Cryptology
Course content
Basic concepts in Information theory, perfect security and key exchange from noisy channels. Block cyphers, e.g. AES and DES, PRF and CPA security, CBC and CTR modes of use and their security. Public key crypto based on RSA, Discrete logarithm and LWE, including the algebra and number theory we need, CPA and CCA security for public-key crypto. Authentication: CMA security, hash functions, MACs (CBC and HMAC) and digital signatures, replay attacks and how to prevent them.
Description of qualifications
Objectives of the course:
After the course the participants will have detailed knowledge of cryptographic techniques for secure communication and data handling, this includes algorithms and mathematics behind cryptographic constructions, basic models for security and reductions for relating the security of cryptographic schemes to other schemes and computational problems. Participants will also understand how to apply cryptographic tools in applications.
Cryptologic Protocol Theory
Course content
The course will present the theory of protocols and related concepts with connections to cryptology, mathematics and complexity theory. The main areas to be covered include Probabilistic proof systems, commitment schemes, zero-knowledge and secure distributed computing. We will also cover some practical applications in areas that become important as we perform more and more tasks in society electronically. This may include, for instance, identification, electronic elections, distributed signature schemes, anonymous electronic cash, etc. The course normally assumes the introductory cryptology course, but can also be followed by students with a main interest in algorithms and complexity who want to know about the connections between this and cryptology. Contact the teachers if you are interested in following the course, but did not follow the cryptography course.
Description of qualifications
Objectives of the course
The participants will after the course have detailed knowledge of techniques for the construction of cryptographic protocols, and a basic understanding of models for the security of multiparty protocols.
Or
Systems Security
Course content
Module 1: Background
- Principles of Computer Security: attacks and defences against computer systems
- Crash Course on Cryptography: symmetric and public-key crypto
- Authentication and Access Control: ACLs, passwords, biometrics, multi-factor
Module 2: Network Security
- Link layer Security: WEP and WPA
- Network layer security: IPSec and VPNs, intrusion detection systems
- Transport layer security: SSH and TLS
- Application layer security: Tor and Signal
Module 3: Software Security
- Defensive programming and secure development process
- Control hijacking attacks: buffer overflows, return-oriented programming and mitigations
- Operating systems security: isolation, privilege and sandboxing
- Mobile and embedded security: vulnerabilities and countermeasures
- Cloud/Web Security: vulnerabilities and countermeasures
Module 4: Advanced Topics
- Fuzzing and automated security testing
- Privacy-enhancing technologies
Evaluation
Students are required to submit three mandatory programming assignments and a report about their final project (up to 12 pages). The project can be done in groups of up to 3 students, but individual work is also possible. The groups will have the opportunity to meet with the instructor periodically to discuss the progress of their project.
Description of qualifications
The course explores ways to attack and defend computer systems of different types. These include the building blocks of cryptography and software security, and how these can be applied to protect networked systems.
Cryptographic Computing
Course content
Traditional cryptography allows two parties to ensure the authenticity and secrecy of their communication over an insecure channel -- two parties that trust each other and want to be protected against external attackers. However, in modern applications the trust model is different, and the parties involved might not trust each other and require extra security guarantees. Electronic auctions, electronic voting and cloud computing are a few examples of such applications. In this class, we will study some of the advanced and state-of-the-art cryptographic tools that allow two or more parties to perform any computation on their data in a way that preserves the privacy of the secret inputs and the correctness of the results, even if the system is under attack by internal and external adversaries. Some of the topics covered in the course are secure computation with semi-trusted third parties, oblivious transfer, garbled circuits and homomorphic encryption.
Description of qualifications
Objectives of the course
Cryptographic Computing is a set of techniques which enable mutually distrusting parties to perform joint computation on private data. The objective of the course is to make students familiar with the basic technologies in cryptographic computing (during the first half of the course) and to enable them to pursue their projects on advanced technologies for cryptographic computing (during the second half of the course).
Or
Quantum Information Processing
Course content
The idea of quantum computing arose in part from the difficulty of simulating quantum systems on a standard computer. In the 1980s, some physicists suggested using the quantum system itself as a computational device! The system could simulate itself, but what else could it do? This led to theoretical definitions of a quantum computer.
In the 1990s, many interesting algorithmic applications of quantum computers were found. In particular, Peter Shor found an efficient quantum algorithm for factoring large numbers (opening up the potential for quantum computers to break current-day cryptosystems) and Lov Grover found a quantum algorithm to speed up unstructured search. At the same time, applications of quantum computing that helped in cryptography were also discovered.
In recent years, these theoretical models of quantum computing devices are getting closer to reality, as companies spend vast amounts of resources on building quantum computers.
This course will introduce basic concepts in quantum information, and models of quantum computation, cover the above quantum algorithms, and show how quantum communication can be used to design unconditionally secure protocols for key exchange, something that is impossible with classical communication.
Qualification description
Purpose of the course
Understanding the basic concepts of quantum information, quantum algorithms and applications to quantum cryptography.