C-3 GLWE Ciphertext-to-Plaintext Multiplication

- Reference: TFHE Deep Dive - Part II - Encodings and linear leveled operationsΒ [8]

Suppose we have a GLWE ciphertext ct:

𝖼𝗍 = 𝖦𝖫𝖢𝖀S,Οƒ(Ξ”M + E) = (A0,A1,...Β Akβˆ’1,B) ∈R⟨n,q⟩k+1

and a new plaintext polynomial Ξ› as follows:

Ξ› = βˆ‘ ⁑ i=0nβˆ’1(Ξ›i β‹…Xi) ∈R⟨n,q⟩

Let’s define the following ciphertext-to-plaintext multiplication operation:

Ξ› ⋅𝖼𝗍 = (Ξ› β‹…A0,Ξ› β‹…A1,...Β Ξ› β‹…Akβˆ’1,Ξ› β‹…B)

We assume that we always do polynomial-to-polynomial multiplications efficiently in O(nlog⁑n) by using the NTT technique (§A-16). Then, the following is true:

⟨Summary C-3⟩ GLWE Ciphertext-to-Plaintext Multiplication

Ξ› ⋅𝖦𝖫𝖢𝖀S,Οƒ(Ξ”M + E)

= Ξ› β‹…({Ai⟨1⟩}i=0kβˆ’1,Β B⟨1⟩)

= ({Ξ› β‹…Ai⟨1⟩}i=0kβˆ’1,Β Ξ› β‹…B⟨1⟩)

= 𝖦𝖫𝖢𝖀S,Οƒ(Ξ”(M β‹…Ξ›) + Ξ› β‹…E)

This means that multiplying a plaintext polynomial Ξ› by a GLWE ciphertext that encrypts M and decrypting it yields M β‹…Ξ›.

Proof.

1.
Define the following notations:
A0β€² = Ξ› β‹…A0
A1β€² = Ξ› β‹…A1
...
Akβˆ’1β€² = Ξ› β‹…Akβˆ’1
Eβ€² = Ξ› β‹…E
Bβ€² = Ξ› β‹…B
2.
Derive the following:
Bβ€² = Ξ› β‹…B
= Ξ› β‹…(βˆ‘ ⁑ i=0kβˆ’1(Ai β‹…Si) + Ξ” β‹…M + E) = βˆ‘ ⁑ i=0kβˆ’1(Ξ› β‹…Ai β‹…Si) + Ξ” β‹…Ξ› β‹…M + Ξ› β‹…E
β–Ή by the distributive property of a polynomial ring
= βˆ‘ ⁑ i=0kβˆ’1((Ξ› β‹…Ai) β‹…Si) + Ξ” β‹…(Ξ› β‹…M) + (Ξ› β‹…E)
= βˆ‘ ⁑ i=0kβˆ’1(Aiβ€²β‹…Si) + Ξ” β‹…(Ξ› β‹…M) + (Eβ€²)
3.
Since Bβ€² = βˆ‘ ⁑ i=0kβˆ’1(Aiβ€²β‹…Si) + Ξ” β‹…(Ξ› β‹…M) + (Eβ€²),

(A0β€²,A1β€²,...Β Akβˆ’1β€²,Bβ€²) form the ciphertext 𝖦𝖫𝖢𝖀S,Οƒ(Ξ” β‹…Ξ› β‹…M).

4.
Thus,
Ξ› ⋅𝖦𝖫𝖢𝖀S,Οƒ(Ξ”M + E)
= (Ξ› β‹…A0,Β Ξ› β‹…A0,A1,...Β Ξ› β‹…Akβˆ’1,Β Ξ› β‹…B)
= ({Aiβ€²}i=0kβˆ’1,Β Ξ› β‹…B)
= 𝖦𝖫𝖢𝖀S,Οƒ(Ξ”(M β‹…Ξ›) + Ξ› β‹…E)
β–‘

If we decrypt 𝖦𝖫𝖢𝖀S,Οƒ(Ξ” β‹…Ξ› β‹…M + Ξ› β‹…E) by using S, then we get the plaintext Ξ› β‹…M. Meanwhile, A0β€²,A1β€²,...Β Akβˆ’1β€²,Eβ€² get eliminated by rounding during decryption, regardless of whatever their values were randomly sampled during encryption.

The noise is a bigger problem now, because after decryption, the original ciphertext ct’s noise has increased from E to Eβ€² = Ξ› β‹…E. This means that if we continue multiplication computations without decrypting the ciphertext to eliminate the noise Eβ€², it will continue growing more and eventually the noise in the lower bit area in B will overflow to the scaled plaintext bit area. If this happens, the noise Eβ€² won’t be eliminated during decryption, ending up corrupting the plaintext M. Therefore, if the constant Ξ› is big, it is recommended to use gadget decomposition (Β§A-6.4), which we will explain in the next subsection.


C-3.1 Gadget Decomposition for Noise Suppression