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: 05-02-2022
Duration: 1 semester
Version: Approved - active
Entry requirements
Academic preconditions
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.
In relation to the competence profile of the degree it is the explicit focus
of the course to:
of the course to:
- give expert knowledge in a defined subject area that is based on the highest international field of research within the field of computer science,
- give skills to analyze advantages and disadvantages of different computer science methods, also within academically complex areas, and
- give the competence to be able to take responsibility for own professional development and specialization.
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.
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
Language
Normally, the same as teaching language
Examination aids
To be announced during the course.
ECTS value
5
Additional information
The oral examination is online.
Indicative number of lessons
Teaching Method
The course is held in the form of interactive or pre-recorded online lectures and hybrid online/in-person tutorials.
Participants need to be prepared to spend time on writing source code as preparation for the tutorial sessions.
The course will be held in a block of 5 to 6 weeks with 10x90min lectures and 5x90min tutorials per week.
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.