SEAL icon indicating copy to clipboard operation
SEAL copied to clipboard

Why does CKKS encryptor need modulus switching?

Open kbj1213 opened this issue 2 years ago • 1 comments

I have same wonder with the post (https://github.com/microsoft/SEAL/issues/402#issue-1022757442).

Let's suppose that CKKS use the primes for crt with {60, 40, 40, 60} bitwidth.

Let's call them q0, q1, q2, q3 respectively.

I checked that the encrypted data are in modulus q0, q1, q2 (crt format) after encryption from the encoder's plaintext.

But I saw void Encryptor::encrypt_zero_internal function includes "Modulus Switching". (using q3)

I wanna understand why the modulus switching process is needed.

kbj1213 avatar Mar 20 '23 01:03 kbj1213

This is undocumented trick to decrease the noise from asymmetric encryption

fionser avatar Mar 21 '23 03:03 fionser