5 typedef struct dipe_param
* dipe_param_t
;
6 typedef struct dipe_master_publickey
* dipe_master_publickey_t
;
7 typedef struct dipe_master_secretkey
* dipe_master_secretkey_t
;
8 typedef struct dipe_secretkey
* dipe_secretkey_t
;
9 typedef struct dipe_ctxt
* dipe_ctxt_t
;
11 void dipe_init(FILE* configfp
, dipe_param_t
* param
);
12 pairing_t
* dipe_get_pairing(dipe_param_t param
);
14 void dipe_master_keygen(dipe_param_t param
, size_t dimension
, dipe_master_publickey_t
* pk
, dipe_master_secretkey_t
* sk
);
15 void dipe_keygen(dipe_param_t param
, dipe_master_secretkey_t msk
, char* cid
, element_t
* y
, dipe_secretkey_t
* sk
);
17 void dipe_encap(dipe_param_t param
, dipe_master_publickey_t mpk
, element_t
* x
, element_t ptxt
, dipe_ctxt_t
* ctxt
);
18 void dipe_decap(dipe_param_t param
, dipe_secretkey_t sk
, char* cid
, element_t
* y
, dipe_ctxt_t ctxt
, element_t ptxt
);
20 void dipe_free_param(dipe_param_t param
);
21 void dipe_free_master_secretkey(dipe_master_secretkey_t sk
);
22 void dipe_free_master_publickey(dipe_master_publickey_t pk
);
23 void dipe_free_secretkey(dipe_secretkey_t sk
);
24 void dipe_free_ctxt(dipe_ctxt_t ctxt
);