B-3 RLWE Cryptosystem

The RLWE cryptosystem’s ciphertext is a tuple (A,B), where B = S ⋅A + Δ ⋅M + E. The random public mask A and the secret key S are (n −1)-degree polynomials. The message M and the noise E are (n −1)-degree polynomials. Like in LWE, a new random public mask A is created for each ciphertext, whereas the same secret key S is used for all ciphertexts. In this section, we denote each ciphertext instance as (A,B) instead of (A⟨i⟩,b⟨i⟩) for simplicity.

In RLWE, all polynomials are computed in the polynomial ring ℤq[x]∕(xn + 1), where xn + 1 is a cyclotomic polynomial with n = 2f for some integer f and the polynomial coefficients are in ℤq. Thus, all polynomials in RLWE have the coefficient range ℤq and the maximum polynomial degree of n −1. For simplicity, we denote R⟨n,q⟩ = ℤq[x]∕(xn + 1).


B-3.1 Setup
B-3.2 Encryption
B-3.3 Decryption