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 C:

C = 𝖦𝖫𝖢𝖀S,Οƒ(M) = (A1,A2,...Β 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:

Ξ› β‹…C = (Ξ› β‹…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)

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

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

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

This means that multiplying a plaintext (polynomial) by a ciphertext (polynomial) and decrypting it gives the same result as multiplying the two original plaintext polynomials.

Proof.

1.
Define the following notations:
A1β€² = Ξ› β‹…A1
A2β€² = Ξ› β‹…A2
...
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β€²),

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

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

If we decrypt 𝖦𝖫𝖢𝖀S,Οƒ(Ξ” β‹…Ξ› β‹…M) by using S, then we get the plaintext Ξ› β‹…M. Meanwhile, A1β€²,A2β€²,...Β 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 C’s noise has increased from E to Eβ€² = Ξ› β‹…E. This means that if we continue multiplication computations without decrypting the ciphertext to blow away 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 blown away 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