Botan 2.1.0 Crypto and TLS for C++11

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

cecpq1.h
Go to the documentation of this file.
1 /*
2 * CECPQ1 (x25519 + NewHope)
3 * (C) 2016 Jack Lloyd
4 *
5 * Botan is released under the Simplified BSD License (see license.txt)
6 */
7
8 #ifndef BOTAN_CECPQ1_H__
9 #define BOTAN_CECPQ1_H__
10
11 #include <botan/secmem.h>
12 #include <botan/newhope.h>
13
14 namespace Botan {
15
16 class CECPQ1_key
17 {
18 public:
19 secure_vector<uint8_t> m_x25519;
20 newhope_poly m_newhope;
21 };
22
23 void BOTAN_DLL CECPQ1_offer(uint8_t* offer_message,
24 CECPQ1_key* offer_key_output,
25 RandomNumberGenerator& rng);
26
27 void BOTAN_DLL CECPQ1_accept(uint8_t* shared_key,
28 uint8_t* accept_message,
29 const uint8_t* offer_message,
30 RandomNumberGenerator& rng);
31
32 void BOTAN_DLL CECPQ1_finish(uint8_t* shared_key,
33 const CECPQ1_key& offer_key,
34 const uint8_t* accept_message);
35
36 }
37
38 #endif
Botan::CECPQ1_finish
void CECPQ1_finish(uint8_t shared_key[CECPQ1_SHARED_KEY_BYTES], const CECPQ1_key &offer_key, const uint8_t received[CECPQ1_ACCEPT_BYTES])
Definition: cecpq1.cpp:40
Botan::CECPQ1_key::m_newhope
newhope_poly m_newhope
Definition: cecpq1.h:20
Botan::CECPQ1_key
Definition: cecpq1.h:16
Botan::RandomNumberGenerator
Definition: rng.h:25
Botan::newhope_poly
Definition: newhope.h:26
Botan::secure_vector
std::vector< T, secure_allocator< T >> secure_vector
Definition: secmem.h:121
Botan::CECPQ1_accept
void CECPQ1_accept(uint8_t shared_key[CECPQ1_SHARED_KEY_BYTES], uint8_t send[CECPQ1_ACCEPT_BYTES], const uint8_t received[CECPQ1_OFFER_BYTES], RandomNumberGenerator &rng)
Definition: cecpq1.cpp:25
Botan
Definition: alg_id.cpp:13
Botan::CECPQ1_key::m_x25519
secure_vector< uint8_t > m_x25519
Definition: cecpq1.h:19
Botan::CECPQ1_offer
void CECPQ1_offer(uint8_t send[CECPQ1_OFFER_BYTES], CECPQ1_key *offer_key_output, RandomNumberGenerator &rng)
Definition: cecpq1.cpp:14