course: Master Practical ARM Processors for Embedded Cryptography

teaching methods:
practical course
responsible person:
Prof. Dr.-Ing. Tim Güneysu
Prof. Dr.-Ing. Tim Güneysu (ETIT), Dr.-Ing. Max Hoffmann (ETIT)
see examination rules
offered in:
winter term

dates in winter term

  • kick-off meeting: Tuesday the 27.10.2020
  • lab Tuesdays: from 10:15 to 11.45 o'clock in Online


Die Angaben zu den Prüfungsmodalitäten (im WiSe 2020/2021 | SoSe 2021) erfolgen vorbehaltlich der aktuellen Situation. Notwendige Änderungen aufgrund universitärer Vorgaben werden zeitnah bekanntgegeben.
Form of exam:lab
Registration for exam:Directly with the lecturer
continual assessment


Graduates of this course know the architecture and internal functionalities of microcontrollers. They know how a processor executes machine code and are able to write low-level programs using assembly. Furthermore, they are able to write very efficient implementations for the ARM architecture, which provide a significant performance boost in comparison to C implementations. Since this lab course focuses on ARM processors and ARM is the market leader for embedded processors, the contents of this course are also relevant outside of academia. This lab course tries to provide practically relevant lectures and exercises such that participants learn something they may use in the future.


In this lab course participants learn how to work with ARM microcontrollers. Therefore every participant gets a board with an ARM Cortex-M4 based microcontroller. First, participants learn the basics of CISC and RISC microcontrollers. They learn how hardware executes code and how they can write machine-oriented code themselves. After the first two sessions, they are able to write small programs in assembly for the ARM architecture. In the following sessions, they extend their knowledge of the ARM architecture and their board. The participants learn how microcontrollers communicate with each other and with peripherals. The theory is paired with practical exercises. Participants write programs in C and assembly to use different functionalities of their boards. Once they are more familiar with ARM assembly, they have to implement a variety of cryptographic applications. The focus is always on efficiency and they have to be faster than a C implementation in each task. The best participants are awarded with a certificate and a prize.



recommended knowledge

Basic knowledge of cryptography and C


COVID-19: In the winter term 2020/21 this lecture is offered solely as a digital event. The given dates remain valid, but the lectures will be held remotely (live). All necessary information is available via the Moode course [1]. In order to get the course password, please send an informal email from your RUB-mail address including your matriculation ID to max.​hoffmann@​rub.​de. Messages from other mail domains are not egligible.


The sessions are held in German, all course documents and exercises are available in English.

Students who already passed the Bachelor version of this course are not allowed to participate.

A pre-registration is neither possible nor required, all details are given in the introduction session.