12 #ifndef BOTAN_MCELIECE_INTERNAL_H__
13 #define BOTAN_MCELIECE_INTERNAL_H__
15 #include <botan/secmem.h>
16 #include <botan/types.h>
17 #include <botan/pk_ops.h>
18 #include <botan/mceliece.h>
23 secure_vector<uint8_t>& error_mask_out,
24 const uint8_t ciphertext[],
25 size_t ciphertext_len,
26 const McEliece_PrivateKey& key);
29 secure_vector<uint8_t>& error_mask_out,
30 const secure_vector<uint8_t>& ciphertext,
31 const McEliece_PrivateKey& key);
34 secure_vector<gf2m> & error_pos,
35 const uint8_t *ciphertext, uint32_t ciphertext_len,
36 const McEliece_PrivateKey & key);
39 secure_vector<uint8_t>& error_mask_out,
40 const secure_vector<uint8_t>& plaintext,
41 const McEliece_PublicKey& key,
42 RandomNumberGenerator& rng);
void mceliece_decrypt(secure_vector< uint8_t > &plaintext_out, secure_vector< uint8_t > &error_mask_out, const secure_vector< uint8_t > &ciphertext, const McEliece_PrivateKey &key)
void mceliece_encrypt(secure_vector< uint8_t > &ciphertext_out, secure_vector< uint8_t > &error_mask_out, const secure_vector< uint8_t > &plaintext, const McEliece_PublicKey &key, RandomNumberGenerator &rng)
McEliece_PrivateKey generate_mceliece_key(RandomNumberGenerator &rng, uint32_t ext_deg, uint32_t code_length, uint32_t t)