
ISARA Radiate Security Solution Suite Toolkit Edition Version 1.5
Quantum-safe cryptographic primitives and algorithms.
iqr_frodokem.h
Go to the documentation of this file.
32 // ---------------------------------------------------------------------------------------------------------------------------------
34 // ---------------------------------------------------------------------------------------------------------------------------------
48 // ---------------------------------------------------------------------------------------------------------------------------------
50 // ---------------------------------------------------------------------------------------------------------------------------------
64 // ---------------------------------------------------------------------------------------------------------------------------------
66 // ---------------------------------------------------------------------------------------------------------------------------------
76 // ---------------------------------------------------------------------------------------------------------------------------------
78 // ---------------------------------------------------------------------------------------------------------------------------------
93 iqr_retval iqr_FrodoKEMCreateParams(const iqr_Context *ctx, const iqr_FrodoKEMVariant *variant, iqr_FrodoKEMParams **params);
112 // ---------------------------------------------------------------------------------------------------------------------------------
114 // ---------------------------------------------------------------------------------------------------------------------------------
133 iqr_retval iqr_FrodoKEMCreateKeyPair(const iqr_FrodoKEMParams *params, const iqr_RNG *rng, iqr_FrodoKEMPublicKey **public_key,
151 iqr_retval iqr_FrodoKEMImportPublicKey(const iqr_FrodoKEMParams *params, const uint8_t *buf, size_t buf_size,
174 iqr_retval iqr_FrodoKEMImportPrivateKey(const iqr_FrodoKEMParams *params, const uint8_t *buf, size_t buf_size,
188 iqr_retval iqr_FrodoKEMExportPublicKey(const iqr_FrodoKEMPublicKey *public_key, uint8_t *buf, size_t buf_size);
203 iqr_retval iqr_FrodoKEMExportPrivateKey(const iqr_FrodoKEMPrivateKey *private_key, uint8_t *buf, size_t buf_size);
232 // ---------------------------------------------------------------------------------------------------------------------------------
234 // ---------------------------------------------------------------------------------------------------------------------------------
263 iqr_retval iqr_FrodoKEMEncapsulate(const iqr_FrodoKEMPublicKey *public_key, const iqr_RNG *rng, uint8_t *ciphertext,
289 iqr_retval iqr_FrodoKEMDecapsulate(const iqr_FrodoKEMPrivateKey *private_key, const uint8_t *ciphertext, size_t ciphertext_size,
IQR_EXTERN const iqr_FrodoKEMVariant IQR_FRODOKEM_976_CSHAKE
Definition: iqr_frodokem.h:75
IQR_API iqr_retval iqr_FrodoKEMImportPublicKey(const iqr_FrodoKEMParams *params, const uint8_t *buf, size_t buf_size, iqr_FrodoKEMPublicKey **public_key)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_FrodoKEMDestroyParams(iqr_FrodoKEMParams **params)
IQR_API iqr_retval iqr_FrodoKEMEncapsulate(const iqr_FrodoKEMPublicKey *public_key, const iqr_RNG *rng, uint8_t *ciphertext, size_t ciphertext_size, uint8_t *shared_key, size_t shared_key_size)
struct iqr_FrodoKEMPrivateKey_struct iqr_FrodoKEMPrivateKey
Definition: iqr_frodokem.h:60
ISARA Radiate Security Solution Suite's Random Number Generator object APIs.
struct iqr_FrodoKEMPublicKey_struct iqr_FrodoKEMPublicKey
Definition: iqr_frodokem.h:57
ISARA Radiate Security Solution Suite's return values.
IQR_API iqr_retval iqr_FrodoKEMExportPrivateKey(const iqr_FrodoKEMPrivateKey *private_key, uint8_t *buf, size_t buf_size)
struct iqr_FrodoKEMVariant_struct iqr_FrodoKEMVariant
Definition: iqr_frodokem.h:63
IQR_API iqr_retval iqr_FrodoKEMDecapsulate(const iqr_FrodoKEMPrivateKey *private_key, const uint8_t *ciphertext, size_t ciphertext_size, uint8_t *shared_key, size_t shared_key_size)
ISARA Radiate Security Solution Suite's API declarations.
IQR_EXTERN const iqr_FrodoKEMVariant IQR_FRODOKEM_976_AES
Definition: iqr_frodokem.h:71
IQR_API iqr_retval iqr_FrodoKEMCreateKeyPair(const iqr_FrodoKEMParams *params, const iqr_RNG *rng, iqr_FrodoKEMPublicKey **public_key, iqr_FrodoKEMPrivateKey **private_key)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_FrodoKEMDestroyPublicKey(iqr_FrodoKEMPublicKey **public_key)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_FrodoKEMDestroyPrivateKey(iqr_FrodoKEMPrivateKey **private_key)
IQR_API iqr_retval iqr_FrodoKEMCreateParams(const iqr_Context *ctx, const iqr_FrodoKEMVariant *variant, iqr_FrodoKEMParams **params)
IQR_API iqr_retval iqr_FrodoKEMExportPublicKey(const iqr_FrodoKEMPublicKey *public_key, uint8_t *buf, size_t buf_size)
IQR_API iqr_retval iqr_FrodoKEMImportPrivateKey(const iqr_FrodoKEMParams *params, const uint8_t *buf, size_t buf_size, iqr_FrodoKEMPrivateKey **private_key)