Package: 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.orgSource code:https://github.com/simple-crypto/SCALibBug reports/feature requests:https://github.com/simple-crypto/SCALib/issues/new/chooseContributing:https://scalib.readthedocs.io/en/stable/source/contributing.htmlSCALib focuses onsimple interface,state-of-the art algorithms,excellent performance (seebenchmarks).SCALib should be useful for any side-channel practitioner who wants to
evaluate, but not necessarily attack, protected or non-protected
implementations.
See thedocumentationfor the list of implemented tools.InstallSCALib is on PyPi! Simple install:pip install scalibWe provide pre-built wheels for any recent python on Linux and Windows (x86).
Be sure to use arecent pip.
For other plateforms, this will build SCALib (see below for dependencies).Local buildTo getbest 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 therust toolchain.To install from source:git clone https://github.com/simple-crypto/SCALib
cd SCALib
pip install .UsageSeeAPI documentation,exampleandreal-world usages.AlternativesIf your needs are not covered by SCALib, you might be more lucky withlascarorscared.Please also let us know your needs by opening afeature request.Versioning policySCALib usessemantic versioning, see theCHANGELOGfor breaking changes and novelties.About usSCALib was initiated by Olivier Bronchain and Gaëtan Cassiers during their PhD
at UCLouvain. It is now developed as a project ofSIMPLE-Cryptoand maintained by Gaëtan Cassiers (@cassiersg).Contributions and IssuesContributions welcome !Please file abug reportfor any issue you encounter (even bad documentation is
a bug !), and let us know yoursuggestions(open agithub issue,chatandemailwork too).
We also welcome code contributions, seeCONTRIBUTING.rst.You can also come discuss onmatrix(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.CitationIf you use SCALib in your research, please cite oursoftware 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.05196Bibtex:@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}
}LicenseThis project is licensed under GNU AFFERO GENERAL PUBLIC LICENSE, Version 3.
SeeCOPYRIGHTandCOPYINGfor more information.For licensing-related matters, please contactinfo@simple-crypto.dev.AcknowledgementsThis 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).