GitHub - gravity-postquantum/gravity-sphincs: Signature scheme submitted to NIST...
source link: https://github.com/gravity-postquantum/gravity-sphincs
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Gravity-SPHINCS
Submission to NIST's Post-Quantum Cryptography Project, structured as per http://csrc.nist.gov/groups/ST/post-quantum-crypto/submission-requirements/digital-optical-media.html.
Gravity-SPHINCS is a stateless hash-based signature scheme designed by Jean-Philippe Aumasson and Guillaume Endignoux while working in Kudelski Security's research team.
Content of this submission package
Documentation
-
Supporting_Documentation/submission.pdf: Reference documentation of Gravity-SPHINCS, include specification, security analysis, performance analysis.
-
Supporting_Documentation/latex_source/: LaTeX source of the reference documentation.
-
Supporting_Documentation/master_thesis_endignoux_guillaume.pdf: Masters thesis of Guillaume Endignoux, containing detailed analyses related to Gravity-SPHINCS' security.
-
Supporting_Documentation/parameters.py: Python script to compute the security of a Gravity-SPHINCS instance given a set of parameters.
Implementations
-
Reference_Implementation/: Our reference C89 implementation, without AES-NI nor SIMD instructions.
-
Additional_Implementations/fast: Our fast C89 implementation, with AES-NI and SIMD instructions.
-
Additional_Implementations/debug: A version of the reference implementation that prints intermediate values. This directory includes intermediate values files for each of the three Gravity-SPHINCS versions.
The directory Optimized_Implementation/ contains a placeholder referring to the code under Reference_Implementation/.
The Makefile included in the reference implementation has the following targets:
$ make
Please choose a target:
analyze runs static analyzers
bench runs speed benchmarks
clean cleans up
format formats the code using .clang-format rules
The Makefile of the debug implementation in addition provides make ivs
and make check
targets.
-
KAT/: Includes NIST's s PQCgenKAT_sign.c, rng.c, and [rnc.h], as well as a Makefile that we created to generate the files PQCsignKAT_64.req and PQCsignKAT_64.rsp required by NIST, using our fast implementation in Reference_Implementation/.
-
KAT/PQCsignKAT_all.req: .req KAT file generated by running
make
, same for all Gravity-SPHINCS versions. -
KAT/PQCsignKAT_65568.rsp, KAT/PQCsignKAT_2097184.rsp, KAT/PQCsignKAT_1048608.rsp: .rsp KAT file generated by running
make
, for the Gravity-SPHINCS versions S, M, and L, respectively.
Intellectual property
Copyright notices are included in the header of each source code file. Our original source code of Gravity-SPHINCS is copyright © 2017 Nagravision S.A., and was written by Jean-Philippe Aumasson and Guillaume Endignoux.
The fast, AES-NI-based Haraka implementation is copyright © 2016 Stefan Kölbl.
Our source code is released under Apache 2.0 license.
Patent situation: We haven't filed any patent related to Gravity-SPHINCS nor are we aware of existing patent or patent application covering Gravity-SPHINCS.
Acknowledgments
Thanks to Samuel Neves for helping optimize our code.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK