
ISARA Radiate™ Quantum-safe Library Version 3.1
Quantum-safe cryptographic primitives and algorithms.
iqr_xmss.h
Go to the documentation of this file.
49 // ---------------------------------------------------------------------------------------------------------------------------------
51 // ---------------------------------------------------------------------------------------------------------------------------------
56 // ---------------------------------------------------------------------------------------------------------------------------------
58 // ---------------------------------------------------------------------------------------------------------------------------------
78 // ---------------------------------------------------------------------------------------------------------------------------------
80 // ---------------------------------------------------------------------------------------------------------------------------------
111 // ---------------------------------------------------------------------------------------------------------------------------------
113 // ---------------------------------------------------------------------------------------------------------------------------------
137 // ---------------------------------------------------------------------------------------------------------------------------------
139 // ---------------------------------------------------------------------------------------------------------------------------------
160 iqr_retval iqr_XMSSCreateParams(const iqr_Context *ctx, const iqr_XMSSTreeStrategy *strategy, const iqr_XMSSVariant *variant,
182 iqr_retval iqr_XMSSCreateParamsFromPublicKeyBuffer(const iqr_Context *ctx, const uint8_t *buf, size_t buf_size,
201 // ---------------------------------------------------------------------------------------------------------------------------------
203 // ---------------------------------------------------------------------------------------------------------------------------------
234 iqr_retval iqr_XMSSCreateKeyPair(const iqr_XMSSParams *params, const iqr_RNG *rng, iqr_XMSSPublicKey **public_key,
262 iqr_retval iqr_XMSSImportPrivateKey(const iqr_XMSSParams *params, const uint8_t *buf, size_t buf_size,
279 iqr_retval iqr_XMSSExportPrivateKey(const iqr_XMSSPrivateKey *private_key, uint8_t *buf, size_t buf_size);
301 iqr_retval iqr_XMSSImportPublicKey(const iqr_XMSSParams *params, const uint8_t *buf, size_t buf_size,
316 iqr_retval iqr_XMSSExportPublicKey(const iqr_XMSSPublicKey *public_key, uint8_t *buf, size_t buf_size);
342 iqr_retval iqr_XMSSImportState(const iqr_XMSSParams *params, const uint8_t *buf, size_t buf_size, iqr_XMSSPrivateKeyState **state);
356 iqr_retval iqr_XMSSExportState(const iqr_XMSSPrivateKeyState *state, uint8_t *buf, size_t buf_size);
400 // ---------------------------------------------------------------------------------------------------------------------------------
402 // ---------------------------------------------------------------------------------------------------------------------------------
432 iqr_retval iqr_XMSSDetachState(const iqr_XMSSPrivateKey *private_key, iqr_XMSSPrivateKeyState *state, uint32_t num_sigs,
435 // ---------------------------------------------------------------------------------------------------------------------------------
437 // ---------------------------------------------------------------------------------------------------------------------------------
475 // ---------------------------------------------------------------------------------------------------------------------------------
477 // ---------------------------------------------------------------------------------------------------------------------------------
505 iqr_retval iqr_XMSSGetSignatureCount(const iqr_XMSSPrivateKeyState *state, uint32_t *remaining_sigs);
543 iqr_retval iqr_XMSSSign(const iqr_XMSSPrivateKey *private_key, const uint8_t *message, size_t message_size,
566 iqr_retval iqr_XMSSVerify(const iqr_XMSSPublicKey *public_key, const uint8_t *message, size_t message_size, const uint8_t *sig,
IQR_API iqr_retval iqr_XMSSImportState(const iqr_XMSSParams *params, const uint8_t *buf, size_t buf_size, iqr_XMSSPrivateKeyState **state)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_XMSSDestroyState(iqr_XMSSPrivateKeyState **state)
const IQR_EXTERN iqr_XMSSVariant IQR_XMSS_2E16
Provide 216 (65,536) one-time signatures in a single tree.
Definition: iqr_xmss.h:133
ISARA Radiate Quantum-Safe Library's Random Number Generator object APIs.
IQR_API_UNENFORCED_RETURN iqr_retval iqr_XMSSDestroyPrivateKey(iqr_XMSSPrivateKey **private_key)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_XMSSDestroyParams(iqr_XMSSParams **params)
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 iqr_retval iqr_XMSSImportPublicKey(const iqr_XMSSParams *params, const uint8_t *buf, size_t buf_size, iqr_XMSSPublicKey **public_key)
struct iqr_XMSSTreeStrategy_struct iqr_XMSSTreeStrategy
Definition: iqr_xmss.h:73
const IQR_EXTERN iqr_XMSSVariant IQR_XMSS_2E10
Provide 210 (1,024) one-time signatures in a single tree.
Definition: iqr_xmss.h:129
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)
const IQR_EXTERN iqr_XMSSTreeStrategy IQR_XMSS_FULL_TREE_STRATEGY
Strategy for systems with unlimited memory.
Definition: iqr_xmss.h:103
IQR_API iqr_retval iqr_XMSSCreateParamsFromPublicKeyBuffer(const iqr_Context *ctx, const uint8_t *buf, size_t buf_size, iqr_XMSSParams **params)
IQR_API iqr_retval iqr_XMSSGetStateSize(const iqr_XMSSParams *params, 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_XMSSCreateParams(const iqr_Context *ctx, const iqr_XMSSTreeStrategy *strategy, const iqr_XMSSVariant *variant, iqr_XMSSParams **params)
IQR_API iqr_retval iqr_XMSSExportPublicKey(const iqr_XMSSPublicKey *public_key, uint8_t *buf, size_t buf_size)
ISARA Radiate Quantum-Safe Library's return values.
ISARA Radiate Quantum-Safe Library's API declarations.
IQR_API iqr_retval iqr_XMSSSign(const iqr_XMSSPrivateKey *private_key, 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 *remaining_sigs)
const IQR_EXTERN iqr_XMSSTreeStrategy IQR_XMSS_MEMORY_CONSTRAINED_STRATEGY
Strategy for memory-constrained systems.
Definition: iqr_xmss.h:99
IQR_API iqr_retval iqr_XMSSGetPublicKeySize(const iqr_XMSSParams *params, size_t *public_key_size)
IQR_API iqr_retval iqr_XMSSImportPrivateKey(const iqr_XMSSParams *params, const uint8_t *buf, size_t buf_size, iqr_XMSSPrivateKey **private_key)
ISARA Radiate Quantum-Safe Library's Hash object API.
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_API_UNENFORCED_RETURN iqr_retval iqr_XMSSDestroyPublicKey(iqr_XMSSPublicKey **public_key)
IQR_API iqr_retval iqr_XMSSGetPrivateKeySize(const iqr_XMSSParams *params, size_t *private_key_size)
IQR_API iqr_retval iqr_XMSSGetSignatureSize(const iqr_XMSSParams *params, size_t *sig_size)
struct iqr_XMSSPrivateKeyState_struct iqr_XMSSPrivateKeyState
Definition: iqr_xmss.h:61
const IQR_EXTERN iqr_XMSSTreeStrategy IQR_XMSS_VERIFY_ONLY_STRATEGY
Strategy for systems that only need to verify signatures.
Definition: iqr_xmss.h:107