
ISARA Radiate Security Solution Suite Toolkit Edition Version 1.5
Quantum-safe cryptographic primitives and algorithms.
iqr_hss.h
Go to the documentation of this file.
53 // ---------------------------------------------------------------------------------------------------------------------------------
55 // ---------------------------------------------------------------------------------------------------------------------------------
72 // ---------------------------------------------------------------------------------------------------------------------------------
74 // ---------------------------------------------------------------------------------------------------------------------------------
117 // ---------------------------------------------------------------------------------------------------------------------------------
119 // ---------------------------------------------------------------------------------------------------------------------------------
197 // ---------------------------------------------------------------------------------------------------------------------------------
199 // ---------------------------------------------------------------------------------------------------------------------------------
223 iqr_retval iqr_HSSCreateParams(const iqr_Context *ctx, const iqr_HSSTreeStrategy *strategy, iqr_HSSWinternitz w, iqr_HSSHeight h,
242 // ---------------------------------------------------------------------------------------------------------------------------------
244 // ---------------------------------------------------------------------------------------------------------------------------------
274 iqr_retval iqr_HSSCreateKeyPair(const iqr_HSSParams *params, const iqr_RNG *rng, iqr_HSSPublicKey **public_key,
301 iqr_retval iqr_HSSImportPrivateKey(const iqr_HSSParams *params, const uint8_t *buf, size_t buf_size,
318 iqr_retval iqr_HSSExportPrivateKey(const iqr_HSSPrivateKey *private_key, uint8_t *buf, size_t buf_size);
340 iqr_retval iqr_HSSImportPublicKey(const iqr_HSSParams *params, const uint8_t *buf, size_t buf_size,
355 iqr_retval iqr_HSSExportPublicKey(const iqr_HSSPublicKey *public_key, uint8_t *buf, size_t buf_size);
376 iqr_retval iqr_HSSImportState(const iqr_HSSParams *params, const uint8_t *buf, size_t buf_size, iqr_HSSPrivateKeyState **state);
390 iqr_retval iqr_HSSExportState(const iqr_HSSPrivateKeyState *state, uint8_t *buf, size_t buf_size);
431 // ---------------------------------------------------------------------------------------------------------------------------------
433 // ---------------------------------------------------------------------------------------------------------------------------------
468 iqr_retval iqr_HSSDetachState(const iqr_HSSPrivateKey *private_key, iqr_HSSPrivateKeyState *state, uint32_t num_sigs,
471 // ---------------------------------------------------------------------------------------------------------------------------------
473 // ---------------------------------------------------------------------------------------------------------------------------------
484 iqr_retval iqr_HSSGetPrivateKeySize(const iqr_HSSPrivateKey *private_key, size_t *private_key_size);
495 iqr_retval iqr_HSSGetPublicKeySize(const iqr_HSSPublicKey *public_key, size_t *public_key_size);
508 // ---------------------------------------------------------------------------------------------------------------------------------
510 // ---------------------------------------------------------------------------------------------------------------------------------
542 iqr_retval iqr_HSSGetSignatureCount(const iqr_HSSPrivateKeyState *state, uint32_t *max_sigs, uint32_t *remaining_sigs);
594 iqr_retval iqr_HSSSign(const iqr_HSSPrivateKey *private_key, const iqr_RNG *rng, const uint8_t *message, size_t message_size,
620 iqr_retval iqr_HSSVerify(const iqr_HSSPublicKey *public_key, const uint8_t *message, size_t message_size, const uint8_t *sig,
IQR_API iqr_retval iqr_HSSImportPrivateKey(const iqr_HSSParams *params, const uint8_t *buf, size_t buf_size, iqr_HSSPrivateKey **private_key)
IQR_API iqr_retval iqr_HSSImportPublicKey(const iqr_HSSParams *params, const uint8_t *buf, size_t buf_size, iqr_HSSPublicKey **public_key)
ISARA Radiate Security Solution Suite's Hash object API.
IQR_API iqr_retval iqr_HSSVerify(const iqr_HSSPublicKey *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_HSSDestroyState(iqr_HSSPrivateKeyState **state)
IQR_API iqr_retval iqr_HSSDetachState(const iqr_HSSPrivateKey *private_key, iqr_HSSPrivateKeyState *state, uint32_t num_sigs, iqr_HSSPrivateKeyState **detached_state)
IQR_EXTERN const iqr_HSSTreeStrategy IQR_HSS_BDS_STRATEGY
Definition: iqr_hss.h:100
ISARA Radiate Security Solution Suite's Random Number Generator object APIs.
IQR_API iqr_retval iqr_HSSExportPrivateKey(const iqr_HSSPrivateKey *private_key, uint8_t *buf, size_t buf_size)
IQR_API iqr_retval iqr_HSSImportState(const iqr_HSSParams *params, const uint8_t *buf, size_t buf_size, iqr_HSSPrivateKeyState **state)
ISARA Radiate Security Solution Suite's return values.
IQR_API_UNENFORCED_RETURN iqr_retval iqr_HSSDestroyPublicKey(iqr_HSSPublicKey **public_key)
Definition: iqr_hss.h:139
IQR_API iqr_retval iqr_HSSExportState(const iqr_HSSPrivateKeyState *state, uint8_t *buf, size_t buf_size)
IQR_API iqr_retval iqr_HSSGetPrivateKeySize(const iqr_HSSPrivateKey *private_key, size_t *private_key_size)
IQR_API iqr_retval iqr_HSSGetPublicKeySize(const iqr_HSSPublicKey *public_key, size_t *public_key_size)
IQR_API iqr_retval iqr_HSSGetSignatureCount(const iqr_HSSPrivateKeyState *state, uint32_t *max_sigs, uint32_t *remaining_sigs)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_HSSDestroyPrivateKey(iqr_HSSPrivateKey **private_key)
ISARA Radiate Security Solution Suite's API declarations.
Definition: iqr_hss.h:141
IQR_API iqr_retval iqr_HSSCreateParams(const iqr_Context *ctx, const iqr_HSSTreeStrategy *strategy, iqr_HSSWinternitz w, iqr_HSSHeight h, iqr_HSSLevels l, iqr_HSSParams **params)
IQR_API iqr_retval iqr_HSSExportPublicKey(const iqr_HSSPublicKey *public_key, uint8_t *buf, size_t buf_size)
Definition: iqr_hss.h:140
IQR_API_UNENFORCED_RETURN iqr_retval iqr_HSSDestroyParams(iqr_HSSParams **params)
Definition: iqr_hss.h:142
IQR_API iqr_retval iqr_HSSGetStateSize(const iqr_HSSPrivateKeyState *state, size_t *state_size)
struct iqr_HSSPrivateKeyState_struct iqr_HSSPrivateKeyState
Definition: iqr_hss.h:59
IQR_API iqr_retval iqr_HSSCreateKeyPair(const iqr_HSSParams *params, const iqr_RNG *rng, iqr_HSSPublicKey **public_key, iqr_HSSPrivateKey **private_key, iqr_HSSPrivateKeyState **state)
IQR_API iqr_retval iqr_HSSSign(const iqr_HSSPrivateKey *private_key, const iqr_RNG *rng, const uint8_t *message, size_t message_size, iqr_HSSPrivateKeyState *state, uint8_t *sig, size_t sig_size)
IQR_API iqr_retval iqr_HSSGetSignatureSize(const iqr_HSSParams *params, size_t *sig_size)
IQR_EXTERN const iqr_HSSTreeStrategy IQR_HSS_FULL_STRATEGY
Definition: iqr_hss.h:109
IQR_EXTERN const iqr_HSSTreeStrategy IQR_HSS_VERIFY_ONLY_STRATEGY
Definition: iqr_hss.h:116