Definition: Rotational
shift operator on \R^n (n \geq 2) is denoted by \operatorname{rot} , and is defined as: : \forall \boldsymbol{x} = (x_1,\ldots,x_{n-1},x_n) \in \R^n: \operatorname{rot}(x_1,\ldots,x_{n-1},x_n) = (x_n,x_1,\ldots,x_{n-1})
Cyclic lattices Micciancio introduced
cyclic lattices in his work in generalizing the compact
knapsack problem to arbitrary rings. A cyclic lattice is a lattice that is closed under rotational shift operator. Formally, cyclic lattices are defined as follows:
Definition: A lattice \mathfrak{L} \subseteq \Z^n is cyclic if \forall \boldsymbol{x} \in \mathfrak{L}: \operatorname{rot}(\boldsymbol{x}) \in \mathfrak{L} .
Examples: • \Z^n itself is a cyclic lattice. • Lattices corresponding to any ideal in the quotient polynomial ring R = \Z[x]/(x^n-1) are cyclic: consider the quotient polynomial ring R = \Z[x]/(x^n-1) , and let p(x) be some polynomial in R , i.e. p(x) = \sum_{i=0}^{n-1}a_ix^i where a_i \in \Z for i = 0,\ldots, n-1 . Define the embedding coefficient \Z -module isomorphism \rho as: : \begin{align} \quad \rho: R & \rightarrow \Z^n \\[4pt] p(x) = \sum_{i=0}^{n-1}a_ix^i & \mapsto (a_0,\ldots,a_{n-1}) \end{align} Let I \subset R be an ideal. The lattice corresponding to ideal I \subset R , denoted by \mathfrak{L}_I , is a sublattice of \Z^n , and is defined as : \mathfrak{L}_I := \rho(I) = \left\{ (a_0,\ldots,a_{n-1}) \mid \sum_{i=0}^{n-1}a_ix^i \in I \right\} \subset \Z^n.
Theorem: \mathfrak{L} \subset \Z^n is cyclic if and only if \mathfrak{L} corresponds to some ideal I in the quotient polynomial ring R = \Z[x]/(x^n-1) .
proof: \Leftarrow) We have: : \mathfrak{L} = \mathfrak{L}_I := \rho(I) = \left\{ (a_0,\ldots,a_{n-1}) \mid \sum_{i=0}^{n-1}a_ix^i \in I\right\} Let (a_0,\ldots,a_{n-1}) be an arbitrary element in \mathfrak{L} . Then, define p(x) = \sum_{i=0}^{n-1}a_ix^i \in I . But since I is an ideal, we have xp(x) \in I . Then, \rho(xp(x)) \in \mathfrak{L}_I . But, \rho(xp(x)) = \operatorname{rot}(a_0,\ldots,a_{n-1}) \in \mathfrak{L}_I . Hence, \mathfrak{L} is cyclic. \Rightarrow) Let \mathfrak{L} \subset \Z^n be a cyclic lattice. Hence \forall (a_0,\ldots,a_{n-1}) \in \mathfrak{L}: \operatorname{rot}(a_0,\ldots,a_{n-1}) \in \mathfrak{L} . Define the set of polynomials I: = \left\{ \sum_{i=0}^{n-1}a_ix^i \mid (a_0,\ldots,a_{n-1}) \in \mathfrak{L} \right\} : • Since \mathfrak{L} a lattice and hence an additive subgroup of \Z^n , I \subset R is an additive subgroup of R . • Since \mathfrak{L} is cyclic, \forall p(x) \in I: xp(x) \in I . Hence, I \subset R is an ideal, and consequently, \mathfrak{L} = \mathfrak{L}_I .
Ideal lattices Source: Let f(x) \in \Z[x] be a
monic polynomial of degree n . For cryptographic applications, f(x) is usually selected to be irreducible. The ideal generated by f(x) is: : (f(x)) := f(x) \cdot\Z[x] = \{ f(x)g(x): \forall g(x) \in \Z[x] \}. The quotient polynomial ring R = \Z[x]/(f(x)) partitions \Z[x] into equivalence classes of polynomials of degree at most n-1: : R = \Z[x]/(f(x)) = \left\{ \sum_{i=0}^{n-1}a_ix^i: a_i \in \Z \right\} where addition and multiplication are reduced modulo f(x). Consider the embedding coefficient \Z-module isomorphism \rho. Then, each ideal in R defines a sublattice of \Z^n called
ideal lattice.
Definition: \mathfrak{L}_I, the lattice corresponding to an ideal I, is called ideal lattice. More precisely, consider a quotient polynomial ring R = \Z[x]/(p(x)), where (p(x)) is the ideal generated by a degree n polynomial p(x) \in \Z[x]. \mathfrak{L}_I, is a sublattice of \Z^n, and is defined as: : \mathfrak{L}_I := \rho(I) = \left\{ (a_0,\ldots,a_{n-1}) \mid \sum_{i=0}^{n-1}a_i x^i \in I \right\} \subset \Z^n.
Remark: • It turns out that
\text{GapSVP}_\gamma for even small \gamma = \operatorname{poly(n)} is typically easy on ideal lattices. The intuition is that the algebraic symmetries causes the minimum distance of an ideal to lie within a narrow, easily computable range. • By exploiting the provided algebraic symmetries in ideal lattices, one can convert a short nonzero vector into n linearly independent ones of (nearly) the same length. Therefore, on ideal lattices,
\mathrm{SVP}_\gamma and
\mathrm{SIVP}_\gamma are equivalent with a small loss. Furthermore, even for
quantum algorithms,
\mathrm{SVP}_\gamma and
\mathrm{SIVP}_\gamma are believed to be very hard in the worst-case scenario. ==Short integer solution problem==