
ISARA Radiate™ Quantum-safe Library Version 3.1
Quantum-safe cryptographic primitives and algorithms.
iqr_classicmceliece.h
Go to the documentation of this file.
33 // ---------------------------------------------------------------------------------------------------------------------------------
35 // ---------------------------------------------------------------------------------------------------------------------------------
40 // ---------------------------------------------------------------------------------------------------------------------------------
42 // ---------------------------------------------------------------------------------------------------------------------------------
56 // ---------------------------------------------------------------------------------------------------------------------------------
58 // ---------------------------------------------------------------------------------------------------------------------------------
68 // ---------------------------------------------------------------------------------------------------------------------------------
70 // ---------------------------------------------------------------------------------------------------------------------------------
85 iqr_retval iqr_ClassicMcElieceCreateParams(const iqr_Context *ctx, const iqr_ClassicMcElieceVariant *variant,
106 // ---------------------------------------------------------------------------------------------------------------------------------
108 // ---------------------------------------------------------------------------------------------------------------------------------
129 iqr_retval iqr_ClassicMcElieceCreateKeyPair(const iqr_ClassicMcElieceParams *params, const iqr_RNG *rng,
149 iqr_retval iqr_ClassicMcElieceImportPublicKey(const iqr_ClassicMcElieceParams *params, const uint8_t *buf, size_t buf_size,
174 iqr_retval iqr_ClassicMcElieceImportPrivateKey(const iqr_ClassicMcElieceParams *params, const uint8_t *buf, size_t buf_size,
189 iqr_retval iqr_ClassicMcElieceExportPublicKey(const iqr_ClassicMcEliecePublicKey *public_key, uint8_t *buf, size_t buf_size);
205 iqr_retval iqr_ClassicMcElieceExportPrivateKey(const iqr_ClassicMcEliecePrivateKey *private_key, uint8_t *buf, size_t buf_size);
236 // ---------------------------------------------------------------------------------------------------------------------------------
238 // ---------------------------------------------------------------------------------------------------------------------------------
249 iqr_retval iqr_ClassicMcElieceGetPublicKeySize(const iqr_ClassicMcElieceParams *params, size_t *public_key_size);
260 iqr_retval iqr_ClassicMcElieceGetPrivateKeySize(const iqr_ClassicMcElieceParams *params, size_t *private_key_size);
271 iqr_retval iqr_ClassicMcElieceGetCiphertextSize(const iqr_ClassicMcElieceParams *params, size_t *ciphertext_size);
282 iqr_retval iqr_ClassicMcElieceGetSharedKeySize(const iqr_ClassicMcElieceParams *params, size_t *shared_key_size);
284 // ---------------------------------------------------------------------------------------------------------------------------------
286 // ---------------------------------------------------------------------------------------------------------------------------------
316 iqr_retval iqr_ClassicMcElieceEncapsulate(const iqr_ClassicMcEliecePublicKey *public_key, const iqr_RNG *rng, uint8_t *ciphertext,
343 iqr_retval iqr_ClassicMcElieceDecapsulate(const iqr_ClassicMcEliecePrivateKey *private_key, const uint8_t *ciphertext,
ISARA Radiate Quantum-Safe Library's Random Number Generator object APIs.
const IQR_EXTERN iqr_ClassicMcElieceVariant IQR_CLASSICMCELIECE_6
Definition: iqr_classicmceliece.h:62
IQR_API_UNENFORCED_RETURN iqr_retval iqr_ClassicMcElieceDestroyPublicKey(iqr_ClassicMcEliecePublicKey **public_key)
IQR_API iqr_retval iqr_ClassicMcElieceGetPrivateKeySize(const iqr_ClassicMcElieceParams *params, size_t *private_key_size)
IQR_API iqr_retval iqr_ClassicMcElieceCreateParams(const iqr_Context *ctx, const iqr_ClassicMcElieceVariant *variant, iqr_ClassicMcElieceParams **params)
IQR_API iqr_retval iqr_ClassicMcElieceExportPrivateKey(const iqr_ClassicMcEliecePrivateKey *private_key, uint8_t *buf, size_t buf_size)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_ClassicMcElieceDestroyParams(iqr_ClassicMcElieceParams **params)
struct iqr_ClassicMcEliecePublicKey_struct iqr_ClassicMcEliecePublicKey
Definition: iqr_classicmceliece.h:48
IQR_API iqr_retval iqr_ClassicMcElieceGetSharedKeySize(const iqr_ClassicMcElieceParams *params, size_t *shared_key_size)
IQR_API iqr_retval iqr_ClassicMcElieceEncapsulate(const iqr_ClassicMcEliecePublicKey *public_key, const iqr_RNG *rng, uint8_t *ciphertext, size_t ciphertext_size, uint8_t *shared_key, size_t shared_key_size)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_ClassicMcElieceDestroyPrivateKey(iqr_ClassicMcEliecePrivateKey **private_key)
struct iqr_ClassicMcElieceVariant_struct iqr_ClassicMcElieceVariant
Definition: iqr_classicmceliece.h:54
ISARA Radiate Quantum-Safe Library's return values.
IQR_API iqr_retval iqr_ClassicMcElieceImportPrivateKey(const iqr_ClassicMcElieceParams *params, const uint8_t *buf, size_t buf_size, iqr_ClassicMcEliecePrivateKey **private_key)
ISARA Radiate Quantum-Safe Library's API declarations.
IQR_API iqr_retval iqr_ClassicMcElieceDecapsulate(const iqr_ClassicMcEliecePrivateKey *private_key, const uint8_t *ciphertext, size_t ciphertext_size, uint8_t *shared_key, size_t shared_key_size)
IQR_API iqr_retval iqr_ClassicMcElieceGetCiphertextSize(const iqr_ClassicMcElieceParams *params, size_t *ciphertext_size)
IQR_API iqr_retval iqr_ClassicMcElieceCreateKeyPair(const iqr_ClassicMcElieceParams *params, const iqr_RNG *rng, iqr_ClassicMcEliecePublicKey **public_key, iqr_ClassicMcEliecePrivateKey **private_key)
IQR_API iqr_retval iqr_ClassicMcElieceImportPublicKey(const iqr_ClassicMcElieceParams *params, const uint8_t *buf, size_t buf_size, iqr_ClassicMcEliecePublicKey **public_key)
struct iqr_ClassicMcEliecePrivateKey_struct iqr_ClassicMcEliecePrivateKey
Definition: iqr_classicmceliece.h:51
struct iqr_ClassicMcElieceParams_struct iqr_ClassicMcElieceParams
Definition: iqr_classicmceliece.h:45
IQR_API iqr_retval iqr_ClassicMcElieceGetPublicKeySize(const iqr_ClassicMcElieceParams *params, size_t *public_key_size)
IQR_API iqr_retval iqr_ClassicMcElieceExportPublicKey(const iqr_ClassicMcEliecePublicKey *public_key, uint8_t *buf, size_t buf_size)
const IQR_EXTERN iqr_ClassicMcElieceVariant IQR_CLASSICMCELIECE_8
Definition: iqr_classicmceliece.h:66