B-2.2 Encryption

1.
Suppose we have a plaintext m ∈ ℤt to encrypt.
2.
Randomly pick a vector a→ ∈ ℤqk (of length k) as a one-time random public mask (denoted as a→ ←$ℤqk).
3.
Randomly pick a small one-time noise e ∈ ℤq sampled from the Gaussian distribution χσ (denoted as e ←χσℤq).
4.
Scale m by Δ, which is to compute Δ ⋅m. This converts m ∈ ℤt into Δ ⋅m ∈ ℤq.
5.
Compute b = a→ ⋅s→ + Δ ⋅m + e ∈ ℤq.

The LWE encryption formula is summarized as follows:

⟨Summary B-2.2⟩ LWE Encryption

Initial Setup: Δ = q t, s→ ←${−1,0,1}k, where t divides q

Encryption Input: m ∈ ℤt, a→ ←$ℤqk, e ←χσℤq

1.
Scale up m→Δ ⋅m  ∈ ℤq
2.
Compute b = a→ ⋅s→ + Δm + e(𝑚𝑜𝑑q)
3.
𝖫𝖶𝖤s→,σ(Δm + e) = (a→,b)  ∈ ℤqk+1