Contains the primary public api for the Falcon asymmetric signature scheme implementation. More...
#include "qsccommon.h"Go to the source code of this file.
Functions | |
| QSC_EXPORT_API bool | qsc_falcon_generate_keypair (uint8_t *publickey, uint8_t *privatekey, bool(*rng_generate)(uint8_t *, size_t)) |
| Generates a Falcon public/private key-pair. | |
| QSC_EXPORT_API bool | qsc_falcon_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_falcon_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. | |
Contains the primary public api for the Falcon asymmetric signature scheme implementation.
Based entirely on the C reference branch of Falcon taken from the NIST Post Quantum Competition Round 3 submission.
The NIST Post Quantum Competition Round 3 Finalists.
The Falcon website.
The Falcon Algorithm Specification.
| QSC_EXPORT_API bool qsc_falcon_generate_keypair | ( | uint8_t * | publickey, |
| uint8_t * | privatekey, | ||
| bool(* | rng_generate )(uint8_t *, size_t) ) |
Generates a Falcon public/private key-pair.
| publickey | Pointer to the public verification-key array |
| privatekey | Pointer to the private signature-key array |
| rng_generate | Pointer to the random generator |
| QSC_EXPORT_API bool qsc_falcon_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 | Pointer to the signed-message array |
| smsglen | The signed message length |
| message | [const] Pointer to the message array |
| msglen | The message array length |
| privatekey | [const] Pointer to the private signature-key |
| rng_generate | Pointer to the random generator |
| QSC_EXPORT_API bool qsc_falcon_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 | Pointer to the message output array |
| msglen | Length of the message array |
| signedmsg | [const] Pointer to the signed message array |
| smsglen | The signed message length |
| publickey | [const] Pointer to the public verification-key array |