Selected Topics in Information Security – Cryptographic Engineering (WS 2021/22)

Course Number 705000 | Wintersemester 2021/22


This course focuses on the implementation aspects of cryptographic algorithms.

  • Efficient algorithms and design considerations for cryptographic primitives.
  • Their optimized implementations on HW/SW platforms.
  • Protecting the implementations from side-channel attacks

Tools required

Vivado WebPack 2019.1 Version. You need to bring a laptop during the practical sessions

Vivado Installation on Windows – Guide

Vivado Installation on Ubuntu – Guide

We will use the PYNQ-Z2 FPGA board for implementing the cryptographic primitives. With Vivado 2019.1, you need to copy the pynq-z2 board-specific files into the installation directory (see the installation guide).

Youtube channel

Lecture slides

0. Introduction to the Cryptographic Engineering Course

1. Random Number Generation

2. StatisticalTests_Postprocessing_EntropyEstimation

3. Implementation Aspects of AES

4. Implementation Aspects of Hash Function

5. Efficient Software Implementations of Symmetric-key Primitives

6. Programming with SIMD instructions

7. Implementation Aspects of Public-Key Cryptography

8. Side-channel_Analysis of Public-key Cryptography

9. Homomorphic Encryption (Part 1)

10. Homomorphic Encryption (Part 2): Introduction to Microsoft SEAL (

BSc and MSc Project Topics in Cryptographic Engineering

Tutorials / Practical slides

HPC Cluster Tutorial

Xilinx Vivado Tutorial (Part I)

Introduction to Verilog (Part I)

Introduction to Verilog (Part II)

Xilinx Vivado Tutorial (Part II) and Assignment#1 Overview

Cryptoprocessor Overview

Assignment#3 Overview







Reports (Assignment#1 and Assignment#2)

Reports (Assignment#3)




We thank Xilinx for donating us PYNQ boards through the Xilinx University Program.

Administrative Information

Previous Knowledge

Information Security and/or Cryptography, and Digital System Design are recommended.

Teaching Mode

Currently online using Webex

As per the current COVID situation, the lectures and practical will be on-campus. If the COVID situation changes, then we will switch to a virtual or a hybrid mode of teaching and learning.

Office Hours

There are no fixed office hours for this course. If you want to discuss some problem related to the practical assignments, the best option will be to attend the practical sessions as you can ask us directly. You may also book an appointment by email.

Other Information

Discord. Discussions with other students are possible in the #cryptoengineering channel in Discord.

Grading. Continuous evaluations of practical assignments. Presentations followed by individual oral defenses, and written or oral exams.

Depending on the COVID situation in Graz, we may switch from in-person mode to a virtual or a hybrid mode.


Sujoy Sinha Roy
Sinha Roy

Assistant Professor

View more
Ahmet Can Mert
Ahmet Can

Post-doctoral Researcher

View more