Selected Topics in Information Security – Cryptographic Engineering (WS 2021/22)
Table of Content
Content
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
https://www.youtube.com/channel/UC2SK4AnO8UXfCVTkUDiCP9g
Lecture slides
0. Introduction to the Cryptographic Engineering Course
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 (seal-codes.zip)
BSc and MSc Project Topics in Cryptographic Engineering
Tutorials / Practical slides
Xilinx Vivado Tutorial (Part I)
Introduction to Verilog (Part I)
Introduction to Verilog (Part II)
Xilinx Vivado Tutorial (Part II) and Assignment#1 Overview
Assignments
Reports (Assignment#1 and Assignment#2)
Acknowledgements
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.