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

None

Academic preconditions

None

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:
  • 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.

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

30 hours per semester

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

Name E-mail Department
Ruben Niederhagen niederhagen@imada.sdu.dk Concurrency

Timetable

Administrative Unit

Institut for Matematik og Datalogi (datalogi)

Team at Registration

NAT

Offered in

Odense

Recommended course of study

Profile Education Semester Offer period

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.