38 lines
747 B
C
38 lines
747 B
C
|
/**
|
||
|
* @file tls_pqibe.h
|
||
|
* @author Mike Scott
|
||
|
* @brief Ducas et al. IBE
|
||
|
*
|
||
|
*/
|
||
|
//
|
||
|
// Lattice-based B&F IBE 128-bit API Functions
|
||
|
// Ducas et al. Method
|
||
|
// Implementation by M.Scott
|
||
|
//
|
||
|
|
||
|
#ifndef PQIBE_H
|
||
|
#define PQIBE_H
|
||
|
|
||
|
#include "core.h"
|
||
|
|
||
|
using namespace core;
|
||
|
|
||
|
/** @brief IBE KEM CCA encrypt
|
||
|
*
|
||
|
@param ID Identity
|
||
|
@param R32 32 random bytes
|
||
|
@param KEY random session key generated
|
||
|
@param CT encapsulating ciphertext
|
||
|
*/
|
||
|
extern void PQIBE_CCA_ENCRYPT(char *ID,octet *R32,octet *KEY,octet *CT);
|
||
|
|
||
|
/** @brief IBE KEM CCA decrypt
|
||
|
*
|
||
|
@param ID Identity
|
||
|
@param csk secret key
|
||
|
@param CT ciphertext
|
||
|
@param KEY output session key
|
||
|
*/
|
||
|
extern void PQIBE_CCA_DECRYPT(char *ID,const int16_t *csk,octet *CT,octet *KEY);
|
||
|
|
||
|
#endif
|