
ISARA Radiate Security Solution Suite Toolkit Edition Version 1.5
Quantum-safe cryptographic primitives and algorithms.
iqr_xmss.h
Go to the documentation of this file.
54 // ---------------------------------------------------------------------------------------------------------------------------------
56 // ---------------------------------------------------------------------------------------------------------------------------------
73 // ---------------------------------------------------------------------------------------------------------------------------------
75 // ---------------------------------------------------------------------------------------------------------------------------------
118 // ---------------------------------------------------------------------------------------------------------------------------------
120 // ---------------------------------------------------------------------------------------------------------------------------------
144 // ---------------------------------------------------------------------------------------------------------------------------------
146 // ---------------------------------------------------------------------------------------------------------------------------------
167 iqr_retval iqr_XMSSCreateParams(const iqr_Context *ctx, const iqr_XMSSTreeStrategy *strategy, iqr_XMSSHeight h,
186 // ---------------------------------------------------------------------------------------------------------------------------------
188 // ---------------------------------------------------------------------------------------------------------------------------------
217 iqr_retval iqr_XMSSCreateKeyPair(const iqr_XMSSParams *params, const iqr_RNG *rng, iqr_XMSSPublicKey **public_key,
244 iqr_retval iqr_XMSSImportPrivateKey(const iqr_XMSSParams *params, const uint8_t *buf, size_t buf_size,
261 iqr_retval iqr_XMSSExportPrivateKey(const iqr_XMSSPrivateKey *private_key, uint8_t *buf, size_t buf_size);
283 iqr_retval iqr_XMSSImportPublicKey(const iqr_XMSSParams *params, const uint8_t *buf, size_t buf_size,
298 iqr_retval iqr_XMSSExportPublicKey(const iqr_XMSSPublicKey *public_key, uint8_t *buf, size_t buf_size);
320 iqr_retval iqr_XMSSImportState(const iqr_XMSSParams *params, const uint8_t *buf, size_t buf_size, iqr_XMSSPrivateKeyState **state);
334 iqr_retval iqr_XMSSExportState(const iqr_XMSSPrivateKeyState *state, uint8_t *buf, size_t buf_size);
375 // ---------------------------------------------------------------------------------------------------------------------------------
377 // ---------------------------------------------------------------------------------------------------------------------------------
412 iqr_retval iqr_XMSSDetachState(const iqr_XMSSPrivateKey *private_key, iqr_XMSSPrivateKeyState *state, uint32_t num_sigs,
415 // ---------------------------------------------------------------------------------------------------------------------------------
417 // ---------------------------------------------------------------------------------------------------------------------------------
428 iqr_retval iqr_XMSSGetPrivateKeySize(const iqr_XMSSPrivateKey *private_key, size_t *private_key_size);
439 iqr_retval iqr_XMSSGetPublicKeySize(const iqr_XMSSPublicKey *public_key, size_t *public_key_size);
452 // ---------------------------------------------------------------------------------------------------------------------------------
454 // ---------------------------------------------------------------------------------------------------------------------------------
486 iqr_retval iqr_XMSSGetSignatureCount(const iqr_XMSSPrivateKeyState *state, uint32_t *max_sigs, uint32_t *remaining_sigs);
538 iqr_retval iqr_XMSSSign(const iqr_XMSSPrivateKey *private_key, const iqr_RNG *rng, const uint8_t *message,
564 iqr_retval iqr_XMSSVerify(const iqr_XMSSPublicKey *public_key, const uint8_t *message, size_t message_size, const uint8_t *sig,
IQR_API_UNENFORCED_RETURN iqr_retval iqr_XMSSDestroyPrivateKey(iqr_XMSSPrivateKey **private_key)
IQR_API iqr_retval iqr_XMSSCreateParams(const iqr_Context *ctx, const iqr_XMSSTreeStrategy *strategy, iqr_XMSSHeight h, iqr_XMSSParams **params)
IQR_API iqr_retval iqr_XMSSImportPrivateKey(const iqr_XMSSParams *params, const uint8_t *buf, size_t buf_size, iqr_XMSSPrivateKey **private_key)
struct iqr_XMSSTreeStrategy_struct iqr_XMSSTreeStrategy
Definition: iqr_xmss.h:72
ISARA Radiate Security Solution Suite's Hash object API.
IQR_EXTERN const iqr_XMSSTreeStrategy IQR_XMSS_VERIFY_ONLY_STRATEGY
Definition: iqr_xmss.h:117
IQR_API iqr_retval iqr_XMSSGetStateSize(const iqr_XMSSPrivateKeyState *state, size_t *state_size)
IQR_API iqr_retval iqr_XMSSExportPrivateKey(const iqr_XMSSPrivateKey *private_key, uint8_t *buf, size_t buf_size)
IQR_API iqr_retval iqr_XMSSGetPrivateKeySize(const iqr_XMSSPrivateKey *private_key, size_t *private_key_size)
ISARA Radiate Security Solution Suite's Random Number Generator object APIs.
IQR_API_UNENFORCED_RETURN iqr_retval iqr_XMSSDestroyState(iqr_XMSSPrivateKeyState **state)
IQR_API iqr_retval iqr_XMSSCreateKeyPair(const iqr_XMSSParams *params, const iqr_RNG *rng, iqr_XMSSPublicKey **public_key, iqr_XMSSPrivateKey **private_key, iqr_XMSSPrivateKeyState **state)
IQR_API iqr_retval iqr_XMSSSign(const iqr_XMSSPrivateKey *private_key, const iqr_RNG *rng, const uint8_t *message, size_t message_size, iqr_XMSSPrivateKeyState *state, uint8_t *sig, size_t sig_size)
IQR_API iqr_retval iqr_XMSSGetSignatureCount(const iqr_XMSSPrivateKeyState *state, uint32_t *max_sigs, uint32_t *remaining_sigs)
ISARA Radiate Security Solution Suite's return values.
IQR_API iqr_retval iqr_XMSSDetachState(const iqr_XMSSPrivateKey *private_key, iqr_XMSSPrivateKeyState *state, uint32_t num_sigs, iqr_XMSSPrivateKeyState **detached_state)
IQR_API iqr_retval iqr_XMSSExportState(const iqr_XMSSPrivateKeyState *state, uint8_t *buf, size_t buf_size)
IQR_EXTERN const iqr_XMSSTreeStrategy IQR_XMSS_FULL_STRATEGY
Definition: iqr_xmss.h:110
struct iqr_XMSSPrivateKeyState_struct iqr_XMSSPrivateKeyState
Definition: iqr_xmss.h:60
ISARA Radiate Security Solution Suite's API declarations.
IQR_API iqr_retval iqr_XMSSImportState(const iqr_XMSSParams *params, const uint8_t *buf, size_t buf_size, iqr_XMSSPrivateKeyState **state)
IQR_API iqr_retval iqr_XMSSImportPublicKey(const iqr_XMSSParams *params, const uint8_t *buf, size_t buf_size, iqr_XMSSPublicKey **public_key)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_XMSSDestroyParams(iqr_XMSSParams **params)
IQR_EXTERN const iqr_XMSSTreeStrategy IQR_XMSS_BDS_STRATEGY
Definition: iqr_xmss.h:101
IQR_API iqr_retval iqr_XMSSGetPublicKeySize(const iqr_XMSSPublicKey *public_key, size_t *public_key_size)
IQR_API iqr_retval iqr_XMSSGetSignatureSize(const iqr_XMSSParams *params, size_t *sig_size)
IQR_API iqr_retval iqr_XMSSExportPublicKey(const iqr_XMSSPublicKey *public_key, uint8_t *buf, size_t buf_size)
IQR_API iqr_retval iqr_XMSSVerify(const iqr_XMSSPublicKey *public_key, const uint8_t *message, size_t message_size, const uint8_t *sig, size_t sig_size)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_XMSSDestroyPublicKey(iqr_XMSSPublicKey **public_key)