course: Bachelor-Praktikum ARM Processors for Embedded Cryptography

teaching methods:
practical course
responsible person:
Prof. Dr.-Ing. Chris­tof Paar
Prof. Dr.-Ing. Chris­tof Paar (ETIT), M. Sc. Max Hoffmann (ETIT)
see examination rules
offered in:
winter term

dates in winter term

  • kick-off meeting: Wednesday the 09.10.2019 from 15:00 in ID 2/632
  • lab Tuesdays: from 10:15 to 11.45 o'clock in ID 04/445


All statements pertaining to examination modalities (for the summer/winter term of 2020) are given with reservations. Changes due to new requirements from the university will be announced as soon as possible.
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


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

There is no need for a registration, all details are given in the introduction session.