scaaml

SCAAML: Side Channel Attacks Assisted with Machine Learning

https://github.com/google/scaaml

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.0%) to scientific vocabulary

Keywords

deep-learning security sidechannel

Keywords from Contributors

embedded interactive mesh interpretability profiles sequences generic projection standardization optim
Last synced: 6 months ago · JSON representation

Repository

SCAAML: Side Channel Attacks Assisted with Machine Learning

Basic Info
Statistics
  • Stars: 160
  • Watchers: 15
  • Forks: 52
  • Open Issues: 49
  • Releases: 8
Topics
deep-learning security sidechannel
Created over 6 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Citation

README.md

SCAAML: Side Channel Attacks Assisted with Machine Learning

SCAAML banner

Documentation

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.

Coverage Status

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

  1. Clone the repository: git clone github.com/google/scaaml/
  2. Create and activate Python virtual environment: python3 -m venv my_env source my_env/bin/activate
  3. Install dependencies: python3 -m pip install --require-hashes -r requirements.txt
  4. 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: Google
  • Login: google
  • Kind: organization
  • Email: opensource@google.com
  • Location: United States of America

Google ❤️ Open Source

GitHub Events

Total
  • Create event: 125
  • Release event: 7
  • Issues event: 15
  • Watch event: 29
  • Delete event: 116
  • Member event: 1
  • Issue comment event: 93
  • Push event: 66
  • Pull request review comment event: 38
  • Pull request review event: 103
  • Pull request event: 150
  • Fork event: 12
Last Year
  • Create event: 125
  • Release event: 7
  • Issues event: 15
  • Watch event: 29
  • Delete event: 116
  • Member event: 1
  • Issue comment event: 93
  • Push event: 66
  • Pull request review comment event: 38
  • Pull request review event: 103
  • Pull request event: 150
  • Fork event: 12

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 343
  • Total Committers: 8
  • Avg Commits per committer: 42.875
  • Development Distribution Score (DDS): 0.603
Past Year
  • Commits: 123
  • Committers: 5
  • Avg Commits per committer: 24.6
  • Development Distribution Score (DDS): 0.415
Top Committers
Name Email Commits
dependabot[bot] 4****] 136
kralka k****l@g****m 104
wsxrdv 1****v 53
Jean-Michel Picod j****l@g****m 22
Elie Bursztein g****b@e****t 17
LucaTomasko 8****o 8
Luca Invernizzi i****l@g****m 2
Dhruv Malik m****4@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 49
  • Total pull requests: 342
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 3 days
  • Total issue authors: 7
  • Total pull request authors: 10
  • Average comments per issue: 0.61
  • Average comments per pull request: 0.55
  • Merged pull requests: 284
  • Bot issues: 0
  • Bot pull requests: 137
Past Year
  • Issues: 8
  • Pull requests: 62
  • Average time to close issues: 12 days
  • Average time to close pull requests: 1 day
  • Issue authors: 3
  • Pull request authors: 5
  • Average comments per issue: 0.75
  • Average comments per pull request: 0.69
  • Merged pull requests: 39
  • Bot issues: 0
  • Bot pull requests: 36
Top Authors
Issue Authors
  • kralka (37)
  • wsxrdv (6)
  • embdev77 (2)
  • ebursztein (2)
  • kaichieh0524 (1)
  • CMANIKANDA-PRABU (1)
  • mattiamirigaldi (1)
  • lchapuisat (1)
  • dependabot[bot] (1)
Pull Request Authors
  • dependabot[bot] (164)
  • kralka (110)
  • wsxrdv (48)
  • jmichelp (32)
  • LucaTomasko (23)
  • shyam314159 (4)
  • invernizzi (3)
  • ebursztein (3)
  • sttor (2)
  • dhruvmalik007 (1)
Top Labels
Issue Labels
type:enhancement (2) CI (1) wontfix (1)
Pull Request Labels
dependencies (161) javascript (30) python (25) CI (5)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 168 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 8
  • Total maintainers: 1
pypi.org: scaaml

Side Channel Attack Assisted with Machine Learning

  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 168 Last month
Rankings
Forks count: 7.2%
Stargazers count: 7.6%
Dependent packages count: 10.1%
Average: 19.1%
Dependent repos count: 21.6%
Downloads: 48.9%
Maintainers (1)
Last synced: 6 months ago

Dependencies

test_requirements.txt pypi
  • flake8 *
  • perfCounters *
  • pytest *
  • pytest-cov *
  • twine *
setup.py pypi
  • Pillow *
  • chipwhisperer *
  • colorama *
  • matplotlib *
  • numpy *
  • pandas *
  • pygments *
  • pytest *
  • scipy *
  • semver *
  • tabulate *
  • tensorflow >=2.2.0
  • termcolor *
  • tqdm *
.github/workflows/mypy.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
.github/workflows/pylint.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
.github/workflows/pytest.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
.github/workflows/spellcheck.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
.github/workflows/yapf.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite