Cryptography on Hardware-based Platforms
Undergraduate / Graduate Course, Ruhr University Bochum, 2022
- Lecturer: Prof. Dr. Güneysu
- Language: German
- Credits: 5 CP
- Programs: B.Sc. IT-Security, M.Sc. Computer Science
- Examination: 100 % Written Exam (120 Minutes) + 10 % Homework
Learning Outcomes
Students are familiar with the concepts of practical hardware development with abstract hardware description languages (VHDL) and the simulation of hardware circuits on FPGAs. They master standard techniques of hardware-related processor development and are familiar with the implementation of symmetric and asymmetric cryptosystems on modern FPGA systems.
Course Description
Due to their complexity, cryptographic systems place high demands on small processors and embedded systems in particular. In combination with the demand for high data throughput at the lowest hardware costs, fundamental problems arise here for the developer, which are to be illuminated in this lecture. The lecture deals with the most interesting aspects of how to implement current cryptographic methods on practical hardware systems. Cryptosystems such as the block cipher AES, the hash functions SHA-1 as well as asymmetric systems RSA and ECC are dealt with. Furthermore, special hardware requirements such as the generation of true randomness (TRNG) and the use of Physically Unclonable Functions (PUF) are discussed. The efficient implementation of these cryptosystems, especially with regard to optimization for high speed, is discussed on modern FPGAs and implemented in practical exercises using the hardware description language VHDL.
Contents
- Introduction
- Logical Functions and Introduction to HDL
- Register Transfer Level & VHDL
- Finite State Machines & Circuit Synthesis
- Programmable Logic Devices
- Cryptographic Hardware Implementations
- AES Implementation
- Side-Channel Analysis and Protections
- Hash Function Implementation
- Modular Arithmetic Implementation
- Modular Arithmetic & RSA/ECC Implementation
- Post-Quantum Cryptography
- Physical Unclonable Functions
- True Random Number Generation