ARM Processors for Embedded Cryptography

Undergraduate / Graduate Practical Course, Ruhr University Bochum, 2020

  • Lecturer: Dr.-Ing. Hoffmann
  • Language: German
  • Credits: 3 CP / 4 CP
  • Programs: B.Sc./M.Sc. IT-Security
  • Examination: Pass if 4 out of 6 projects + final project successfully completed

Course Description

In this practical course, the handling of ARM microcontrollers is worked out. For this purpose, each participant receives a board with an ARM Cortex-M4-based microcontroller. The participants first learn the basics about CISC and RISC microcontrollers. They learn how code is executed by hardware and how they can write machine-oriented code themselves. Already after the first two lab dates, the participants are able to develop small programs in Assembly for the ARM architecture. During the following dates, the knowledge concerning the ARM architecture and the board will be deepened. Participants will learn how microcontrollers communicate with each other and with peripherals. The theoretical content is accompanied by practical homework. Participants will gradually implement programs in C and Assembly to use various functionalities of the board. After the participants have become familiar with ARM Assembly, different cryptographic applications will be implemented. The focus is especially on efficiency and a C implementation must always be beaten.


  1. Microprocessors
  2. ARM Assembly
  3. Functions
  4. Peripherals and Interrupts
  5. Inter Circuit I/O, Memory, and PRESENT
  6. Timing Attacks and AES
  7. Serial Communication and PBKDF2