
ISARA Radiate™ Quantum-safe Library Version 3.1
Quantum-safe cryptographic primitives and algorithms.
iqr_kyber.h
Go to the documentation of this file.
33 // ---------------------------------------------------------------------------------------------------------------------------------
35 // ---------------------------------------------------------------------------------------------------------------------------------
40 // ---------------------------------------------------------------------------------------------------------------------------------
42 // ---------------------------------------------------------------------------------------------------------------------------------
56 // ---------------------------------------------------------------------------------------------------------------------------------
58 // ---------------------------------------------------------------------------------------------------------------------------------
72 // ---------------------------------------------------------------------------------------------------------------------------------
74 // ---------------------------------------------------------------------------------------------------------------------------------
92 iqr_retval iqr_KyberCreateParams(const iqr_Context *ctx, const iqr_KyberVariant *variant, iqr_KyberParams **params);
111 // ---------------------------------------------------------------------------------------------------------------------------------
113 // ---------------------------------------------------------------------------------------------------------------------------------
132 iqr_retval iqr_KyberCreateKeyPair(const iqr_KyberParams *params, const iqr_RNG *rng, iqr_KyberPublicKey **public_key,
151 iqr_retval iqr_KyberImportPublicKey(const iqr_KyberParams *params, const uint8_t *buf, size_t buf_size,
175 iqr_retval iqr_KyberImportPrivateKey(const iqr_KyberParams *params, const uint8_t *buf, size_t buf_size,
190 iqr_retval iqr_KyberExportPublicKey(const iqr_KyberPublicKey *public_key, uint8_t *buf, size_t buf_size);
206 iqr_retval iqr_KyberExportPrivateKey(const iqr_KyberPrivateKey *private_key, uint8_t *buf, size_t buf_size);
235 // ---------------------------------------------------------------------------------------------------------------------------------
237 // ---------------------------------------------------------------------------------------------------------------------------------
283 // ---------------------------------------------------------------------------------------------------------------------------------
285 // ---------------------------------------------------------------------------------------------------------------------------------
315 iqr_retval iqr_KyberEncapsulate(const iqr_KyberPublicKey *public_key, const iqr_RNG *rng, uint8_t *ciphertext,
342 iqr_retval iqr_KyberDecapsulate(const iqr_KyberPrivateKey *private_key, const uint8_t *ciphertext, size_t ciphertext_size,
IQR_API iqr_retval iqr_KyberGetSharedKeySize(const iqr_KyberParams *params, size_t *shared_key_size)
IQR_API iqr_retval iqr_KyberGetPrivateKeySize(const iqr_KyberParams *params, size_t *private_key_size)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_KyberDestroyPrivateKey(iqr_KyberPrivateKey **private_key)
IQR_API iqr_retval iqr_KyberExportPrivateKey(const iqr_KyberPrivateKey *private_key, uint8_t *buf, size_t buf_size)
IQR_API iqr_retval iqr_KyberCreateParams(const iqr_Context *ctx, const iqr_KyberVariant *variant, iqr_KyberParams **params)
ISARA Radiate Quantum-Safe Library's Random Number Generator object APIs.
IQR_API iqr_retval iqr_KyberExportPublicKey(const iqr_KyberPublicKey *public_key, uint8_t *buf, size_t buf_size)
IQR_API iqr_retval iqr_KyberGetPublicKeySize(const iqr_KyberParams *params, size_t *public_key_size)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_KyberDestroyParams(iqr_KyberParams **params)
IQR_API iqr_retval iqr_KyberImportPrivateKey(const iqr_KyberParams *params, const uint8_t *buf, size_t buf_size, iqr_KyberPrivateKey **private_key)
ISARA Radiate Quantum-Safe Library's return values.
ISARA Radiate Quantum-Safe Library's API declarations.
IQR_API iqr_retval iqr_KyberCreateKeyPair(const iqr_KyberParams *params, const iqr_RNG *rng, iqr_KyberPublicKey **public_key, iqr_KyberPrivateKey **private_key)
IQR_API iqr_retval iqr_KyberEncapsulate(const iqr_KyberPublicKey *public_key, const iqr_RNG *rng, uint8_t *ciphertext, size_t ciphertext_size, uint8_t *shared_key, size_t shared_key_size)
IQR_API iqr_retval iqr_KyberDecapsulate(const iqr_KyberPrivateKey *private_key, const uint8_t *ciphertext, size_t ciphertext_size, uint8_t *shared_key, size_t shared_key_size)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_KyberDestroyPublicKey(iqr_KyberPublicKey **public_key)
IQR_API iqr_retval iqr_KyberImportPublicKey(const iqr_KyberParams *params, const uint8_t *buf, size_t buf_size, iqr_KyberPublicKey **public_key)
IQR_API iqr_retval iqr_KyberGetCiphertextSize(const iqr_KyberParams *params, size_t *ciphertext_size)