homenc / HElib

HElib is an open-source software library that implements homomorphic encryption. It supports the BGV scheme with bootstrapping and the Approximate Number CKKS scheme. HElib also includes optimizations for efficient homomorphic evaluation, focusing on effective use of ciphertext packing techniques and on the Gentry-Halevi-Smart optimizations.
https://homenc.github.io/HElib
Other
3.11k stars 760 forks source link

Secret key generation in the BGV scheme #439

Open jaykopp opened 3 years ago

jaykopp commented 3 years ago

This question is about secret key generation, based on section 4.7 in the design document: https://homenc.github.io/HElib/documentation/Design_Document/HElib-design.pdf

It seems that if m is not a power of two, then we choose coefficients of the secret key such that the secret key is a polynomial of degree m. How is it reduced into a polynomial of degree phi(m)? If we just reduce mod Phi_m(X) then the coefficients may be outside {-1,1}, so I assume based on the way it is written that there is some other method.