Version: 1.0.0 (SUPERCOP: 20160910)
Authors: Alexander Færøy (ahf@0x90.dk
).
SPHINCS-256 is a high-security post-quantum stateless hash-based signature scheme. This repository contains the SPHINCS-256 implementation found in the SUPERCOP performance suite together with an Erlang NIF's for the SPHINCS API.
SPHINCS-256 uses 41 KB signatures, 1 KB public keys, and 1 KB private keys.
For more information about SPHINCS see:
- Alice generates a new keypair and sends her public key to Bob.
{ok, #{ secret := Secret, public := Public }} = sphincs:keypair().
- Alice signs a document and sends it to Bob.
SignedDocument = sphincs:sign(Document, Secret).
- Bob verifies the signed document from Alice.
sphincs:verify(SignedDocument, Public).
-
It's currently only the
ref
implementation of BLAKE-256, BLAKE-512, ChaCha12 and SPHINCS-256 that have been tested. It would be nice to have vectorized versions for higher performance. -
The Erlang bindings of sphincs could use some tests :-)
sphincs |