Software
GitHub repository
The latest version of the SPHINCS+ software is available from our GitHub repository. To download the software, build binaries for all submitted parameter sets and implementations, and benchmark them, use the following steps:
git clone https://github.com/sphincs/sphincsplus.git
cd sphincsplus
python3 benchmark.py
cd sphincsplus
python3 benchmark.py
Parameter Exploration Script
The SPHINCS+ parameter exploration SAGE script allows to do exhaustive search over the parameter space. It is described in the SPHINCS+ paper.
Third Party Implementations
The following are implementations of SPHINCS+ which are not maintained by the SPHINCS+ team; please contact the authors for any issues with those implementations.
- SPHINCS+ is now integrated in release 3.0 of the Botan C++ crypto and TLS library.
- Implementation in Go by Søren Birk Corfitsen and Kasper Daugaard Ilsøe.
- SPHINCS+ in Java [link]
An implementation of SPHINCS+ in Java by Lena Heimberger from IAIK Graz. - SPHINCS+-LMS hybrid scheme [link]
A hybrid signature scheme by Scott Fluhrer combining SPHINCS+ with the stateful LMS signature scheme. This combination allows to achieve the speed of stateful hash-based signatures with short-term states. In general, this also allows for super-fast batch signing. - SPHINCS+ implementation in Bouncy Castle provider [github] [website]
SPHINCS+ is now available in the Bouncy Castle BCPQC provider. - Low-RAM-SPHINCS+ [link]
An implementation of SPHINCS+ that is designed to minimize the amount of RAM used; streaming the signatures as they are generated or verified. This can use as little as 1k of RAM for the SHA2-128F-SIMPLE parameter set.