Deep Learning for SCA with Inspector

4h

A typical SCA evaluation requires a complex end-to-end procedure: an initial leakage assessment stage, an optional dimensionality reduction phase, a signal processing step (e.g., static alignment, filtering, resampling), and finally the application of one or several attack methods.

Recently, deep learning has been introduced as an alternative framework and used successfully as an all-in-one tool for SCA. If you are interested in keeping your knowledge in synch with state-of-the-art SCA methodologies, look no further than our Deep Learning for SCA online training.  The goal of this online course is to introduce you to deep learning for side channel analysis.  


What will you learn in this course?

The goal of this training is to introduce you to deep learning for side channel analysis. After the workshop you will be able to use neural networks to evaluate both private and public key crypto algorithms.

Key learning objectives:

  • Determine the number of traces to use for training
  • Assess the learning performance of your network
  • Interpret the intermediate and final output
  • Make choices about of the network architecture
  • Understand the effect of key parameters, such as the number of hidden layers, the activation function, etc.
  • Optimize and automate the hyper-parameter search

Pre-requisites

We assume familiarity with basic SCA evaluations. While the concepts we teach are generic and can be replicated using different equipment, during the training we use our Riscure Inspector tool.

Target audience

You are a security evaluator and would like to take your SCA knowledge to the next level. 

Course Syllabus

Introduction to machine learning for SCA

  • Machine learning
  • Key notions: classes, labels, features
  • Supervised vs Unsupervised learning
  • Applications
  • Deep learning for SCA
  • Compare and contrast
  •  

Deep learning essentials

  • Artificial Neural Networks (ANN)
  • Multi-Layer Perceptron (MLP)
  • Convolutional Neural Network (CNN)
  • CNN vs multilayer perceptron
  • Convolution and pooling layers
  • Using CNN to extract information
  • Architecture of a typical neural network:
  • Input/Hidden/Output layers
  • Activation functions
  • Epochs and Mini-Batches
  • Forward and Backward propagation
  • Regularization and generalization

Extracting cryptographic keys with deep learning

  • Introduction to profiled attacks
  • Preparing the datasets
  • Optimizing the parameter search
  •  

Optimization and automation

  • Data augmentation for SCA traces
  • Random search vs genetic algorithms

Analyzing symmetric crypto algorithm implementations

  • Leakage model selection
  • Exercise: extract key from a SW AES implementation
  • Exercise: extract key from a SW AES in the presence of jitter (manual hyper-parameter selection)

Remarks and conclusions

  • No-free lunch theorem
  • Estimate time and effort for training your network

Recent developments in the field