Botan 2.19.3
Crypto and TLS for C&
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
21namespace Botan {
22
23void 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
29void 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
34secure_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
39void 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
45McEliece_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)
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
McEliece_PrivateKey generate_mceliece_key(RandomNumberGenerator &rng, size_t ext_deg, size_t code_length, size_t t)