35 #ifndef IQR_MCELIECE_H 36 #define IQR_MCELIECE_H 130 IQR_API_UNENFORCED_RETURN
275 IQR_API_UNENFORCED_RETURN
287 IQR_API_UNENFORCED_RETURN
369 size_t plaintext_size, uint8_t *ciphertext,
size_t ciphertext_size);
405 uint8_t *plaintext,
size_t *plaintext_size);
IQR_API_UNENFORCED_RETURN iqr_retval iqr_McElieceDestroyPrivateKey(iqr_McEliecePrivateKey **priv_key)
IQR_API iqr_retval iqr_McElieceExportPublicKey(const iqr_McEliecePublicKey *pub_key, uint8_t *buf, size_t buf_size)
IQR_API iqr_retval iqr_McElieceDecrypt(const iqr_McEliecePrivateKey *priv_key, const uint8_t *ciphertext, size_t ciphertext_size, uint8_t *plaintext, size_t *plaintext_size)
IQR_API iqr_retval iqr_McElieceImportPrivateKey(const iqr_McElieceParams *params, const uint8_t *data, size_t size, iqr_McEliecePrivateKey **priv_key)
iqr_McElieceKeySize
Definition: iqr_mceliece.h:72
128 bits of security.
Definition: iqr_mceliece.h:73
IQR_API iqr_retval iqr_McElieceGetPrivateKeySize(const iqr_McEliecePrivateKey *priv_key, size_t *size)
IQR_API iqr_retval iqr_McElieceCreateParams(const iqr_Context *ctx, iqr_HashAlgorithmType hash_algo, iqr_McElieceKeySize public_key_size, iqr_McElieceParams **params)
256 bits of security.
Definition: iqr_mceliece.h:77
iqr_HashAlgorithmType
Definition: iqr_hash.h:50
256 bits of security.
Definition: iqr_mceliece.h:78
IQR_API iqr_retval iqr_McElieceImportPublicKey(const iqr_McElieceParams *params, const uint8_t *data, size_t size, iqr_McEliecePublicKey **pub_key)
IQR_API iqr_retval iqr_McElieceGetPublicKeySize(const iqr_McEliecePublicKey *pub_key, size_t *size)
IQR_API iqr_retval iqr_McElieceGetPublicKeyParams(const iqr_McEliecePublicKey *pub_key, iqr_McElieceParams **params)
struct iqr_McElieceParams_struct iqr_McElieceParams
Definition: iqr_mceliece.h:54
struct iqr_McEliecePrivateKey_struct iqr_McEliecePrivateKey
Definition: iqr_mceliece.h:60
struct iqr_RNG_struct iqr_RNG
Definition: iqr_rng.h:48
256 bits of security.
Definition: iqr_mceliece.h:79
IQR_API iqr_retval iqr_McElieceGetPrivateKeyParams(const iqr_McEliecePrivateKey *priv_key, iqr_McElieceParams **params)
struct iqr_Context_struct iqr_Context
Definition: iqr_context.h:33
IQR_API iqr_retval iqr_McElieceExportPrivateKey(const iqr_McEliecePrivateKey *priv_key, uint8_t *buf, size_t buf_size)
IQR_API iqr_retval iqr_McElieceEncrypt(const iqr_McEliecePublicKey *pub_key, const iqr_RNG *rng, const uint8_t *plaintext, size_t plaintext_size, uint8_t *ciphertext, size_t ciphertext_size)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_McElieceDestroyPublicKey(iqr_McEliecePublicKey **pub_key)
IQR_API_UNENFORCED_RETURN iqr_retval iqr_McElieceDestroyParams(iqr_McElieceParams **params)
IQR_API iqr_retval iqr_McElieceCreateKeyPair(const iqr_McElieceParams *params, const iqr_RNG *rng, iqr_McEliecePublicKey **pub_key, iqr_McEliecePrivateKey **priv_key)
struct iqr_McEliecePublicKey_struct iqr_McEliecePublicKey
Definition: iqr_mceliece.h:57
IQR_API iqr_retval iqr_McElieceGetPlaintextSize(const iqr_McElieceParams *params, size_t ciphertext_size, size_t *plaintext_size)
IQR_API iqr_retval iqr_McElieceGetCiphertextSize(const iqr_McElieceParams *params, size_t plaintext_size, size_t *ciphertext_size)
iqr_retval
Definition: iqr_retval.h:26
128 bits of security.
Definition: iqr_mceliece.h:75
128 bits of security.
Definition: iqr_mceliece.h:74