
ISARA Radiate Security Solution Suite Toolkit Edition Version 1.5
Quantum-safe cryptographic primitives and algorithms.
iqr_dilithium.h
Go to the documentation of this file.
30 // ---------------------------------------------------------------------------------------------------------------------------------
32 // ---------------------------------------------------------------------------------------------------------------------------------
46 // ---------------------------------------------------------------------------------------------------------------------------------
48 // ---------------------------------------------------------------------------------------------------------------------------------
58 // ---------------------------------------------------------------------------------------------------------------------------------
60 // ---------------------------------------------------------------------------------------------------------------------------------
75 iqr_retval iqr_DilithiumCreateParams(const iqr_Context *ctx, const iqr_DilithiumVariant *variant, iqr_DilithiumParams **params);
93 // ---------------------------------------------------------------------------------------------------------------------------------
95 // ---------------------------------------------------------------------------------------------------------------------------------
114 iqr_retval iqr_DilithiumCreateKeyPair(const iqr_DilithiumParams *params, const iqr_RNG *rng, iqr_DilithiumPublicKey **public_key,
138 iqr_retval iqr_DilithiumImportPublicKey(const iqr_DilithiumParams *params, const uint8_t *buf, size_t buf_size,
163 iqr_retval iqr_DilithiumImportPrivateKey(const iqr_DilithiumParams *params, const uint8_t *buf, size_t buf_size,
178 iqr_retval iqr_DilithiumExportPublicKey(const iqr_DilithiumPublicKey *public_key, uint8_t *buf, size_t buf_size);
194 iqr_retval iqr_DilithiumExportPrivateKey(const iqr_DilithiumPrivateKey *private_key, uint8_t *buf, size_t buf_size);
224 // ---------------------------------------------------------------------------------------------------------------------------------
226 // ---------------------------------------------------------------------------------------------------------------------------------
237 iqr_retval iqr_DilithiumGetPublicKeySize(const iqr_DilithiumParams *params, size_t *public_key_size);
248 iqr_retval iqr_DilithiumGetPrivateKeySize(const iqr_DilithiumParams *params, size_t *private_key_size);
261 // ---------------------------------------------------------------------------------------------------------------------------------
263 // ---------------------------------------------------------------------------------------------------------------------------------
288 iqr_retval iqr_DilithiumSign(const iqr_DilithiumPrivateKey *private_key, const uint8_t *message, size_t message_size, uint8_t *sig,
314 iqr_retval iqr_DilithiumVerify(const iqr_DilithiumPublicKey *public_key, const uint8_t *message, size_t message_size,
struct iqr_DilithiumVariant_struct iqr_DilithiumVariant
Definition: iqr_dilithium.h:44
IQR_API_UNENFORCED_RETURN iqr_retval iqr_DilithiumDestroyPublicKey(iqr_DilithiumPublicKey **public_key)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_DilithiumDestroyParams(iqr_DilithiumParams **params)
IQR_API iqr_retval iqr_DilithiumImportPrivateKey(const iqr_DilithiumParams *params, const uint8_t *buf, size_t buf_size, iqr_DilithiumPrivateKey **private_key)
IQR_EXTERN const iqr_DilithiumVariant IQR_DILITHIUM_160
Definition: iqr_dilithium.h:56
ISARA Radiate Security Solution Suite's Random Number Generator object APIs.
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)
ISARA Radiate Security Solution Suite's return values.
IQR_API iqr_retval iqr_DilithiumCreateKeyPair(const iqr_DilithiumParams *params, const iqr_RNG *rng, iqr_DilithiumPublicKey **public_key, iqr_DilithiumPrivateKey **private_key)
struct iqr_DilithiumPrivateKey_struct iqr_DilithiumPrivateKey
Definition: iqr_dilithium.h:41
IQR_API iqr_retval iqr_DilithiumGetPrivateKeySize(const iqr_DilithiumParams *params, size_t *private_key_size)
IQR_API iqr_retval iqr_DilithiumExportPublicKey(const iqr_DilithiumPublicKey *public_key, uint8_t *buf, size_t buf_size)
IQR_API iqr_retval iqr_DilithiumGetSignatureSize(const iqr_DilithiumParams *params, size_t *sig_size)
ISARA Radiate Security Solution Suite's API declarations.
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)
IQR_API iqr_retval iqr_DilithiumGetPublicKeySize(const iqr_DilithiumParams *params, size_t *public_key_size)
IQR_API iqr_retval iqr_DilithiumImportPublicKey(const iqr_DilithiumParams *params, const uint8_t *buf, size_t buf_size, iqr_DilithiumPublicKey **public_key)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_DilithiumDestroyPrivateKey(iqr_DilithiumPrivateKey **private_key)
IQR_EXTERN const iqr_DilithiumVariant IQR_DILITHIUM_128
Definition: iqr_dilithium.h:52
IQR_API iqr_retval iqr_DilithiumCreateParams(const iqr_Context *ctx, const iqr_DilithiumVariant *variant, iqr_DilithiumParams **params)
IQR_API iqr_retval iqr_DilithiumExportPrivateKey(const iqr_DilithiumPrivateKey *private_key, uint8_t *buf, size_t buf_size)
struct iqr_DilithiumParams_struct iqr_DilithiumParams
Definition: iqr_dilithium.h:35
struct iqr_DilithiumPublicKey_struct iqr_DilithiumPublicKey
Definition: iqr_dilithium.h:38