Cryptography on Software Platforms (SS 2026)

Course Number 705219 | Sommersemester 2026

Content

This course delves into the efficient implementation of cryptographic algorithms on software platforms.   Main learning objectives
1.How to implement cryptographic primitives efficiently
  • Assignment 1: Symmetric-key algorithm
  • Assignment 2: Public-key algorithm
2.Two types of platforms
  • High-end Intel/AMD processors with AVX vector processing
  • Resource-constrained Arm microcontrollers
3. High assurance cryptographic implementations
  • Constant-time implementations
  • Power side-channel resistance
  • Jasmin framework for formally verified code
Discord channel Discussions with other students are possible in the #cryptoengineering channel on Discord.

Material

Slides and code are available here.    
00. Course Information  
01. General C code optimization -- Sample code  
02. Optimization for memory hierarchy
Matrix multiplication
Code  
03. Bitslicing  
04. Programming with AVX256  
05. Modular arithmetic  
06. Multi-precision arithmetic  
07. ARM microarchitecture and programming  
08. Constant time coding  

Assignments

  •  

    Administrative Information

    Previous Knowledge

    Familiarity with C/C++ programming. Knowing the basics of cryptography helps.

    Prerequisites Curriculum

    See position in the curriculum

    Objective

    Optimized software code development for cryptographic primitives targeting high-end and low-end computer architectures, secure implementation techniques, and basic formal verification techniques.

    Language

    English

    Teaching Method

    See the General Information slides.

    How to get a grade

    See the General Information slides.

    Registration

    https://online.tugraz.at/tug_online/ee/rest/pages/slc.tm.cp/course-registration/592113

    Lecture Dates

    Date Begin End Location Event Type Comment
    2026/05/20 10:00 11:30 Seminarraum Abhaltung VU fix/
    2026/05/27 10:00 11:30 Seminarraum Abhaltung VU fix/
    2026/06/03 10:00 11:30 Seminarraum Abhaltung VU fix/
    2026/06/10 10:00 11:30 Seminarraum Abhaltung VU fix/
    2026/06/17 10:00 11:30 Seminarraum Abhaltung VU fix/
    2026/06/17 10:00 11:30 Seminarraum Abhaltung VU fix/
    2026/06/24 10:00 11:30 Seminarraum Abhaltung VU fix/

    Lecturers

    Sujoy Sinha Roy
    Sujoy
    Sinha Roy

    Associate Professor

    View more
    Aikata .
    Aikata
    .


    Maciej Czuprynko
    Maciej
    Czuprynko

    PhD Student

    View more