Hello, what are the functions of the parameters Q
and q
of the FHEW scheme in the ciphertext conversion scheme? Please refer to the file scheme-switching.cpp
Briefly, Q is the large-precision ciphertext modulus, used to support a larger encrypted messages (e.g., obtained from converting a CKKS ciphertext), while q is the ‘typical’ FHEW/TFHE ciphertext modulus for which FHEW/TFHE bootstrapping is efficiently supported (up to 2048).
The complexity of the FHEW/TFHE bootstrapping scales exponentially with the bit length of the ciphertext modulus, which is why we cannot support large ciphertext moduli such as Q directly. Instead, digit decomposition is used when we want to evaluate functions over larger plaintexts (which implicitly need a larger ciphertext modulus) so that we obtain smaller digits with smaller ciphertext modulus q. See https://eprint.iacr.org/2021/1337.pdf for more explanations on this point.