29 #ifdef BPU_CONF_MECS_CCA2_POINTCHEVAL_GOPPA
33 #ifdef BPU_CONF_MECS_CCA2_POINTCHEVAL_QCMDPC
BPU_T_Code_Ctx * code_ctx
basic qc-mdpc mecs, without any conversion
uint16_t pt_len
PT len in bits.
int BPU_mecsFreeCtx(BPU_T_Mecs_Ctx **ctx)
int(* _encrypt)(BPU_T_GF2_Vector *out, const BPU_T_GF2_Vector *in, const struct _BPU_T_Mecs_Ctx *ctx)
int(* _genKeyPair)(struct _BPU_T_Code_Ctx *ctx)
void BPU_mecsFreeParamsQcmdpc(BPU_T_UN_Mecs_Params *params)
basic mecs, without any conversion
int BPU_mecsInitCtx(BPU_T_Mecs_Ctx **ctx, const BPU_T_UN_Mecs_Params *params, const BPU_T_EN_Mecs_Types type)
Initialize (register) mecs functions for encryption, decryption and key gen based on type...
enum _BPU_T_EN_Mecs_Types BPU_T_EN_Mecs_Types
Possible types of MECS.
int BPU_mecsInitParamsGoppa(BPU_T_UN_Mecs_Params *params, const uint16_t m, const uint16_t t, const BPU_T_GF2_16x mod)
int(* _decrypt)(BPU_T_GF2_Vector *out, const BPU_T_GF2_Vector *in, const struct _BPU_T_Mecs_Ctx *ctx)
uint16_t ct_len
CT len in bits.
adapted Pointcheval's cca2 conversion
void BPU_mecsFreeParamsGoppa(BPU_T_UN_Mecs_Params *params)
adapted Pointcheval's cca2 conversion for qcmdpc
int BPU_mecsInitParamsQcmdpc(BPU_T_UN_Mecs_Params *params, const uint16_t m, const uint16_t n0, const uint16_t w, const uint16_t t)
_BPU_T_EN_Mecs_Types
Possible types of MECS.
struct _BPU_T_Mecs_Ctx BPU_T_Mecs_Ctx