SCAAML: Side Channel Attacks Assisted with Machine Learning
SCAAML (Side Channel Attacks Assisted with Machine Learning) is a deep learning framework dedicated to side-channel attacks. It is written in python and run on top of TensorFlow 2.x.
Latest Updates
-
Sep 2024: GPAM the first power side-channel general model capable of attacking multiple algorithms using full traces, were presented at CHES and are now available for download.
-
Sep 2024: ECC datasets our large-scale ECC datasets are available for download.
Available components
-
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. -
GPAMGeneralized Power Attacks against Crypto Hardware using Long-Range Deep Learning model and datasets needed to reproduce our results are available for download. -
ECC datasetsA collection of large-scale hardware protected ECC datasets.
Install
Dependencies
To use SCAAML you need to have a working version of TensorFlow 2.x and a version of Python >=3.9
SCAAML framework install
- Clone the repository:
git clone github.com/google/scaaml/ - Create and activate Python virtual environment:
python3 -m venv my_envsource my_env/bin/activate - Install dependencies:
python3 -m pip install --require-hashes -r requirements.txt - Install the SCAAML package:
python setup.py develop
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 the repo and the relevant papers:
@software{scaaml_2019,
title = {{SCAAML: Side Channel Attacks Assisted with Machine Learning}},
author={Bursztein, Elie and Invernizzi, Luca and Kr{\'a}l, Karel and Picod, Jean-Michel},
url = {https://github.com/google/scaaml},
version = {1.0.0},
year = {2019}
}
Generalized Power Attacks against Crypto Hardware using Long-Range Deep Learning
@article{bursztein2023generic,
title={Generalized Power Attacks against Crypto Hardware using Long-Range Deep Learning},
author={Bursztein, Elie and Invernizzi, Luca and Kr{\'a}l, Karel and Moghimi, Daniel and Picod, Jean-Michel and Zhang, Marina},
journal={CHES},
year={2024}
}
SCAAML AES tutorial
DEF CON talk that provides a practical introduction to AES deep-learning based side-channel attacks
@inproceedings{burszteindc27,
title={A Hacker Guide To Deep Learning Based Side Channel Attacks},
author={Elie Bursztein and Jean-Michel Picod},
booktitle ={DEF CON 27},
howpublished = {\url{https://elie.net/talk/a-hackerguide-to-deep-learning-based-side-channel-attacks/}}
year={2019},
editor={DEF CON}
}
Disclaimer
This is not an official Google product.
Metadata
Release files for scaaml 3.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| scaaml-3.0.5.tar.gz | 706.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| scaaml-3.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.4 MB
Release files / scaaml-3.0.5.tar.gz
| Download URL | scaaml-3.0.5.tar.gz |
|---|---|
| Size | 706.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f488aee804d80a5e32c40733dc75767b8561c4252494b2f5d7c9a3b7c3322692
|
|
BLAKE2b-256 checksum How to use checksums |
47ccc6ac3ff9efa3008d93e8c554d6696da0e7a4b8ccd272a4f34d625b669857
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 25, 2025.
Transparency logRelease files / scaaml-3.0.5-py3-none-any.whl
| Download URL | scaaml-3.0.5-py3-none-any.whl |
|---|---|
| Size | 712.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
76e88eabdf3fbeec910d167b7a5c120a5fccbc21a68adec44c0a3ae5fb782e12
|
|
BLAKE2b-256 checksum How to use checksums |
68885dd4cffa891cfab2cda2891aeb09ba163b517f0215504e4139a4950920d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 25, 2025.
Transparency log