Botan  2.19.1
Crypto and TLS for C++11
mce_internal.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright Projet SECRET, INRIA, Rocquencourt
3  * (C) Bhaskar Biswas and Nicolas Sendrier
4  *
5  * (C) 2014 cryptosource GmbH
6  * (C) 2014 Falko Strenzke fstrenzke@cryptosource.de
7  *
8  * Botan is released under the Simplified BSD License (see license.txt)
9  *
10  */
11 
12 #ifndef BOTAN_MCELIECE_INTERNAL_H_
13 #define BOTAN_MCELIECE_INTERNAL_H_
14 
15 #include <botan/secmem.h>
16 #include <botan/types.h>
17 #include <botan/pk_ops.h>
18 #include <botan/mceliece.h>
19 #include <botan/polyn_gf2m.h>
20 
21 namespace Botan {
22 
23 void mceliece_decrypt(secure_vector<uint8_t>& plaintext_out,
24  secure_vector<uint8_t>& error_mask_out,
25  const uint8_t ciphertext[],
26  size_t ciphertext_len,
27  const McEliece_PrivateKey& key);
28 
29 void mceliece_decrypt(secure_vector<uint8_t>& plaintext_out,
30  secure_vector<uint8_t>& error_mask_out,
31  const secure_vector<uint8_t>& ciphertext,
32  const McEliece_PrivateKey& key);
33 
34 secure_vector<uint8_t> mceliece_decrypt(
35  secure_vector<gf2m> & error_pos,
36  const uint8_t *ciphertext, size_t ciphertext_len,
37  const McEliece_PrivateKey & key);
38 
39 void mceliece_encrypt(secure_vector<uint8_t>& ciphertext_out,
40  secure_vector<uint8_t>& error_mask_out,
41  const secure_vector<uint8_t>& plaintext,
42  const McEliece_PublicKey& key,
43  RandomNumberGenerator& rng);
44 
45 McEliece_PrivateKey generate_mceliece_key(RandomNumberGenerator &rng,
46  size_t ext_deg,
47  size_t code_length,
48  size_t t);
49 
50 }
51 
52 
53 #endif
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)
Definition: goppa_code.cpp:130
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)
Definition: mceliece.cpp:120
Definition: alg_id.cpp:13
McEliece_PrivateKey generate_mceliece_key(RandomNumberGenerator &rng, size_t ext_deg, size_t code_length, size_t t)