Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/simple-crypto/SCALib
Side-Channel Analysis Library
https://github.com/simple-crypto/SCALib
Last synced: 3 months ago
JSON representation
Side-Channel Analysis Library
- Host: GitHub
- URL: https://github.com/simple-crypto/SCALib
- Owner: simple-crypto
- License: agpl-3.0
- Created: 2021-04-16T06:20:50.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-06-03T11:24:37.000Z (5 months ago)
- Last Synced: 2024-07-08T02:31:52.774Z (4 months ago)
- Language: C++
- Size: 2.66 MB
- Stars: 69
- Watchers: 6
- Forks: 18
- Open Issues: 16
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- Contributing: CONTRIBUTING.rst
- License: COPYING
- Citation: CITATION.cff
Awesome Lists containing this project
- awesome-side-channel-attack - SCALib - A Python library that contains state-of-the-art tools for side-channel security evaluation (Project)
README
======
SCALib
======.. image:: https://badge.fury.io/py/scalib.svg
:target: https://pypi.org/project/scalib/
:alt: PyPI
.. image:: https://readthedocs.org/projects/scalib/badge/?version=stable
:target: https://scalib.readthedocs.io/en/stable/
:alt: Documentation Status
.. image:: https://img.shields.io/matrix/scalib:matrix.org
:target: https://matrix.to/#/#scalib:matrix.org
:alt: Matrix room
.. image:: https://joss.theoj.org/papers/10.21105/joss.05196/status.svg
:target: https://doi.org/10.21105/joss.05196
:alt: JOSS paperThe Side-Channel Analysis Library (SCALib) is a Python library that
contains state-of-the-art tools for side-channel security evaluation.- **Documentation**: https://scalib.readthedocs.io/
- **Examples**: `examples/ `_
- **Chat**: `https://matrix.to/#/#scalib:matrix.org`
- **Source code**: https://github.com/simple-crypto/SCALib
- **Bug reports/feature requests**: https://github.com/simple-crypto/SCALib/issues/new/choose
- **Contributing**: https://scalib.readthedocs.io/en/stable/source/contributing.htmlSCALib focuses on
- simple interface,
- state-of-the art algorithms,
- excellent performance (see `benchmarks `_).SCALib should be useful for any side-channel practitioner who wants to
evaluate, but not necessarily attack, protected or non-protected
implementations.
See the documentation_ for the list of implemented tools... _documentation: https://scalib.readthedocs.io/en/stable
Install
=======SCALib is on PyPi! Simple install:
.. code-block::
pip install scalib
We provide pre-built wheels for any recent python on Linux and Windows (x86).
Be sure to use a **recent pip**.
For other plateforms, this will build SCALib (see below for dependencies).Local build
-----------To get **best performance**, you want to build locally (this will optimize
SCALib for your CPU).**Depdendencies:**
- ``python >= 3.8``,
- the python ``build`` module (`available on PyPI `__),
- a C/C++ compiler for your platform,
- ``clang`` (version 5.0 or later),
- the latest stable release of the `rust toolchain `_.To install from source:
.. code-block::
git clone https://github.com/simple-crypto/SCALib
cd SCALib
pip install .See `CONTRIBUTING.rst `__ for advanced build configuration.
Usage
=====See `API documentation `_,
`example `_ and
`real-world usages `_.Alternatives
============If your needs are not covered by SCALib, you might be more lucky with
`lascar `_ or `scared `_.Please also let us know your needs by opening a
`feature request `_.Versioning policy
=================SCALib uses `semantic versioning `_, see the `CHANGELOG
`_ for breaking changes and novelties.About us
========
SCALib was initiated by Olivier Bronchain and Gaëtan Cassiers during their PhD
at UCLouvain. It is now developed as a project of
`SIMPLE-Crypto `_ and maintained by Gaëtan Cassiers (@cassiersg).Contributions and Issues
========================Contributions welcome !
Please file a **bug report** for any issue you encounter (even bad documentation is
a bug !), and let us know your **suggestions** (open a `github issue
`_, `chat
`_ and `email
`_ work too).
We also welcome code contributions, see `CONTRIBUTING.rst `_.You can also come discuss on `matrix `_
(announcements, questions, community support, open discussion, etc.).All code contributions are subject to the Contributor License Agreement (`CLA
`_) of SIMPLE-Crypto, which ensures
a thriving future for open-source hardware security.Citation
========If you use SCALib in your research, please cite our `software paper `_:
.. code-block::
Cassiers et al., (2023). SCALib: A Side-Channel Analysis Library. Journal of Open Source Software, 8(86), 5196, https://doi.org/10.21105/joss.05196
Bibtex:
.. code-block::
@article{scalib,
doi = {10.21105/joss.05196},
url = {https://doi.org/10.21105/joss.05196},
year = {2023},
publisher = {The Open Journal},
volume = {8},
number = {86},
pages = {5196},
author = {Gaëtan Cassiers and Olivier Bronchain},
title = {SCALib: A Side-Channel Analysis Library}, journal = {Journal of Open Source Software}
}License
=======
This project is licensed under GNU AFFERO GENERAL PUBLIC LICENSE, Version 3.
See `COPYRIGHT `_ and `COPYING `_ for more information.For licensing-related matters, please contact [email protected].
Acknowledgements
================This work has been funded in part by the Belgian Fund for Scientific Research
(F.R.S.-FNRS) through the Equipment Project SCALAB and individual researchers'
grants, by the European Union (EU) and the Walloon Region through the FEDER
project USERMedia (convention number 501907-379156), and by the European Union
(EU) through the ERC project 724725 (acronym SWORD) and the ERC project
101096871 (acronym BRIDGE).