Go to the documentation of this file.
17 #ifndef CIFER_DAMGARD_MULTI_H
18 #define CIFER_DAMGARD_MULTI_H
Definition: damgard_multi.h:33
struct cfe_damgard_multi cfe_damgard_multi
void cfe_damgard_multi_sec_key_free(cfe_damgard_multi_sec_key *key)
void cfe_damgard_multi_fe_key_free(cfe_damgard_multi_fe_key *key)
cfe_error cfe_damgard_multi_encrypt(cfe_vec *ciphertext, cfe_damgard_multi_client *e, cfe_vec *x, cfe_vec *pub_key, cfe_vec *otp)
void cfe_damgard_multi_generate_master_keys(cfe_mat *mpk, cfe_damgard_multi_sec_key *msk, cfe_damgard_multi *m)
cfe_error cfe_damgard_multi_precomp_init(cfe_damgard_multi *m, size_t num_clients, size_t l, size_t modulus_len, mpz_t bound)
void cfe_damgard_multi_client_init(cfe_damgard_multi_client *e, cfe_damgard_multi *m)
Matrix struct and operations.
Definition: damgard_multi.h:42
Definition: damgard_multi.h:61
cfe_error cfe_damgard_multi_init(cfe_damgard_multi *m, size_t num_clients, size_t l, size_t modulus_len, mpz_t bound)
struct cfe_damgard_multi_fe_key cfe_damgard_multi_fe_key
struct cfe_damgard_multi_sec_key cfe_damgard_multi_sec_key
void cfe_damgard_multi_fe_key_init(cfe_damgard_multi_fe_key *fe_key, cfe_damgard_multi *m)
void cfe_damgard_multi_client_free(cfe_damgard_multi_client *e)
Definition: damgard_multi.h:52
struct cfe_damgard_multi_client cfe_damgard_multi_client
cfe_error cfe_damgard_multi_decrypt(mpz_t res, cfe_damgard_multi *m, cfe_vec *ciphertext, cfe_damgard_multi_fe_key *fe_key, cfe_mat *y)
void cfe_damgard_multi_copy(cfe_damgard_multi *res, cfe_damgard_multi *m)
void cfe_damgard_multi_master_keys_init(cfe_mat *mpk, cfe_damgard_multi_sec_key *msk, cfe_damgard_multi *m)
void cfe_damgard_multi_free(cfe_damgard_multi *m)
cfe_error cfe_damgard_multi_derive_fe_key(cfe_damgard_multi_fe_key *fe_key, cfe_damgard_multi *m, cfe_damgard_multi_sec_key *msk, cfe_mat *y)
void cfe_damgard_multi_ciphertext_init(cfe_vec *ciphertext, cfe_damgard_multi_client *e)