X-Git-Url: https://git.siccegge.de//index.cgi?p=software%2FDIPE.git;a=blobdiff_plain;f=include%2FDIPE.h;h=70d70b82de42a0142b4412902d4851d03c23e99e;hp=2e9c3a8f0d1d03fa6950a31f21dd9a99cb9d967e;hb=d4e7cbce6db6c8a08ca82b12d9eeaa5a4f59fc3e;hpb=9e276a2fee29d54cc7d742b4ab26d4885a70cf6b diff --git a/include/DIPE.h b/include/DIPE.h index 2e9c3a8..70d70b8 100644 --- a/include/DIPE.h +++ b/include/DIPE.h @@ -14,9 +14,16 @@ extern "C" { void dipe_master_keygen(dipe_param_t param, size_t dimension, dipe_master_publickey_t* pk, dipe_master_secretkey_t* sk); void dipe_keygen(dipe_param_t param, dipe_master_secretkey_t msk, char* cid, element_t* y, dipe_secretkey_t* sk); + void dipe_encrypt(dipe_param_t param, dipe_master_publickey_t mpk, element_t* x, size_t ptxt_len, char* ptxt, size_t ctxt_len, char* ctxt); + size_t dipe_decrypt(dipe_param_t param, dipe_secretkey_t sk, char* cid, element_t* y, size_t ctxt_len, char* ctxt, char* ptxt); + size_t dipe_ciphertext_overhead(dipe_param_t param, size_t dimension); + void dipe_encap(dipe_param_t param, dipe_master_publickey_t mpk, element_t* x, element_t ptxt, dipe_ctxt_t* ctxt); void dipe_decap(dipe_param_t param, dipe_secretkey_t sk, char* cid, element_t* y, dipe_ctxt_t ctxt, element_t ptxt); + size_t dipe_serialize_ctxt(dipe_param_t param, dipe_ctxt_t ctxt, uint8_t* buffer); + size_t dipe_deserialize_ctxt(dipe_param_t param, size_t dimension, dipe_ctxt_t* ctxt, uint8_t* buffer); + void dipe_free_param(dipe_param_t param); void dipe_free_master_secretkey(dipe_master_secretkey_t sk); void dipe_free_master_publickey(dipe_master_publickey_t pk);