Skip to main content

SCALib

PyPI Documentation Status Matrix room JOSS paper

The Side-Channel Analysis Library (SCALib) is a Python library that contains state-of-the-art tools for side-channel security evaluation.

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)

Source distribution for scalib 0.6.4
File Size Uploaded
scalib-0.6.4.tar.gz 1.5 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for scalib 0.6.4
File
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 log

Release 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 log

Release 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 log

Release 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 log

Release 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

Release history Release notifications | RSS feed

This release

0.6.4 This release

5 release files

0.6.3

5 release files

0.6.2

5 release files

0.6.1

5 release files

0.6.0

5 release files

0.5.8

5 release files

0.5.7

5 release files

0.5.6

5 release files

0.5.5

5 release files

0.5.4

5 release files

0.5.3

3 release files

0.5.2

3 release files

0.5.1

3 release files

0.5.0

3 release files

0.4.3

3 release files

0.4.2

3 release files

0.4.1

3 release files

0.4.0

3 release files

0.3.4

3 release files

0.3.3

3 release files

0.3.2

3 release files

0.3.1

3 release files

0.3.0

3 release files

0.2.0

3 release files

0.1.1

3 release files

0.1.0

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page