
DM886: Cryptographic Engineering
The Study Board for Science
Teaching language: Danish or English depending on the teacher
EKA: N340107102
Assessment: Second examiner: Internal
Grading: 7-point grading scale
Offered in: Odense
Offered in: Autumn
Level: Master
STADS ID (UVA): N340107101
ECTS value: 5
Date of Approval: 29-04-2025
Duration: 1 semester
Version: Approved - active
Entry requirements
Academic preconditions
The course builds upon knowledge of network security obtained during the bachelor and provides knowledge that can be used for a master thesis in the area of applied cryptography.
Course introduction
Cryptography provides algorithms that are crucial for the security (e.g., confidentiality, integrity, and authenticity) of our modern communication. However, the theoretical security of these algorithms is only one of the required aspects to achieve security – it is also important to implement these algorithms efficiently and securely. This course explains how to achieve high performance even for small embedded devices when implementing cryptographic algorithms and how to protect an implementation against timing attacks that are not looking for weaknesses in the algorithm or the implementation but attempt to exploit the run time of an implementation to reveal secret information.
The course is accompanied by hands-on tutorials on efficient implementation, timing attacks, and countermeasures.
The course has a focus on:
- developing skills in low-level programming in C and assembly language,
- developing skills in analyzing the performance and the bottlenecks of an implementation,
- developing skills in optimizing software implementations with a focus on embedded devices,
- developing skills in protecting cryptographic implementations against timing attacks.
Expected learning outcome
The student will be able to:
- detect and evaluate the performance and bottlenecks of an implementation,
- develop optimizations for cryptographic applications, and
- analyze and protect cryptographic applications in regards to timing attacks
Content
The following main topics are contained in the course:
- Introduction to Cryptography
- Implementation of Cryptography
- Optimization on Embedded Devices
- Timing Attacks and Countermeasures
Literature
See itslearning for syllabus lists and additional literature references.
The following literature covers parts of the course: “Cryptographic Engineering” by Çetin Kaya Koç, Springer.
This literature is not a requirement for the course but provides further information on its topics.
The following literature covers parts of the course: “Cryptographic Engineering” by Çetin Kaya Koç, Springer.
This literature is not a requirement for the course but provides further information on its topics.
Examination regulations
Exam element a)
Timing
January
Tests
Oral examination
EKA
N340107102
Assessment
Second examiner: Internal
Grading
7-point grading scale
Identification
Student Identification Card - Name
Language
Normally, the same as teaching language
Duration
20 minutes
Examination aids
Notes and source code is allowed
ECTS value
5
Additional information
The oral examination is online.
Indicative number of lessons
Teaching Method
Planned lessons:
Total number of planned lessons: 30
Hereof:
Common lessons in classroom/auditorium: 30
The course is held in the form of interactive or pre-recorded online lectures and hybrid online/in-person tutorials.
The course will be held in a block of 5 to 6 weeks with 10x2 hours lectures and 5x2 hours tutorials.
Other planned teaching activities:
Participants need to be prepared to spend time on writing source code as preparation for the tutorial sessions.
Teacher responsible
Timetable
Administrative Unit
Team at Registration
Offered in
Recommended course of study
Transition rules
Transitional arrangements describe how a course replaces another course when changes are made to the course of study.
If a transitional arrangement has been made for a course, it will be stated in the list.
See transitional arrangements for all courses at the Faculty of Science.