Skip to main content

Side-Channel Analysis Library

Project description

Welcome to SCALib

PyPI Documentation Status Matrix room

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

  • simple interface,

  • state-of-the art algorithms,

  • excellent performance (see benchmarks).

SCALib should be useful for any side-channel practitionner who wants to evaluate, but not necessarily attack, protected or non-protected implementations.

See the documentation for the list of implemented tools.

We have a matrix chat for announcements, questions, community support and discussions.

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: You need a C/C++ compiler and the latest stable release of the rust toolchain.

To install from source:

git clone https://github.com/simple-crypto/SCALib
cd SCALib
pip install .

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 versioing, 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, email works too). We also welcome code contributions, see CONTRIBUTING.rst.

You can also come discuss on matrix.

All code contributions are subject to the Contributor License Agreement (CLA) of SIMPLE-Crypto, which ensures a thriving future for open-source hardware security.

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, 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).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scalib-0.5.3.tar.gz (1.2 MB view hashes)

Uploaded Source

Built Distributions

scalib-0.5.3-cp38-abi3-win_amd64.whl (1.4 MB view hashes)

Uploaded CPython 3.8+ Windows x86-64

scalib-0.5.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26.8 MB view hashes)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page