PQLR  v1.4-86-c274fcf7
Postquantum Crypto Library by QAPP
sphincs_plus.h File Reference
#include "params.h"
#include <pqlr/common/pqlr.h>
#include <pqlr/common/api.h>
#include <pqlr/hash_algo/hash_algo.h>
#include <stdint.h>

Go to the source code of this file.

Typedefs

typedef struct sphincs_plus_st * sphincs_plus_t
 Sphincs_plus algorithm instance handle. More...
 

Functions

PQLR_API sphincs_plus_t sphincs_plus_new (sphincs_plus_parameterset_t parameterset, hashalgo_t hashalgo)
 Creates new sphincs_plus instance with selected parameter set and hashing algorithm. More...
 
PQLR_API void sphincs_plus_free (sphincs_plus_t sphincs_plus)
 Frees sphincs_plus instance and all corresponding resources. More...
 
PQLR_API sphincs_plus_t sphincs_plus_duplicate (const sphincs_plus_t sphincs_plus)
 Duplicates sphincs_plus context. More...
 
PQLR_API pqlr_t sphincs_plus_to_pqlr (sphincs_plus_t sphincs_plus)
 Casts sphincs_plus instance to pqlr instance. More...
 
PQLR_API size_t sphincs_plus_get_signature_bytes_len (sphincs_plus_t sphincs_plus)
 Obtains signature buffer length in bytes for current sphincs_plus instance. More...
 
PQLR_API size_t sphincs_plus_get_public_key_bytes_len (sphincs_plus_t sphincs_plus)
 Obtains public key buffer length in bytes for current sphincs_plus instance. More...
 
PQLR_API size_t sphincs_plus_get_secret_key_bytes_len (sphincs_plus_t sphincs_plus)
 Obtains secret key buffer length in bytes for current sphincs_plus instance. More...
 
PQLR_API void sphincs_plus_generate_keys (const sphincs_plus_t sphincs_plus, uint8_t *result_sk, uint8_t *result_pk)
 Generates random secret key and public key for given context. More...
 
PQLR_API void sphincs_plus_sign (const sphincs_plus_t sphincs_plus, const uint8_t *sk, const uint8_t *msg, size_t msg_len, uint8_t *result_sig)
 Generates signature for given message according to context and secret key. The signature is non-deterministic, i.e. there are different results for the same message. More...
 
PQLR_API int sphincs_plus_verify (const sphincs_plus_t sphincs_plus, const uint8_t *pk, const uint8_t *sig, const uint8_t *msg, size_t msg_len)
 Verifies that given signature is the signature of given message. More...