B-4.2 Encryption

Suppose we have an (n 1)-degree polynomial M R(n,t) whose coefficients represent the plaintext numbers to encrypt.

1.
Randomly pick a list of k (n 1)-degree polynomials {Ai}i=0k1 $Rn,qk as a one-time public key.
2.
Randomly pick a small polynomial E χσRn,q as a one-time noise, whose n coefficients are small numbers in q randomly sampled from the Gaussian distribution χσ.
3.
Scale M by Δ, which is to compute Δ M. This converts M Rn,t into Δ M Rn,q.
4.
Compute B = i=0k1(Ai Si) + Δ M + E Rn,q.

The GLWE encryption formula is summarized as follows:

Summary B-4.2 GLWE Encryption

Initial Setup: Δ = q t, {Si}i=0k1 $Rn,2k

Encryption Input: M Rn,t, {Ai}i=0k1 $Rn,qk, E χσRn,q

1.
Scale up MΔM  Rn,q
2.
Compute B = i=0k1(Ai Si) + ΔM + E  Rn,q
3.
𝖦𝖫𝖶𝖤S,σ(ΔM) = ({Ai}i=0k1,B)  Rn,qk+1