Skip to content

sphincs/sphincsplus

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

* use SPDX identifiers in LICENSE file

* use LICENSES and directory

* use .reuse/dep5 file to specify licenses per file

* update README.md with license information

---------

Co-authored-by: Ruben <ruben@polycephaly.org>
035b394

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
ref
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

About

The SPHINCS+ reference code, accompanying the submission to NIST's Post-Quantum Cryptography project

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages