# Avoid CKKS Bootstraping

CKKS is a levelled scheme, because the rescale $$\lfloor\frac{x}{\Delta}\rceil$$ operation requires truncating a modulus to be efficiently evaluated, and rescale is (usually) needed after every multiplication to control noise growth.

But I don't understand why rescale have to decrease ciphertext modulus. In residue number system it is probably hard to divide without removing ciphertext modulus, but would it be right that under (integer) high precision arithmetic system, we just have to naively divide each coefficient of ciphertext with $$\Delta$$ (with integer division), hence achieving FHE without need of bootstrapping?

Thanks.

If your question is why we don't implement the CKKS scheme in the ring $$\mathbb R[X]/(X^n+1)$$ rather than $$R/qR$$ where $$R=\mathbb Z[X]/(X^n+1)$$, it is because the learning with errors problem can be solved over $$\mathbb R$$ e.g. by using the linear least-squares method.
• Not exactly. Modulus switching was actually first introduced to control noise growth during repeated multiplications. Roughly, often noise grows from $(e, e') \mapsto ee'$. If we first scale both of these down by some intermediate value $p$, this growth becomes $(e/p, e'/p)\mapsto (ee')/p^2$, i.e. linearly scaling down moduli incurs quadratic savings in noise growth. This is somewhat imprecise of course, but it shows the main idea of how it can do more than just give better efficiency. This is also because you can't "infinitely scale up $q$". Larger $q\implies$ less secure LWE $\implies$ Commented Feb 13, 2023 at 8:37
• requirements for larger $n$. For any such $q$ you can probably find an $n$ that works, but it is a little complex. Commented Feb 13, 2023 at 8:39