C-5 GLWE Key Switching
- Reference: TFHE Deep Dive - Part III - Key switching and leveled multiplicationsΒ [9]
Key switching is a process to change a GLWE ciphertextβs secret key from
to a new
key
without decrypting the ciphertext. This is equivalent to converting a ciphertext
into a new
ciphertext .
Remember that
, where
, and the secret key
is a list of
polynomials:
Also, remember that GLev (Β§B-5) is defined as follows:
Now, letβs denote each of the
key-switching keys as follows:
, which is a list of GLWE encryptions of the secret key
by
. Then, the GLWE ciphertextβs
key can be switched from
as follows:
SummaryΒ C-5
GLWE Key Switching
Proof.
-
1.
- Given the principle of polynomial decomposition (Β§A-6.2) and the polynomial ,
its decomposition is as follows:
,
where
-
2.
-
# where each GLWE ciphertext is an encryption of
as plaintext with the plaintext scaling factor 1
-
3.
-
-
4.
-
is equivalent to a trivial GLWE encryption with ,
where its every
is 0. That is, .
Note that
can be created without the knowledge of ,
because its all
terms are .
-
5.
-
-
6.
- To expand the above relation,
# where
The decryption of the above ciphertext gives us:
Strictly speaking,
where
is a polynomial to represent the wrap-around coefficient values as multiples of .
However, since all the above computations are done in modulo ,
the
term gets eliminated.
-
7.
- Thus,
is an encryption of plaintext
with the plaintext scaling factor 1. However, we can theoretically see this as an encryption of
plaintext
with the plaintext scaling factor .
This way, we can recover the ciphertextβs original scaling factor
without any additional computation.
β‘