Side Channel Attack Assisted with Machine Learning
Project description
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. -
GPAM
Generalized Power Attacks against Crypto Hardware using Long-Range Deep Learning model and datasets needed to reproduce our results are available for download. -
ECC datasets
A 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_env
source 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file scaaml-2.0.2.tar.gz
.
File metadata
- Download URL: scaaml-2.0.2.tar.gz
- Upload date:
- Size: 321.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3153f172f9f9fdf8196774ad6ddd573a8de24c4ee6d9b79cb17e55dc7d99132 |
|
MD5 | a7b73fe7e01446463a5d2341ed165391 |
|
BLAKE2b-256 | c31ef92b7fab3c11faa8837ebcc3202963399aaf64457a27de8b8a18b942e9ea |
Provenance
The following attestation bundles were made for scaaml-2.0.2.tar.gz
:
Publisher:
publish-to-pypi.yml
on google/scaaml
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
scaaml-2.0.2.tar.gz
- Subject digest:
c3153f172f9f9fdf8196774ad6ddd573a8de24c4ee6d9b79cb17e55dc7d99132
- Sigstore transparency entry: 153109063
- Sigstore integration time:
- Predicate type:
File details
Details for the file scaaml-2.0.2-py3-none-any.whl
.
File metadata
- Download URL: scaaml-2.0.2-py3-none-any.whl
- Upload date:
- Size: 313.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 280d2416a9207a73acfc286dc6b0a5f681f105700cf0fbbe5858f0b6f12dd76f |
|
MD5 | 1f87c7db18850a5777a1bdc1379719ff |
|
BLAKE2b-256 | 8ddc310cae3752c2d9128d75f09f7dcad3b9b59c1d22a8568c8fb36c1972cc62 |
Provenance
The following attestation bundles were made for scaaml-2.0.2-py3-none-any.whl
:
Publisher:
publish-to-pypi.yml
on google/scaaml
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
scaaml-2.0.2-py3-none-any.whl
- Subject digest:
280d2416a9207a73acfc286dc6b0a5f681f105700cf0fbbe5858f0b6f12dd76f
- Sigstore transparency entry: 153109064
- Sigstore integration time:
- Predicate type: