
ISARA Radiate™ Quantum-safe Library Version 3.1
Quantum-safe cryptographic primitives and algorithms.
iqr_sphincs.h
Go to the documentation of this file.
34 // ---------------------------------------------------------------------------------------------------------------------------------
36 // ---------------------------------------------------------------------------------------------------------------------------------
50 // ---------------------------------------------------------------------------------------------------------------------------------
52 // ---------------------------------------------------------------------------------------------------------------------------------
102 // ---------------------------------------------------------------------------------------------------------------------------------
104 // ---------------------------------------------------------------------------------------------------------------------------------
126 iqr_retval iqr_SPHINCSCreateParams(const iqr_Context *ctx, const iqr_SPHINCSVariant *variant, iqr_SPHINCSParams **params);
144 // ---------------------------------------------------------------------------------------------------------------------------------
146 // ---------------------------------------------------------------------------------------------------------------------------------
165 iqr_retval iqr_SPHINCSCreateKeyPair(const iqr_SPHINCSParams *params, const iqr_RNG *rng, iqr_SPHINCSPublicKey **public_key,
189 iqr_retval iqr_SPHINCSImportPrivateKey(const iqr_SPHINCSParams *params, const uint8_t *buf, size_t buf_size,
206 iqr_retval iqr_SPHINCSExportPrivateKey(const iqr_SPHINCSPrivateKey *private_key, uint8_t *buf, size_t buf_size);
225 iqr_retval iqr_SPHINCSImportPublicKey(const iqr_SPHINCSParams *params, const uint8_t *buf, size_t buf_size,
240 iqr_retval iqr_SPHINCSExportPublicKey(const iqr_SPHINCSPublicKey *public_key, uint8_t *buf, size_t buf_size);
270 // ---------------------------------------------------------------------------------------------------------------------------------
272 // ---------------------------------------------------------------------------------------------------------------------------------
283 iqr_retval iqr_SPHINCSGetPrivateKeySize(const iqr_SPHINCSParams *params, size_t *private_key_size);
294 iqr_retval iqr_SPHINCSGetPublicKeySize(const iqr_SPHINCSParams *params, size_t *public_key_size);
296 // ---------------------------------------------------------------------------------------------------------------------------------
298 // ---------------------------------------------------------------------------------------------------------------------------------
333 iqr_retval iqr_SPHINCSSign(const iqr_SPHINCSPrivateKey *private_key, const iqr_RNG *rng, const uint8_t *message,
353 iqr_retval iqr_SPHINCSVerify(const iqr_SPHINCSPublicKey *public_key, const uint8_t *message, size_t message_size,
const IQR_EXTERN iqr_SPHINCSVariant IQR_SPHINCS_SHA2_256_128S
SPHINCS+ using SHA-256, small variant with 128-bit security.
Definition: iqr_sphincs.h:60
IQR_API_UNENFORCED_RETURN iqr_retval iqr_SPHINCSDestroyParams(iqr_SPHINCSParams **params)
IQR_API iqr_retval iqr_SPHINCSGetPrivateKeySize(const iqr_SPHINCSParams *params, size_t *private_key_size)
IQR_API iqr_retval iqr_SPHINCSImportPublicKey(const iqr_SPHINCSParams *params, const uint8_t *buf, size_t buf_size, iqr_SPHINCSPublicKey **public_key)
ISARA Radiate Quantum-Safe Library's Random Number Generator object APIs.
IQR_API iqr_retval iqr_SPHINCSVerify(const iqr_SPHINCSPublicKey *public_key, const uint8_t *message, size_t message_size, const uint8_t *sig, size_t sig_size)
IQR_API iqr_retval iqr_SPHINCSSign(const iqr_SPHINCSPrivateKey *private_key, const iqr_RNG *rng, const uint8_t *message, size_t message_size, uint8_t *sig, size_t sig_size)
struct iqr_SPHINCSPrivateKey_struct iqr_SPHINCSPrivateKey
Definition: iqr_sphincs.h:45
const IQR_EXTERN iqr_SPHINCSVariant IQR_SPHINCS_SHA2_256_192F
SPHINCS+ using SHA-256, fast variant with 192-bit security.
Definition: iqr_sphincs.h:72
IQR_API iqr_retval iqr_SPHINCSCreateParams(const iqr_Context *ctx, const iqr_SPHINCSVariant *variant, iqr_SPHINCSParams **params)
IQR_API iqr_retval iqr_SPHINCSExportPublicKey(const iqr_SPHINCSPublicKey *public_key, uint8_t *buf, size_t buf_size)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_SPHINCSDestroyPublicKey(iqr_SPHINCSPublicKey **public_key)
IQR_API iqr_retval iqr_SPHINCSExportPrivateKey(const iqr_SPHINCSPrivateKey *private_key, uint8_t *buf, size_t buf_size)
IQR_API iqr_retval iqr_SPHINCSCreateKeyPair(const iqr_SPHINCSParams *params, const iqr_RNG *rng, iqr_SPHINCSPublicKey **public_key, iqr_SPHINCSPrivateKey **private_key)
const IQR_EXTERN iqr_SPHINCSVariant IQR_SPHINCS_SHA2_256_192S
SPHINCS+ using SHA-256, small variant with 192-bit security.
Definition: iqr_sphincs.h:76
const IQR_EXTERN iqr_SPHINCSVariant IQR_SPHINCS_SHA2_256_256F
SPHINCS+ using SHA-256, fast variant with 256-bit security.
Definition: iqr_sphincs.h:88
IQR_API iqr_retval iqr_SPHINCSGetSignatureSize(const iqr_SPHINCSParams *params, size_t *sig_size)
ISARA Radiate Quantum-Safe Library's return values.
ISARA Radiate Quantum-Safe Library's API declarations.
IQR_API iqr_retval iqr_SPHINCSImportPrivateKey(const iqr_SPHINCSParams *params, const uint8_t *buf, size_t buf_size, iqr_SPHINCSPrivateKey **private_key)
struct iqr_SPHINCSPublicKey_struct iqr_SPHINCSPublicKey
Definition: iqr_sphincs.h:42
const IQR_EXTERN iqr_SPHINCSVariant IQR_SPHINCS_SHAKE_256_192F
SPHINCS+ using SHAKE-256, fast variant with 192-bit security.
Definition: iqr_sphincs.h:80
const IQR_EXTERN iqr_SPHINCSVariant IQR_SPHINCS_SHAKE_256_256F
SPHINCS+ using SHAKE-256, fast variant with 256-bit security.
Definition: iqr_sphincs.h:96
const IQR_EXTERN iqr_SPHINCSVariant IQR_SPHINCS_SHAKE_256_128F
SPHINCS+ using SHAKE-256, fast variant with 128-bit security.
Definition: iqr_sphincs.h:64
ISARA Radiate Quantum-Safe Library's Hash object API.
const IQR_EXTERN iqr_SPHINCSVariant IQR_SPHINCS_SHAKE_256_256S
SPHINCS+ using SHAKE-256, small variant with 256-bit security.
Definition: iqr_sphincs.h:100
const IQR_EXTERN iqr_SPHINCSVariant IQR_SPHINCS_SHA2_256_256S
SPHINCS+ using SHA-256, small variant with 256-bit security.
Definition: iqr_sphincs.h:92
const IQR_EXTERN iqr_SPHINCSVariant IQR_SPHINCS_SHA2_256_128F
SPHINCS+ using SHA-256, fast variant with 128-bit security.
Definition: iqr_sphincs.h:56
IQR_API iqr_retval iqr_SPHINCSGetPublicKeySize(const iqr_SPHINCSParams *params, size_t *public_key_size)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_SPHINCSDestroyPrivateKey(iqr_SPHINCSPrivateKey **private_key)
const IQR_EXTERN iqr_SPHINCSVariant IQR_SPHINCS_SHAKE_256_128S
SPHINCS+ using SHAKE-256, small variant with 128-bit security.
Definition: iqr_sphincs.h:68
const IQR_EXTERN iqr_SPHINCSVariant IQR_SPHINCS_SHAKE_256_192S
SPHINCS+ using SHAKE-256, small variant with 192-bit security.
Definition: iqr_sphincs.h:84