B-1.1 Overview

Suppose we have a single unknown k-dimensional vector S as a secret key, many publicly known k-dimensional vectors Ai.

And suppose we have a large set of the following dot products S Ai:

S A0 = s0 a0,0 + s1 a0,1 + + sk1 a0,k1 = b0

S A1 = s0 a1,0 + s1 a1,1 + + sk1 a1,k1 = b1

S A2 = s0 a2,0 + s1 a2,1 + + sk1 a2,k1 = b2

Suppose that all (Ai,bi) tuples are publicly known. An attacker only needs k such tuples to derive the secret vector S. Specifically, as there are k unknown variables (i.e., s0,s1,,sk1), the attacker can solve for those k variables with k equations by using linear algebra.

However, suppose that in each equation above, we randomly add an unknown small noise ei (i.e., error) as follows:

S A0 = s0 a0,0 + s1 a0,1 + + sk1 a0,k1 + e0 b0

S A1 = s0 a0,0 + s1 a1,1 + + sk1 a1,k1 + e1 b1

S A2 = s0 a0,0 + s1 a2,1 + + sk1 a2,k1 + e1 b2

Then, even if the attacker has a sufficient number of (Ai,bi) tuples, it is not feasible to derive s0,s1,,sk1, because even a small noise added to each equation prevents linear-algebra-based direct derivation of the unknown variables. For each above equation, the attacker has to consider as many possibilities as the number of the possible values of ei. For example, if there are r possible values of each noise ei, the attacker’s brute-force search space of applying linear algebra to those n equations is: r ×r ×r × ×rn times = rn. Thus, the number of noisy equations grows, the aggregate possibilities of eis grow exponentially, which means that the attacker’s cost of attack grows exponentially.

Based on this intuition, the mathematical hard problem that constitutes lattice-based cryptography is as follows:

Summary B-1.1 The LWE (Learning with Errors) and RLWE Problems

LWE Problem

Suppose we have a plaintext number m to encrypt. The encryption formula is: b = S A + Δ m + e. In this formula, e is a small noise, and Δ is a scaling factor to bit-wise separate the plaintext m from the noise e with enough gap when they are added up (this is needed for successful decryption, which will be explained later).

For each encryption, a random k-dimensional vector A qk and a small noise value e q are newly sampled from {0,1,,q 1}, where q is the ciphertext domain size. On the other hand, the k-dimensional secret vector S is the same for all encryptions. Suppose we have an enough number of ciphertext tuples:

(A1,b1), where b1 = S A1+ Δm1+ e1

(A2,b2), where b2 = S A2+ Δm2+ e2

(A3,b3), where b3 = S A3+ Δm3+ e3

Suppose that the attacker has a sufficiently large number of (Ai,bi) tuples. Given this setup, the following hard problems constitute the defense mechanism of the LWE (Learning with Errors) cryptosystem:

These two problems are interchangeable.

RLWE Problem

In the case of the RLWE (Ring Learning with Errors) problem, the only difference is that A, B, S, m, and e are (n 1)-degree polynomials in q[X](xn + 1), and its search-hard problem is finding the unknown n coefficients of the secret polynomial S.