SCAAML (Side Channel Attacks Assisted with Machine Learning) is a deep learning framwork dedicated to side-channel attacks. It is written in python and run on top of TensorFlow 2.x.

Available compoments

  • scaaml/: The SCAAML framework code. Its used by the various tools.
  • scaaml_intro/: A Hacker Guide To Deep Learning Based Side Channel Attacks.
    Code, dataset and models used in our step by step tutorial on how to use deep-learning to perform AES side-channel attacks in practice.



To use SCAAML you need to have a working version of TensorFlow 2.x and a version of Python >=3.6

SCAAML framework install

  1. Clone the repository: git clone
  2. Install the SCAAML package: python develop

Dataset and models

Every SCAAML component rely on a datasets and optional models that you will need to download in the component directory. The link to download those are available in the components specific Simply click on the directory representing the component of your choice, or the link to the component in the list above.

Publications & Citation

Here is the list of publications and talks related to SCAAML. If you use any of
its codebase, models or datasets please cite:

  title={SCAAML:  Side Channel Attacks Assisted with Machine Learning},
  author={Bursztein, Elie and others},

Additionally please also cite the talks and publications that are the most relevant
to your work, so reader can quickly find the right information. Last but not
least, you are more than welcome to add your publication/talk to the list below by making a pull request 😊.

SCAAML AES tutorial

DEF CON talk that provides a practical introduction to AES deep-learning based side-channel attacks

title={A Hacker Guide To Deep Learning Based Side Channel Attacks},
author={Elie Bursztein and Jean-Michel Picod},
booktitle ={DEF CON 27},
howpublished = {\url{}}
editor={DEF CON}