C-3.1 Gadget Decomposition for Noise Suppression

In ciphertext-to-plaintext multiplication Ξ› ⋅𝖦𝖫𝖢𝖀S,Οƒ(M), the noise E grows to Eβ€² = Ξ› β‹…E. To limit this noise growth, we introduce a technique based on decomposing Ξ› (Β§A-6.1) and a GLev encryption (Β§B-5.1) of M as follows:

Ξ› = Ξ›1 q Ξ²1 + Ξ›2 q Ξ²2 + β‹― + Ξ›l q Ξ²lβ†’π–£π–Ύπ–Όπ—ˆπ—†π—‰Ξ²,l(Ξ›) = (Ξ›1,Ξ›2,β‹―,Ξ›l)

𝖦𝖫𝖾𝗏S,σβ,l(Ξ”M) = {𝖦𝖫𝖢𝖀S,Οƒ (Ξ”M q Ξ²1) ,𝖦𝖫𝖢𝖀S,Οƒ (Ξ”M q Ξ²2) ,⋯𝖦𝖫𝖢𝖀S,Οƒ (Ξ”M q Ξ²l) }

We will encrypt the plaintext M as 𝖦𝖫𝖾𝗏S,σβ,l(Ξ”M) instead of 𝖦𝖫𝖢𝖀S,Οƒ(Ξ”M), and compute π–£π–Ύπ–Όπ—ˆπ—†π—‰(π–£π–Ύπ–Όπ—ˆπ—†π—‰Ξ²,l(Ξ›) ⋅𝖦𝖫𝖾𝗏S,σβ,l(Ξ”M) instead of Ξ› ⋅𝖦𝖫𝖢𝖀S,Οƒ(Ξ”M). Notice that the results of both computations are the same as follows:

π–£π–Ύπ–Όπ—ˆπ—†π—‰Ξ²,l(Ξ›) ⋅𝖦𝖫𝖾𝗏S,σβ,l(Ξ”M)

= (Ξ›1,Ξ›2,β‹―,Ξ›l) β‹… (𝖦𝖫𝖢𝖀S,Οƒ ( q Ξ²Ξ”M ), 𝖦𝖫𝖢𝖀S,Οƒ ( q Ξ²2Ξ”M ),Β β‹―, 𝖦𝖫𝖢𝖀S,Οƒ ( q Ξ²lΞ”M ))

= Ξ›1 ⋅𝖦𝖫𝖢𝖀S,Οƒ ( q Ξ²Ξ”M ) + Ξ›2 ⋅𝖦𝖫𝖢𝖀S,Οƒ ( q Ξ²2Ξ”M ) + β‹― + Ξ›l ⋅𝖦𝖫𝖢𝖀S,Οƒ ( q Ξ²lΞ”M )

= 𝖦𝖫𝖢𝖀S,Οƒ (Ξ›1 β‹…q Ξ²M ) + 𝖦𝖫𝖢𝖀S,Οƒ (Ξ›2 β‹… q Ξ²2M ) + β‹― + 𝖦𝖫𝖢𝖀S,Οƒ (Ξ›l β‹… q Ξ²lM )

= 𝖦𝖫𝖢𝖀S,Οƒ (Ξ›1 β‹…q Ξ²Ξ”M + Ξ›2 β‹… q Ξ²2Ξ”M + β‹― + Ξ›l β‹… q Ξ²lΞ”M )

= 𝖦𝖫𝖢𝖀S,Οƒ ((Ξ›1 β‹…q Ξ² + Ξ›2 β‹… q Ξ²2 + β‹― + Ξ›l β‹… q Ξ²l) β‹…Ξ”M )

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

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

While the computation results are the same, as we decompose Ξ› into smaller plaintext polynomials Ξ›1,Ξ›2,β‹―,Ξ›l, the generated noise by each of l plaintext-to-ciphertext multiplications becomes smaller. Given the noise of each GLWE ciphertext in the GLev ciphertext is Ei, the final noise of the ciphertext-to-plaintext multiplication is βˆ‘ ⁑ i=1lΞ›i β‹…Ei, which is much smaller than Ξ› β‹…E (because the coefficients of each decomposed polynomial Ξ›i are significantly smaller than those of Ξ›). This is visually depicted inΒ FigureΒ 11.

PIC

FigureΒ 11: Noise reduction in ciphertext-to-plaintext multiplication by gadget decomposition.

However, we cannot use this decomposition technique to the resulting ciphertext again, because the output of this algorithm is a GLWE ciphertext and converting it into a GLev ciphertext without decrypting it costs much noise and computation time (as we need to multiply the GLWE ciphertext by q Ξ², q Ξ²2,β‹―, q Ξ²l).

As a more efficient technique to re-initialize the noise E, we will describe TFHE’s noise bootstrapping technique in Β§D-1.8.