void cfe_lwe_fe_key_init(cfe_vec *sk_y, cfe_lwe *s)
cfe_error cfe_lwe_derive_fe_key(cfe_vec *sk_y, cfe_lwe *s, cfe_mat *SK, cfe_vec *y)
void cfe_lwe_generate_sec_key(cfe_mat *SK, cfe_lwe *s)
void cfe_lwe_ciphertext_init(cfe_vec *ct, cfe_lwe *s)
Matrix struct and operations.
cfe_error cfe_lwe_init(cfe_lwe *s, size_t l, mpz_t bound_x, mpz_t bound_y, size_t n)
void cfe_lwe_free(cfe_lwe *s)
cfe_error cfe_lwe_generate_pub_key(cfe_mat *PK, cfe_lwe *s, cfe_mat *SK)
void cfe_lwe_pub_key_init(cfe_mat *PK, cfe_lwe *s)
Vector struct and operations.
cfe_error cfe_lwe_encrypt(cfe_vec *ct, cfe_lwe *s, cfe_vec *x, cfe_mat *PK)
cfe_error cfe_lwe_decrypt(mpz_t res, cfe_lwe *s, cfe_vec *c, cfe_vec *sk_y, cfe_vec *y)
void cfe_lwe_sec_key_init(cfe_mat *SK, cfe_lwe *s)