Go to the documentation of this file.
17 #ifndef CIFER_RING_LWE_H
18 #define CIFER_RING_LWE_H
Definition: ring_lwe.h:37
cfe_error cfe_ring_lwe_derive_fe_key(cfe_vec *sk_y, cfe_ring_lwe *s, cfe_mat *SK, cfe_vec *y)
void cfe_ring_lwe_decrypted_init(cfe_vec *res, cfe_ring_lwe *s)
cfe_error cfe_ring_lwe_generate_pub_key(cfe_mat *PK, cfe_ring_lwe *s, cfe_mat *SK)
void cfe_ring_lwe_free(cfe_ring_lwe *s)
Matrix struct and operations.
cfe_error cfe_ring_lwe_encrypt(cfe_mat *CT, cfe_ring_lwe *s, cfe_mat *x, cfe_mat *PK)
void cfe_ring_lwe_generate_sec_key(cfe_mat *SK, cfe_ring_lwe *s)
cfe_error cfe_ring_lwe_init(cfe_ring_lwe *s, size_t l, size_t n, mpz_t bound, mpz_t p, mpz_t q, mpf_t sigma)
Normal cumulative sampler.
Vector struct and operations.
cfe_error cfe_ring_lwe_decrypt(cfe_vec *res, cfe_ring_lwe *s, cfe_mat *ct, cfe_vec *sk_y, cfe_vec *y)
void cfe_ring_lwe_pub_key_init(cfe_mat *PK, cfe_ring_lwe *s)
struct cfe_ring_lwe cfe_ring_lwe
void cfe_ring_lwe_sec_key_init(cfe_mat *SK, cfe_ring_lwe *s)
Definition: normal_cumulative.h:36
void cfe_ring_lwe_fe_key_init(cfe_vec *sk_y, cfe_ring_lwe *s)
void cfe_ring_lwe_ciphertext_init(cfe_mat *CT, cfe_ring_lwe *s)