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,ย ฮ› โ‹…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
C-3.1.1 Discussion