image image

Stjepan Picek

Profiling Side-channel Analysis: From Templates to Deep Learning

Trainer: Stjepan Picek

Date: 6th - 8th June 2022

Time: 9:00am to 5:30pm PDT

Venue: Delta Hotels by Marriott

Training Level: Advance

Note: Regarding COVID-19 safety, will seek to ensure a safe event, as the health and safety of our exhibitors, delegates, speakers, and staff will always be our number one priority. will follow all applicable health regulations required by the local (Santa Clara) and government (State of California) authorities.


Side-channel attacks (SCAs) are powerful attacks based on the information obtained from the implementation of cryptographic devices. Profiling side-channel attacks received a significant amount of attention as this type of attack defines the worst-case security assumptions.

In the last few years, the most explored profiling attacks are based on machine learning and especially deep learning techniques. Such attacks are very powerful as they can break targets protected with countermeasures but also "easier" to deploy as they do not require pre-processing and/or feature selection.

In this training, we will concentrate on advanced topics in profiling SCAs where the emphasis will be on machine learning and deep learning techniques. During the training, the students will have the opportunity to learn the theoretical background of several machine learning techniques but also to implement and use them in the SCA context. During the training, we will cover not only the attack phase but also pre-processing and feature engineering phases.

The students will have the opportunity to develop several side-channel attacks in Python and perform analysis to obtain the secret key.

Detailed Description:

Day 1:
  • Introduction to side-channel analysis
    • Basic concepts and principles
    • Simple power analysis and differential power analysis
    • Introduction to side-channel countermeasures (masking, shuffling, etc.)
  • Introduction to profiling attacks
    • Template attack
    • Assignment 1: Template attack and pooled template attack
  • Machine learning-based SCA
    • Basic concepts of machine learning
    • Hyperparameter tuning, ensembles
    • Scikit-learn

Day 2:
  • Machine learning-based SCA
    • Feature engineering techniques
    • Assignment 2: From raw measurements obtain the most relevant features through feature selection and dimensionality reduction
    • Random forest, support vector machines, Naive Bayes, multilayer perceptron
    • Assignment 3: Extracting the cipher key in the Hamming weight and Identity leakage models
    • Assignment 4: Countermeasure simulation
  • Deep Learning-based SCA
    • Introduction to deep learning
    • Common methods in SCA (convolutional neural networks, multilayer perceptron, autoencoder)
    • Keras

Day 3:
  • Deep Learning-based SCA
    • AISy framework
    • Latest developments in the deep learning-based SCA:
      • state-of-the-art attacks
      • pre-processing
      • evaluation of the attacks
      • hyperparameter tuning
      • AI explainability
      • custom loss functions
      • portability
    • Assignment 5: Extracting the AES key with multilayer perceptron and convolutional neural networks
    • Assignment 6: Running state-of-the-art deep learning-based attacks
    • Assignment 7: Removing misalignment with denoising autoencoder

What to Expect? | Key Learning Objectives:

  • How to prepare a dataset for the attack (pre-processing, feature engineering)
  • How to profile a device using templates and advanced machine learning techniques
  • How to write your own code to mount profiling SCA and how to use a publicly available framework

Who Should Attend? | Target Audience:

  • Researchers and students who want to learn the advanced techniques of side-channel analysis
  • Penetration testers, auditors, government officers, and evaluators of secure embedded devices
  • Developers of secure IoT products
  • Any embedded security enthusiast or machine learning enthusiast

What to Bring? | Software and Hardware Requirements:

  • Laptop with Windows or Linux
  • Python installed
  • Keras installed
  • AISy framework installed (optional)

What to Bring? | Prerequisite Knowledge and Skills:

  • Basic programming skills (ideally Python)
  • Basic knowledge of crypto algorithms (AES)

Resources Provided at the Training | Deliverables:

  • Lecture slides and assignments
  • Python code and examples
  • Side-channel datasets


Stjepan Picek is an associate professor at Radboud University, The Netherlands. His research interests are security/cryptography, machine learning, and evolutionary computation. Prior to the associate professor position, Stjepan was an assistant professor at TU Delft, and a postdoctoral researcher at MIT, USA and KU Leuven, Belgium. Stjepan finished his PhD in 2015 with a topic on cryptology and evolutionary computation techniques. Stjepan also has several years of experience working in industry and government. Up to now, Stjepan has given more than 20 invited talks at conferences and summer schools and published more than 100 refereed papers. He is a general co-chair for Eurocrypt 2021, program committee member and reviewer for a number of conferences and journals, and a member of several professional societies.