Sphincsplus
The SPHINCS+ reference code, accompanying the submission to NIST's Post-Quantum Cryptography project
Install / Use
/learn @sphincs/SphincsplusREADME
SPHINCS+
This repository contains the software that accompanies the SPHINCS+ submission to NIST's Post-Quantum Cryptography project.
Parameters
The SPHINCS+ specification proposed a set of 36 named instances, specifying hash functions and concrete parameters for the security level, tree dimensions, WOTS+ and FORS. This reference implementation allows for more flexibility, as parameters can be specified in a params.h file. The proposed parameter sets have been predefined in ref/params/params-*.h, and the hash function can be varied by linking with the different implementations of hash.h, i.e., hash_haraka.c, hash_sha2.c and hash_shake.c, as well as different implementations of thash.h, i.e., *_robust.c and *_simple.c. This is demonstrated in the Makefile. See the table below for a summary of the parameter sets. These parameters target the NIST security categories 1, 3 and 5; for each category, there is a parameter set geared towards either small signatures or fast signature generation.
| | n | h | d | log(t) | k | w | bit security | pk bytes | sk bytes | sig bytes | | :------------ | -: | -: | -: | -----: | -: | --: | -----------: | -------: | -------: | --------: | | SPHINCS+-128s | 16 | 63 | 7 | 12 | 14 | 16 | 133 | 32 | 64 | 7,856 | | SPHINCS+-128f | 16 | 66 | 22 | 6 | 33 | 16 | 128 | 32 | 64 | 17,088 | | SPHINCS+-192s | 24 | 63 | 7 | 14 | 17 | 16 | 193 | 48 | 96 | 16,224 | | SPHINCS+-192f | 24 | 66 | 22 | 8 | 33 | 16 | 194 | 48 | 96 | 35,664 | | SPHINCS+-256s | 32 | 64 | 8 | 14 | 22 | 16 | 255 | 64 | 128 | 29,792 | | SPHINCS+-256f | 32 | 68 | 17 | 9 | 35 | 16 | 255 | 64 | 128 | 49,856 |
License
All included code has been placed into
Public Domain
and is available under various open source licenses
(Creative Commons Zero v1.0 Universal (CC0-1.0),
BSD Zero Clause License (0BSD), and
MIT No Attribution (MIT-0),
see the LICENSE file and the licenses in the LICENSES folder), with the exception of rng.c, rng.h and PQCgenKAT_sign.c, which were provided by NIST, and parts of ref/haraka.c, which are under
MIT license (MIT).
Related Skills
node-connect
339.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.8kCommit, push, and open a PR
