Botan  2.4.0
Crypto and TLS for C++11
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 final
17  {
18  public:
21  };
22 
23 void BOTAN_PUBLIC_API(2,0) CECPQ1_offer(uint8_t* offer_message,
24  CECPQ1_key* offer_key_output,
26 
27 void BOTAN_PUBLIC_API(2,0) CECPQ1_accept(uint8_t* shared_key,
28  uint8_t* accept_message,
29  const uint8_t* offer_message,
31 
32 void BOTAN_PUBLIC_API(2,0) CECPQ1_finish(uint8_t* shared_key,
33  const CECPQ1_key& offer_key,
34  const uint8_t* accept_message);
35 
36 }
37 
38 #endif
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:41
newhope_poly m_newhope
Definition: cecpq1.h:20
#define BOTAN_PUBLIC_API(maj, min)
Definition: compiler.h:27
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:26
Definition: alg_id.cpp:13
secure_vector< uint8_t > m_x25519
Definition: cecpq1.h:19
void CECPQ1_offer(uint8_t send[CECPQ1_OFFER_BYTES], CECPQ1_key *offer_key_output, RandomNumberGenerator &rng)
Definition: cecpq1.cpp:15
std::vector< T, secure_allocator< T > > secure_vector
Definition: secmem.h:88