CKKS dcrtBits and firstMod

Hello,
is there a reference where I can check how the dcrtBits and firstMod values affects ciphertexts and calculations in CKKS?
I do not have a technical knowledge of the scheme, but I can’t find a reference to check
thank you

Hi @marc-alonso

It depends on the CKKS mode. The main paper for the CKKS modes implemented in OpenFHE is Approximate Homomorphic Encryption with Reduced Approximation Error It has noise expressions that can be used to determine dctBits (labeled as p there) and some tables with parameters, too. CKKS-IA there corresponds to FIXEDMANUAL/AUTO, CKKS-DE to FLEXIBLEAUTO, and RE-CKKS-DE to FLEXIBLEAUTOEXT.

firstMod should typically be slightly larger than dcrtBits to support numbers than are larger than unity. For example, often firstMod can be 60 while dcrtBits is 50 to support messages of the order up to 1024 or so. By default the message is scaled around unity. I gave here a simplified description. In reality the numbers depend on sparsity of the ciphertext/encoded plaintext and other factors related to the CKKS encoding.

Thank you very much for your response!!

So, theorically, when working with values always in [-1, 1], can I reduce those values in order to build ligher ciphertexts?

Only firstMod depends on the range (one modulus). drtBits specifies the precision (size of all other moduli). So you can change only firstMod.