
ISARA Radiate Security Solution Suite Toolkit Edition Version 1.5
Quantum-safe cryptographic primitives and algorithms.
iqr_rainbow.h
Go to the documentation of this file.
46 // ---------------------------------------------------------------------------------------------------------------------------------
48 // ---------------------------------------------------------------------------------------------------------------------------------
62 // ---------------------------------------------------------------------------------------------------------------------------------
64 // ---------------------------------------------------------------------------------------------------------------------------------
102 // ---------------------------------------------------------------------------------------------------------------------------------
104 // ---------------------------------------------------------------------------------------------------------------------------------
124 iqr_retval iqr_RainbowCreateParams(const iqr_Context *ctx, const iqr_RainbowVariant *variant, iqr_RainbowParams **params);
142 // ---------------------------------------------------------------------------------------------------------------------------------
144 // ---------------------------------------------------------------------------------------------------------------------------------
170 iqr_retval iqr_RainbowCreateKeyPair(const iqr_RainbowParams *params, const iqr_RNG *rng, iqr_RainbowPublicKey **public_key,
191 iqr_retval iqr_RainbowImportPrivateKey(const iqr_RainbowParams *params, const uint8_t *buf, size_t buf_size,
208 iqr_retval iqr_RainbowExportPrivateKey(const iqr_RainbowPrivateKey *private_key, uint8_t *buf, size_t buf_size);
227 iqr_retval iqr_RainbowImportPublicKey(const iqr_RainbowParams *params, const uint8_t *buf, size_t buf_size,
242 iqr_retval iqr_RainbowExportPublicKey(const iqr_RainbowPublicKey *public_key, uint8_t *buf, size_t buf_size);
280 iqr_retval iqr_RainbowGetPrivateKeySize(const iqr_RainbowParams *params, size_t *private_key_size);
291 iqr_retval iqr_RainbowGetPublicKeySize(const iqr_RainbowParams *params, size_t *public_key_size);
293 // ---------------------------------------------------------------------------------------------------------------------------------
295 // ---------------------------------------------------------------------------------------------------------------------------------
334 iqr_retval iqr_RainbowSign(const iqr_RainbowPrivateKey *private_key, const iqr_RNG *rng, const uint8_t *message,
357 iqr_retval iqr_RainbowVerify(const iqr_RainbowPublicKey *public_key, const uint8_t *message, size_t message_size,
IQR_API iqr_retval iqr_RainbowVerify(const iqr_RainbowPublicKey *public_key, const uint8_t *message, size_t message_size, const uint8_t *sig, size_t sig_size)
IQR_API iqr_retval iqr_RainbowExportPrivateKey(const iqr_RainbowPrivateKey *private_key, uint8_t *buf, size_t buf_size)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_RainbowDestroyParams(iqr_RainbowParams **params)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_RainbowDestroyPrivateKey(iqr_RainbowPrivateKey **private_key)
IQR_API iqr_retval iqr_RainbowExportPublicKey(const iqr_RainbowPublicKey *public_key, uint8_t *buf, size_t buf_size)
ISARA Radiate Security Solution Suite's Random Number Generator object APIs.
IQR_API iqr_retval iqr_RainbowGetSignatureSize(const iqr_RainbowParams *params, size_t *sig_size)
IQR_EXTERN const iqr_RainbowVariant IQR_RAINBOW_GF256_92_48_48
Definition: iqr_rainbow.h:101
ISARA Radiate Security Solution Suite's return values.
IQR_API_UNENFORCED_RETURN iqr_retval iqr_RainbowDestroyPublicKey(iqr_RainbowPublicKey **public_key)
IQR_EXTERN const iqr_RainbowVariant IQR_RAINBOW_GF31_64_32_48
Definition: iqr_rainbow.h:83
struct iqr_RainbowPublicKey_struct iqr_RainbowPublicKey
Definition: iqr_rainbow.h:55
IQR_API iqr_retval iqr_RainbowCreateKeyPair(const iqr_RainbowParams *params, const iqr_RNG *rng, iqr_RainbowPublicKey **public_key, iqr_RainbowPrivateKey **private_key)
IQR_EXTERN const iqr_RainbowVariant IQR_RAINBOW_GF16_76_64_64
Definition: iqr_rainbow.h:77
IQR_EXTERN const iqr_RainbowVariant IQR_RAINBOW_GF256_68_36_36
Definition: iqr_rainbow.h:95
struct iqr_RainbowPrivateKey_struct iqr_RainbowPrivateKey
Definition: iqr_rainbow.h:58
IQR_EXTERN const iqr_RainbowVariant IQR_RAINBOW_GF16_56_48_48
Definition: iqr_rainbow.h:71
IQR_API iqr_retval iqr_RainbowSign(const iqr_RainbowPrivateKey *private_key, const iqr_RNG *rng, const uint8_t *message, size_t message_size, uint8_t *sig, size_t sig_size)
ISARA Radiate Security Solution Suite's API declarations.
IQR_API iqr_retval iqr_RainbowCreateParams(const iqr_Context *ctx, const iqr_RainbowVariant *variant, iqr_RainbowParams **params)
IQR_API iqr_retval iqr_RainbowImportPublicKey(const iqr_RainbowParams *params, const uint8_t *buf, size_t buf_size, iqr_RainbowPublicKey **public_key)
IQR_API iqr_retval iqr_RainbowGetPublicKeySize(const iqr_RainbowParams *params, size_t *public_key_size)
IQR_EXTERN const iqr_RainbowVariant IQR_RAINBOW_GF31_84_56_56
Definition: iqr_rainbow.h:89
IQR_API iqr_retval iqr_RainbowGetPrivateKeySize(const iqr_RainbowParams *params, size_t *private_key_size)
IQR_API iqr_retval iqr_RainbowImportPrivateKey(const iqr_RainbowParams *params, const uint8_t *buf, size_t buf_size, iqr_RainbowPrivateKey **private_key)