A-6.2 Polynomial Decomposition

This time, suppose we have a polynomial f in the polynomial ring ℤq[x]∕(xn + 1). Therefore, each coefficient ci of f is an integer modulo q. Polynomial decomposition expresses f as a sum of multiple polynomials in base β and level ℓ as follows:

⟨Summary A-6.2⟩ Polynomial Decomposition

Given f ∈ ℤq[x]∕(xn + 1), fix β ≥2 and ℓ ≥1 with βℓ∣q. We write

f = ∑ ⁡ i=1ℓfi q βi,fi ∈ ℤq[x]∕(xn + 1)

where each fi is obtained by decomposing every coefficient of f in base β. If f = ∑ ⁡ jcjxj with cj ∈ ℤq, then cj = ∑ ⁡ i=1ℓcj,i q βi with cj,i ∈{0,…,β −1}, and fi = ∑ ⁡ jcj,ixj. We denote the decomposition of the polynomial f into the base β with the level ℓ as follows:

𝖣𝖾𝖼𝗈𝗆𝗉β,ℓ(f) = (f1,f2, ⋯, fℓ)

A-6.2.1 Example

Suppose we have the following polynomial in the polynomial ring ℤ16[x]∕(x4 + 1):

f = 6x3 + 3x2 + 14x + 7 ∈ ℤ16[x]∕(x4 + 1)

Suppose we want to decompose the above polynomial with base β = 4 and level ℓ = 2. Then, each degree’s coefficient of the polynomial f is decomposed as follows:

𝐱3: 6 = 1 ⋅16 41 + 2 ⋅16 42

𝐱2: 3 = 0 ⋅16 41 + 3 ⋅16 42

𝐱1: 14 = 3 ⋅16 41 + 2 ⋅16 42

𝐱0: 7 = 1 ⋅16 41 + 3 ⋅16 42

The decomposed polynomial is as follows:

f = 6x3 + 3x2 + 14x + 7 = (1x3 + 0x2 + 3x + 1) ⋅16 41 + (2x3 + 3x2 + 2x + 3) ⋅16 42

𝖣𝖾𝖼𝗈𝗆𝗉4,2(6x3 + 3x2 + 14x + 7) = (1x3 + 0x2 + 3x + 1,2x3 + 3x2 + 2x + 3)

A-6.2.2 Discussion

Note that after decomposition, the original coefficients of the polynomial have been reduced to smaller numbers. This characteristic is importantly used in the multiplication of polynomials in FHE ciphertexts to reduce the growth rate of the noise. Normally, the polynomial coefficients of ciphertexts are large because they are uniformly random numbers. Reducing such large constants is important for reducing the noise growth during homomorphic multiplication. We will discuss this in more detail in §D-1.6.