libfhe
Data Structures
Here are the data structures with brief descriptions:
 Cbgv_ct_tBGV Ciphertext consists of $n$ polynomials over the ciphertext ring $R_q = Z_q[x]/<x^d + 1>$
 Cbgv_key_tBGV key pair used to encrypt, decrypt, and relinearize a ciphertext
 Cbgv_keypair_tGeneric key pair wraps a pair of polynomials
 Cbgv_tMain BGV type used to instantiate the scheme
 Cpoly_tMain Polynomial type used to represent polynomials over $R = Z_M[X] / <x^d + 1>$ for a generic modulus $M$
 Cring_tMain Ring type used to define a polynomial ring