2
* CECPQ1 (x25519 + NewHope)
5
* Botan is released under the Simplified BSD License (see license.txt)
8
#ifndef BOTAN_CECPQ1_H_
9
#define BOTAN_CECPQ1_H_
11
#include <botan/secmem.h>
12
#include <botan/newhope.h>
16
class CECPQ1_key final
19
secure_vector<uint8_t> m_x25519;
20
newhope_poly m_newhope;
23
void BOTAN_PUBLIC_API(2,0) CECPQ1_offer(uint8_t* offer_message,
24
CECPQ1_key* offer_key_output,
25
RandomNumberGenerator& rng);
27
void BOTAN_PUBLIC_API(2,0) CECPQ1_accept(uint8_t* shared_key,
28
uint8_t* accept_message,
29
const uint8_t* offer_message,
30
RandomNumberGenerator& rng);
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);