C-4.5 GLWE Modulus Switching

GLWE modulus switching is an extension of RLWE modulus switching. The only difference is that while RLWE’s A and S are a single polynomial each, GLWE’s A and S are a list of k polynomials each. Thus, the same modulus switching technique as RLWE can be applied to GLWE for its k polynomials.

Recall that the GLWE cryptosystem (§B-4.2) is comprised of the following components:

GLWE modulus switching is done as follows:

Summary C-4.5 GLWE Modulus Switching

Given a GLWE ciphertext ({A}i=0k1,B) where B = A S + ΔM + E mod q and M Rn,q, the modulus switch of the ciphertext from q to q^ is equivalent to updating ({A}i=0k1,B) to ({A^}i=0k1,B^) as follows:

Ai^ = a^i,0 + a^i,1X + a^i,2X2 + + a^i,n1Xn1, where each a^i,j = ai,jq^ q q^

B^ = b^0 + b^1X + b^2X2 + + b^n1Xn1, where each b^j = bjq^ q q^

𝖦𝖫𝖶𝖤S,σ(Δ^M + E^ + E𝜖𝑎𝑙𝑙 ) = ({A^}i=0k1,B^) Rn,q^k+1

The above update effectively changes E and Δ as follows:

E^ = e^0 + e^1X + e^2X2 + + e^n1Xn1, where each e^j = ejq^ q q^

Δ^ = Δq^ q which should be an integer

Meanwhile, S and M stay the same as before.

The proof is similar to that of RLWE modulus switching. The modulus-switched GLWE ciphertext’s culminating rounding drift error for each j-th polynomial coefficient in its congruence relationship (i.e., B = i=0k1Ai Si + ΔM + E) is as follows:

𝜖j,𝑎𝑙𝑙 = 𝜖bj 𝜖ej l=0k1 i=0j(𝜖al,ji sl,i) + l=0k1 i=j+1n1(𝜖al,n+ji sl,i)

derived from the proof step 4 of Summary C-4.4: 𝜖𝑎𝑙𝑙 = 𝜖bj 𝜖ej i=0j(𝜖ajisi) + i=j+1n1(𝜖an+jisi)

Note that GLWE’s modulus switching can have a bigger rounding drift error (about k times) than that of RLWE’s modulus switching. However, in the long run, the error remains relatively small to the ciphertext modulus, because the rounding errors are independent and uniform and their sum grows slowly (central limit theorem) relative to the modulus.