The FIPS 205 implementation of the Sphincs+ Asymmetric Signature Scheme. More...
#include "common.h"Go to the source code of this file.
Functions | |
| QSC_EXPORT_API void | qsc_sphincsplus_generate_keypair (uint8_t *publickey, uint8_t *privatekey, bool(*rng_generate)(uint8_t *, size_t)) |
| Generates a Sphincs+ public/private key-pair. | |
| QSC_EXPORT_API void | qsc_sphincsplus_sign (uint8_t *signedmsg, size_t *smsglen, const uint8_t *message, size_t msglen, const uint8_t *privatekey, bool(*rng_generate)(uint8_t *, size_t)) |
| Takes the message as input and returns an array containing the signature followed by the message. | |
| QSC_EXPORT_API bool | qsc_sphincsplus_verify (uint8_t *message, size_t *msglen, const uint8_t *signedmsg, size_t smsglen, const uint8_t *publickey) |
| Verifies a signature-message pair with the public key. | |
The FIPS 205 implementation of the Sphincs+ Asymmetric Signature Scheme.
This header defines the primary public API for the FIPS 205 Sphincs+ asymmetric signature scheme implementation. It provides functions for generating key pairs, signing messages, and verifying signatures. The implementation is based on the C reference branch of SPHINCS+ from the FIPS 205 implementation.
| QSC_EXPORT_API void qsc_sphincsplus_generate_keypair | ( | uint8_t * | publickey, |
| uint8_t * | privatekey, | ||
| bool(* | rng_generate )(uint8_t *, size_t) ) |
Generates a Sphincs+ public/private key-pair.
| publickey | [uint8_t*] Pointer to the public verification-key array |
| privatekey | [uint8_t*] Pointer to the private signature-key array |
| rng_generate | [(uint8_t*, size_t)] Pointer to the random generator |
| QSC_EXPORT_API void qsc_sphincsplus_sign | ( | uint8_t * | signedmsg, |
| size_t * | smsglen, | ||
| const uint8_t * | message, | ||
| size_t | msglen, | ||
| const uint8_t * | privatekey, | ||
| bool(* | rng_generate )(uint8_t *, size_t) ) |
Takes the message as input and returns an array containing the signature followed by the message.
| signedmsg | [uint8_t*] Pointer to the signed-message array |
| smsglen | [size_t*] Pointer to the signed message length |
| message | [const uint8_t*] Pointer to the message array |
| msglen | [size_t] The message length |
| privatekey | [const uint8_t*] Pointer to the private signature-key array |
| rng_generate | [(uint8_t*, size_t)] Pointer to the random generator |
| QSC_EXPORT_API bool qsc_sphincsplus_verify | ( | uint8_t * | message, |
| size_t * | msglen, | ||
| const uint8_t * | signedmsg, | ||
| size_t | smsglen, | ||
| const uint8_t * | publickey ) |
Verifies a signature-message pair with the public key.
| message | [uint8_t*] Pointer to the message array to be signed |
| msglen | [size_t*] Pointer to the message length |
| signedmsg | [const uint8_t*] Pointer to the signed message array |
| smsglen | [size_t] The signed message length |
| publickey | [const uint8_t*] Pointer to the public verification-key array |