Giter Club home page Giter Club logo

sphincsplus's Introduction

SPHINCS+ Build Status

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 18 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_sha256.c and hash_shake256.c. 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 64 8 15 10 16 133 32 64 8,080
SPHINCS+-128f 16 60 20 9 30 16 128 32 64 16,976
SPHINCS+-192s 24 64 8 16 14 16 196 48 96 17,064
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 10 30 16 254 64 128 49,216

Dependencies

For the instances that use SHA-256, we rely on OpenSSL. If you want to use hash_sha256.c, make sure to install the OpenSSL development headers. On Debian-based systems, this is achieved by installing the OpenSSL development package libssl-dev.

License

All included code is available under the CC0 1.0 Universal Public Domain Dedication, with the exception of rng.c, rng.h and PQCgenKAT_sign.c, which were provided by NIST.

sphincsplus's People

Contributors

joostrijneveld avatar kste avatar cryptojedi avatar

Watchers

Oussama Danba avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.