
ISARA Radiate™ Quantum-safe Library Version 3.1
Quantum-safe cryptographic primitives and algorithms.
iqr_dilithium.h
Go to the documentation of this file.
31 // ---------------------------------------------------------------------------------------------------------------------------------
33 // ---------------------------------------------------------------------------------------------------------------------------------
47 // ---------------------------------------------------------------------------------------------------------------------------------
49 // ---------------------------------------------------------------------------------------------------------------------------------
60 // ---------------------------------------------------------------------------------------------------------------------------------
62 // ---------------------------------------------------------------------------------------------------------------------------------
77 iqr_retval iqr_DilithiumCreateParams(const iqr_Context *ctx, const iqr_DilithiumVariant *variant, iqr_DilithiumParams **params);
95 // ---------------------------------------------------------------------------------------------------------------------------------
97 // ---------------------------------------------------------------------------------------------------------------------------------
118 iqr_retval iqr_DilithiumCreateKeyPair(const iqr_DilithiumParams *params, const iqr_RNG *rng, iqr_DilithiumPublicKey **public_key,
143 iqr_retval iqr_DilithiumImportPublicKey(const iqr_DilithiumParams *params, const uint8_t *buf, size_t buf_size,
169 iqr_retval iqr_DilithiumImportPrivateKey(const iqr_DilithiumParams *params, const uint8_t *buf, size_t buf_size,
184 iqr_retval iqr_DilithiumExportPublicKey(const iqr_DilithiumPublicKey *public_key, uint8_t *buf, size_t buf_size);
200 iqr_retval iqr_DilithiumExportPrivateKey(const iqr_DilithiumPrivateKey *private_key, uint8_t *buf, size_t buf_size);
231 // ---------------------------------------------------------------------------------------------------------------------------------
233 // ---------------------------------------------------------------------------------------------------------------------------------
244 iqr_retval iqr_DilithiumGetPublicKeySize(const iqr_DilithiumParams *params, size_t *public_key_size);
255 iqr_retval iqr_DilithiumGetPrivateKeySize(const iqr_DilithiumParams *params, size_t *private_key_size);
268 // ---------------------------------------------------------------------------------------------------------------------------------
270 // ---------------------------------------------------------------------------------------------------------------------------------
292 iqr_retval iqr_DilithiumSign(const iqr_DilithiumPrivateKey *private_key, const uint8_t *message, size_t message_size, uint8_t *sig,
315 iqr_retval iqr_DilithiumVerify(const iqr_DilithiumPublicKey *public_key, const uint8_t *message, size_t message_size,
IQR_API iqr_retval iqr_DilithiumSign(const iqr_DilithiumPrivateKey *private_key, const uint8_t *message, size_t message_size, uint8_t *sig, size_t sig_size)
ISARA Radiate Quantum-Safe Library's Random Number Generator object APIs.
IQR_API iqr_retval iqr_DilithiumExportPublicKey(const iqr_DilithiumPublicKey *public_key, uint8_t *buf, size_t buf_size)
IQR_API iqr_retval iqr_DilithiumVerify(const iqr_DilithiumPublicKey *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_DilithiumDestroyPrivateKey(iqr_DilithiumPrivateKey **private_key)
IQR_API iqr_retval iqr_DilithiumGetPublicKeySize(const iqr_DilithiumParams *params, size_t *public_key_size)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_DilithiumDestroyPublicKey(iqr_DilithiumPublicKey **public_key)
IQR_API iqr_retval iqr_DilithiumImportPublicKey(const iqr_DilithiumParams *params, const uint8_t *buf, size_t buf_size, iqr_DilithiumPublicKey **public_key)
IQR_API iqr_retval iqr_DilithiumImportPrivateKey(const iqr_DilithiumParams *params, const uint8_t *buf, size_t buf_size, iqr_DilithiumPrivateKey **private_key)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_DilithiumDestroyParams(iqr_DilithiumParams **params)
IQR_API iqr_retval iqr_DilithiumGetPrivateKeySize(const iqr_DilithiumParams *params, size_t *private_key_size)
struct iqr_DilithiumPrivateKey_struct iqr_DilithiumPrivateKey
Definition: iqr_dilithium.h:42
ISARA Radiate Quantum-Safe Library's return values.
ISARA Radiate Quantum-Safe Library's API declarations.
struct iqr_DilithiumVariant_struct iqr_DilithiumVariant
Definition: iqr_dilithium.h:45
IQR_API iqr_retval iqr_DilithiumGetSignatureSize(const iqr_DilithiumParams *params, size_t *sig_size)
IQR_API iqr_retval iqr_DilithiumCreateKeyPair(const iqr_DilithiumParams *params, const iqr_RNG *rng, iqr_DilithiumPublicKey **public_key, iqr_DilithiumPrivateKey **private_key)
struct iqr_DilithiumParams_struct iqr_DilithiumParams
Definition: iqr_dilithium.h:36
IQR_API iqr_retval iqr_DilithiumExportPrivateKey(const iqr_DilithiumPrivateKey *private_key, uint8_t *buf, size_t buf_size)
struct iqr_DilithiumPublicKey_struct iqr_DilithiumPublicKey
Definition: iqr_dilithium.h:39
IQR_API iqr_retval iqr_DilithiumCreateParams(const iqr_Context *ctx, const iqr_DilithiumVariant *variant, iqr_DilithiumParams **params)