Skip to content
develop
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

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

SPHINCS-256 NIF for Erlang

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:

Example Usage

  1. Alice generates a new keypair and sends her public key to Bob.
{ok, #{ secret := Secret, public := Public }} = sphincs:keypair().
  1. Alice signs a document and sends it to Bob.
SignedDocument = sphincs:sign(Document, Secret).
  1. Bob verifies the signed document from Alice.
sphincs:verify(SignedDocument, Public).

Issues

  • 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 :-)

Modules

sphincs

About

Erlang NIF for SPHINCS-256: practical stateless hash-based signatures.

Topics

Resources

Packages

No packages published