SCALib
The 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 <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.html
SCALib 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.
Install
SCALib is on PyPi! Simple install:
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.10,
a C/C++ compiler for your platform,
clang,
the latest stable release of the rust toolchain.
To install from source:
git clone https://github.com/simple-crypto/SCALib
pip install ./SCALib
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:
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:
@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 info@simple-crypto.dev.
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).
Metadata
Release files for scalib 0.6.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| scalib-0.6.4.tar.gz | 1.5 MB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| scalib-0.6.4-cp310-abi3-win_amd64.whl | CPython 3.10 | abi3 | Windows x86-64 | Details |
| scalib-0.6.4-cp310-abi3-manylinux_2_28_x86_64.whl | CPython 3.10 | abi3 | Linux glibc 2.28+ x86-64 | Details |
| scalib-0.6.4-cp310-abi3-macosx_11_0_arm64.whl | CPython 3.10 | abi3 | macOS 11.0+ ARM64 | Details |
| scalib-0.6.4-cp310-abi3-macosx_10_12_x86_64.whl | CPython 3.10 | abi3 | macOS 10.12+ x86-64 | Details |
Total release size: 10.9 MB
Release files / scalib-0.6.4.tar.gz
| Download URL | scalib-0.6.4.tar.gz |
|---|---|
| Size | 1.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2890c493cda6ca83d6140b506fcf3e6f68b56ea61be63198b2b78ae25cf0c19f
|
|
BLAKE2b-256 checksum How to use checksums |
9c1b1f017f5ba484ad85bc38c72a45d0d5a635d83e65f8bc330c9919593407c3
|
| 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 Jun 24, 2025.
Transparency logRelease files / scalib-0.6.4-cp310-abi3-win_amd64.whl
| Download URL | scalib-0.6.4-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
1868a0743e3da3b7cbbcf97f1c2eaa0c2cbf62688b22657bc9774cff4616bcf3
|
|
BLAKE2b-256 checksum How to use checksums |
0bdf2fed2a377530fe3b2e5f8877bb9eeb10f5276655e9bf3914fb432baf6dbe
|
| 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 Jun 24, 2025.
Transparency logRelease files / scalib-0.6.4-cp310-abi3-manylinux_2_28_x86_64.whl
| Download URL | scalib-0.6.4-cp310-abi3-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
0310c31730039841fadf7580863ca8bafdf5637374e4b70247c508e6e13a5bf0
|
|
BLAKE2b-256 checksum How to use checksums |
67a7451df7ca554092e171fc61663d296fb7ff1d567fb93645864be857b4a3d0
|
| 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 Jun 24, 2025.
Transparency logRelease files / scalib-0.6.4-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | scalib-0.6.4-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
53ae3f0c99fe5b9ef312e5ea01ac5a39068ce244adadfd2c071e378f8e308af1
|
|
BLAKE2b-256 checksum How to use checksums |
9341deacc5e995c0097168ba32bf42f419fa42689c8fa8f491969799cb65d3df
|
| 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 Jun 24, 2025.
Transparency logRelease files / scalib-0.6.4-cp310-abi3-macosx_10_12_x86_64.whl
| Download URL | scalib-0.6.4-cp310-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.10 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
ae3f2fe570adfda9027467ba3cfe3bed00da3fe2dc193fc5d6a2b0100c8b4645
|
|
BLAKE2b-256 checksum How to use checksums |
505af70f11596140f9d67d5d7c96c66cacb81fdef6d77050ad702ec5c7062fae
|
| 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 Jun 24, 2025.
Transparency log