cfe_error cfe_ddh_precomp_init(cfe_ddh *s, size_t l, size_t modulus_len, mpz_t bound)
cfe_error cfe_ddh_init(cfe_ddh *s, size_t l, size_t modulus_len, mpz_t bound)
void cfe_ddh_master_keys_init(cfe_vec *msk, cfe_vec *mpk, cfe_ddh *s)
void cfe_ddh_copy(cfe_ddh *res, cfe_ddh *s)
void cfe_ddh_free(cfe_ddh *s)
void cfe_ddh_generate_master_keys(cfe_vec *msk, cfe_vec *mpk, cfe_ddh *s)
cfe_error cfe_ddh_encrypt(cfe_vec *ciphertext, cfe_ddh *s, cfe_vec *x, cfe_vec *mpk)
Vector struct and operations.
cfe_error cfe_ddh_decrypt(mpz_t res, cfe_ddh *s, cfe_vec *ciphertext, mpz_t key, cfe_vec *y)
cfe_error cfe_ddh_derive_fe_key(mpz_t res, cfe_ddh *s, cfe_vec *msk, cfe_vec *y)
void cfe_ddh_ciphertext_init(cfe_vec *ciphertext, cfe_ddh *s)