C-1 GLWE Ciphertext-to-Ciphertext Addition

- Reference: TFHE Deep Dive - Part II - Encodings and linear leveled operations [8]

Suppose we have two GLWE ciphertexts encrypting two different plaintexts M1,M2:

𝖦𝖫𝖶𝖤S,σ(ΔM1+ E1) = 𝖼𝗍1 = (A01,A11,... Ak11,B1) Rn,qk+1

𝖦𝖫𝖶𝖤S,σ(ΔM2+ E2) = 𝖼𝗍2 = (A02,A12,... Ak12,B2) Rn,qk+1

Let’s define the following ciphertext addition operation:

𝖼𝗍1+ 𝖼𝗍2 = (A01+ A02, A11+ A12, ... Ak11+ Ak12, B1+ B2)

Then, the following is true:

Summary C-1 GLWE Homomorphic Addition

𝖦𝖫𝖶𝖤S,σ(ΔM1+ E1) + 𝖦𝖫𝖶𝖤S,σ(ΔM2+ E2)

= ({Ai1}i=0k1, B1) + ({Ai2}i=0k1, B2)

= ({Ai1+ Ai2}i=0k1, B1+ B2)

= 𝖦𝖫𝖶𝖤S,σ(Δ(M1+ M2) + E3) where E3 = E1+ E2

This means that adding two GLWE ciphertexts (each of which encrypts M1 and M2) and decrypting the resulting ciphertext yields M1+ M2.

Proof.

1.
Define the following notations:
A03 = A01+ A02
A13 = A11+ A12
...
Ak13 = Ak11+ Ak12
E3 = E1+ E2
B3 = B1+ B2
2.
Derive the following:
B3 = B1+ B2
= i=0k1(Ai1Si) + Δ M1+ E1+ i=0k1(Ai2Si) + Δ M2+ E2
= i=0k1((Ai1+ Ai2) Si) + Δ (M1+ M2) + (E1+ E2) commutative and distributive rules
= i=0k1(Ai3Si) + Δ (M1+ M2) + E3
3.
Since B3 = i=0k1(Ai3Si) + Δ (M1+ M2) + E3,

this means that (A03,A13,A23,... Ak13,B3) form the ciphertext: 𝖦𝖫𝖶𝖤S,σ(Δ (M1+ M2) + E3).

4.
Thus,
𝖦𝖫𝖶𝖤S,σ(ΔM1+ E1) + 𝖦𝖫𝖶𝖤S,σ(ΔM2+ E2)
= (A01+ A02, A11+ A12, ... Ak11+ Ak12, B1+ B2)
= (A03,A13,A23,... Ak13,B3)
= ({Ai3}i=0k1,B3)
= 𝖦𝖫𝖶𝖤S,σ(Δ(M1+ M2) + E3)

C-1.1 Discussion