Cryptography on Software Platforms (SS 2024)
Table of Content
Content
This course delves into the efficient implementation of cryptographic algorithms on software platforms. Main learning objectives1. Algorithmic techniques for efficiently implementing cryptographic primitives targeting software platforms.
2. Hands-on implementation of cryptographic primitives on
2.1 Powerful Intel/AMD processors
2.2 Resource-constrained Arm microcontrollers
3. Introduction to the Jasmin framework for high-assurance cryptographic software.
Discord channel
Discussions with other students are possible in the #cryptoengineering channel in Discord.
Material
Lecture materials:- General information
- General_C_optimization techniques Code
- Exploiting memory hierarchy - part 1
- Exploiting memory hierarchy - part 2 Code
- Bitsliced implementation
- Vectorized implementation Code
- Algorithms for modular reduction
- Multi-precision integer arithmetic
- Introduction to Arm Cortex-M4 microcontroller
- Introduction to High Assurance Cryptography
- How to Jazz
- Introduction to EasyCrypt
Administrative Information
Previous Knowledge- Programming in C/C++ and basics of cryptography. Objective- Students gain hands-on knowledge of designing cryptographic primitives on high-end (Intel/AMD) as well as resource-constrained (Arm) software platforms. They gain introductory knowledge of using the Jasmin framework for developing high-assurance cryptography. @nbsp; Language- English Teaching Method- Lectures will be in-person (1.5 hours integrated lecture and practical session). How to get a grade- 100% from practical assignments with oral defense. Registration- https://online.tugraz.at/tug_online/ee/rest/pages/slc.tm.cp/course-registration/403318Office hours- Email the lecturers for appointment.