Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.0%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: suddenabnormalsecrets
- License: apache-2.0
- Language: Python
- Default Branch: main
- Size: 2.32 MB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 3
- Releases: 0
Metadata Files
README.md
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:
bibtex
@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
bibtex
@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
bibtex
@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.
Owner
- Name: suddenabnormalsecrets
- Login: suddenabnormalsecrets
- Kind: organization
- Repositories: 1
- Profile: https://github.com/suddenabnormalsecrets
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
preferred-citation:
type: article
authors:
- family-names: "Bursztein"
given-names: "Elie"
- family-names: "Invernizzi"
given-names: "Luca"
- family-names: "Král"
given-names: "Karel"
- family-names: "Moghimi"
given-names: "Daniel"
- family-names: "Picod"
given-names: "Jean-Michel"
- family-names: "Zhang"
given-names: "Marina"
doi: "10.48550/arXiv.2306.07249"
title: "Generic Attacks against Cryptographic Hardware through Long-Range Deep Learning"
GitHub Events
Total
- Delete event: 5
- Issue comment event: 16
- Push event: 2
- Pull request event: 9
- Create event: 10
Last Year
- Delete event: 5
- Issue comment event: 16
- Push event: 2
- Pull request event: 9
- Create event: 10
Dependencies
- actions/checkout v4 composite
- actions/deploy-pages v4 composite
- withastro/action v4 composite
- DavidAnson/markdownlint-cli2-action v19 composite
- actions/checkout v4 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- actions/checkout v4 composite
- actions/download-artifact v4 composite
- actions/setup-python v5 composite
- actions/upload-artifact v4 composite
- pypa/gh-action-pypi-publish release/v1 composite
- sigstore/gh-action-sigstore-python v3.0.0 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- coverallsapp/github-action v2 composite
- actions/checkout v4 composite
- actions/setup-node v4 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- 571 dependencies
- @astrojs/check ^0.9.3
- @astrojs/starlight ^0.34.0
- astro ^5.7.4
- rehype-mathjax ^7.1.0
- remark-math ^6.0.0
- sharp ^0.34.1
- typescript ^5.8.2
- build ==1.2.1
- click ==8.2.0
- importlib-metadata ==8.7.0
- packaging ==25.0
- pip ==25.1
- pip-tools ==7.4.0
- pyproject-hooks ==1.2.0
- setuptools ==80.4.0
- tomli ==2.2.1
- typing-extensions ==4.13.1
- wheel ==0.45.0
- zipp ==3.21.0
- Pillow *
- chipwhisperer *
- colorama *
- cryptography *
- matplotlib *
- networkx [default]
- numpy *
- pandas *
- picosdk *
- pip *
- pygments *
- pytest *
- pyvisa *
- pyvisa-py *
- scipy *
- semver *
- setuptools *
- tabulate *
- tensorflow *
- termcolor *
- tqdm *
- wheel *
- absl-py ==2.2.0
- astunparse ==1.6.3
- certifi ==2025.4.26
- cffi ==1.17.1
- charset-normalizer ==3.4.1
- chipwhisperer ==6.0.0
- colorama ==0.4.6
- configobj ==5.0.9
- contourpy ==1.3.1
- cryptography ==44.0.2
- cycler ==0.12.1
- cython ==3.0.12
- ecpy ==1.2.5
- fastdtw ==0.3.4
- flatbuffers ==25.2.10
- fonttools ==4.58.0
- gast ==0.6.0
- google-pasta ==0.2.0
- grpcio ==1.71.0
- h5py ==3.13.0
- idna ==3.10
- iniconfig ==2.1.0
- keras ==3.9.0
- kiwisolver ==1.4.8
- libclang ==18.1.1
- libusb1 ==3.3.0
- markdown ==3.8
- markdown-it-py ==3.0.0
- markupsafe ==3.0.2
- matplotlib ==3.10.1
- mdurl ==0.1.2
- ml-dtypes ==0.5.1
- namex ==0.0.8
- networkx ==3.4.2
- numpy ==2.2.4
- opt-einsum ==3.4.0
- optree ==0.15.0
- packaging ==25.0
- pandas ==2.2.3
- picosdk ==1.1
- pillow ==11.2.1
- pip ==25.1
- pluggy ==1.5.0
- protobuf ==6.30.1
- pycparser ==2.22
- pygments ==2.19.1
- pyparsing ==3.2.1
- pyserial ==3.5
- pytest ==8.3.5
- python-dateutil ==2.9.0.post0
- pytz ==2025.2
- pyvisa ==1.15.0
- pyvisa-py ==0.8.0
- requests ==2.32.3
- rich ==14.0.0
- scipy ==1.15.2
- semver ==3.0.4
- setuptools ==80.4.0
- six ==1.17.0
- tabulate ==0.9.0
- tensorboard ==2.19.0
- tensorboard-data-server ==0.7.2
- tensorflow ==2.19.0
- tensorflow-io-gcs-filesystem ==0.37.1
- termcolor ==3.1.0
- tqdm ==4.67.1
- typing-extensions ==4.13.1
- tzdata ==2025.2
- urllib3 ==2.4.0
- werkzeug ==3.1.3
- wheel ==0.45.1
- wrapt ==1.17.2
- flake8 * test
- mypy * test
- perfCounters * test
- psutil * test
- pydantic * test
- pytest * test
- pytest-cov * test
- twine * test
- types-cryptography * test
- types-tensorflow * test