For my project, I have changed ciphertext_modulus from 64 bits to 128 bits. For fast computation, the function convert_add_backward_torus from the file
concrete-core-1.0.2/src/backends/fft/private/math/fft/mod.rs (line number around 320 added code resulted into the change of line number) Gets called, as there is no implementation for 128 bits. It throws an error. I tried to solve this problem by using function convert_add_backward_torus_scalar::(out_re, out_im, inp, twisties) for 128 bits, however, the problem is that complex numbers defined in the above function parameter inp are of 64 bits resulting into a precision loss (I suppose though not sure about that). Do we need complex numbers for 128 bits, or should 64 bits work? I am not getting the correct answer, which worked for 64 bits. Any help or clues will be really helpful to me, and I would appreciate it. If there is another way, please let me know. Many thanks for considering my request.
hello @Tikaram_Sanyashi
you may want to use the PBS 128 bits but it’s very slow tfhe-rs/tfhe/src/core_crypto/algorithms/lwe_programmable_bootstrapping/fft128.rs at main · zama-ai/tfhe-rs · GitHub
also why do you need such a big modulus ? there is little chance to get efficient implementations as CPUs are 64 bits nowadays
Thanks for the reply. We are working on a project requiring mod q=128 bits. Hence, we are trying to implement it for 128 bits. However, runtime efficiency is our main concern. Thanks again.