- Reference: TFHE Deep Dive - Part IV - Programmable Bootstrapping [10]
In TFHE, coefficient extraction is a process of extracting a coefficient of a polynomial that is
encrypted as GLWE ciphertext. The extracted coefficient is in the form of LWE ciphertext
(§B-2).
Note that in the GLWE cryptosystem, plaintext
is encoded as a polynomial, where each coefficient encodes the plaintext value
.
Suppose we have a GLWE ciphertext setup as the following:
Note that:
Another way to write the formula is:
Grouping the terms by same exponents
,
where
In the above -degree polynomial,
notice that each term’s
coefficient, , can be expressed
as an LWE ciphertext
as follows:
|
|
Note that . This means
that can be replaced by
its encrypted version, ,
an LWE ciphertext
encrypting the -th
coefficient of . Therefore,
we just extracted
from .
This operation is called coefficient extraction, which does not add any noise because it simply extracts an
LWE ciphertext by reordering the polynomial of the GLWE ciphertext.
Once we have , we
can key-switch it from
(§D-1.5).
Summary D-1.7
GLWE Ciphertext’s Coefficient Extraction
Given the following GLWE ciphertext:
,
is an LWE ciphertext that encrypts ’s
-th
coefficient (i.e., ).
can be extracted from
as follows:
|
|
Once we have ,
key-switch it from
(§D-1.5).