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,B) where B = A S + ΔM + E mod q and M n,q, the modulus switch of the ciphertext from q to q^ is equivalent to updating (A,B) to (A^,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) = (A^,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, they can cancel out and converge to 0 as they are sampled from the σ distribution.