These tutorials are available in the following languages: 🇬🇧 English (WIP) | 🇩🇪 German
The following tutorials explain how to use different crypto algorithms on the IoT operating system RIOT. This is a project assignment for the course "IT Security 2" at the Stuttgart University of Applied Sciences ("Hochschule für Technik Stuttgart").
The tutorials are divided into three chapters:
Chapter 1 provides basic knowledge about RIOT and how to write and run executable programs with RIOT.
Part 1: Installation (:de: only)
Part 1 describes the RIOT installation process as well as the minimum requirements. We focus on mainly using RIOT under Linux.
Part 2: Program structure (:de: only)
Part 2 describes the basic structure of a minimal RIOT program, including the structure of the Makefile and how to run it under Linux.
Part 3: Shell und Commands (:de: only)
Part 3 provides a first insight on how to write interactive RIOT programs using the shell. Here we will write a simple command handler and start the shell.
Chapter 2 provides the necessary knowledge how to write RIOT programs that use cryptographic algorithms. We will cover the algorithms AES-ECB, AES-CBC and RSA.
Here we will demonstrate the basics of using AES in ECB mode under RIOT.
The previous program will be extended such that data can be encrypted in Cipher Block Chaining mode.
No new crypto algorithm will be introduced here, but rather we will use the known AES-CBC algorithm to exchange secret messages between client and server.
Part 6: RSA encryption using RELIC tookit (:de: only)
In this part we show how to encrypt data using the RSA implementation of the RELIC toolkit.
Chapter 3: benchmarking and results (:de: only)
In this short chapter we present the results of simple benchmark algorithms.