2019-01-15 15:03:38 +00:00
|
|
|
#ifndef KEX_H
|
|
|
|
#define KEX_H
|
|
|
|
|
|
|
|
#include "api.h"
|
2019-01-15 15:34:01 +00:00
|
|
|
#include "params.h"
|
2019-01-15 15:03:38 +00:00
|
|
|
|
|
|
|
#define KYBER_UAKE_SENDABYTES (KYBER_PUBLICKEYBYTES + KYBER_CIPHERTEXTBYTES)
|
|
|
|
#define KYBER_UAKE_SENDBBYTES (KYBER_CIPHERTEXTBYTES)
|
|
|
|
|
|
|
|
#define KYBER_AKE_SENDABYTES (KYBER_PUBLICKEYBYTES + KYBER_CIPHERTEXTBYTES)
|
2019-01-15 15:34:01 +00:00
|
|
|
#define KYBER_AKE_SENDBBYTES (2 * KYBER_CIPHERTEXTBYTES)
|
2019-01-15 15:03:38 +00:00
|
|
|
|
|
|
|
typedef unsigned char u8;
|
|
|
|
|
2019-01-22 16:38:22 +00:00
|
|
|
void PQCLEAN_KYBER768_kyber_uake_initA(u8 *send, u8 *tk, u8 *sk, const u8 *pkb);
|
2019-01-15 15:03:38 +00:00
|
|
|
|
2019-01-22 16:38:22 +00:00
|
|
|
void PQCLEAN_KYBER768_kyber_uake_sharedB(u8 *send, u8 *k, const u8 *recv,
|
2019-02-13 16:45:09 +00:00
|
|
|
const u8 *skb);
|
2019-01-15 15:03:38 +00:00
|
|
|
|
2019-01-22 16:38:22 +00:00
|
|
|
void PQCLEAN_KYBER768_kyber_uake_sharedA(u8 *k, const u8 *recv, const u8 *tk,
|
2019-02-13 16:45:09 +00:00
|
|
|
const u8 *sk);
|
2019-01-15 15:03:38 +00:00
|
|
|
|
2019-01-22 16:38:22 +00:00
|
|
|
void PQCLEAN_KYBER768_kyber_ake_initA(u8 *send, u8 *tk, u8 *sk, const u8 *pkb);
|
2019-01-15 15:03:38 +00:00
|
|
|
|
2019-01-22 16:38:22 +00:00
|
|
|
void PQCLEAN_KYBER768_kyber_ake_sharedB(u8 *send, u8 *k, const u8 *recv,
|
|
|
|
const u8 *skb, const u8 *pka);
|
2019-01-15 15:03:38 +00:00
|
|
|
|
2019-01-22 16:38:22 +00:00
|
|
|
void PQCLEAN_KYBER768_kyber_ake_sharedA(u8 *k, const u8 *recv, const u8 *tk,
|
|
|
|
const u8 *sk, const u8 *ska);
|
2019-01-15 15:03:38 +00:00
|
|
|
|
|
|
|
#endif
|