I'm trying to understand CKKS (non bootstrappable) and I'm struggling with the encoding part. Particularly with to questions.
I'm using the original paper , "Homomorphic Encryption for Arithmetic of Approximate Numbers
", also this notes "Lattices, Homomorphic Encryption, and CKKS"
and this blog.
Given a vector $z\in \mathbb{C}^{N/2}$ they use the canonical embedding $\sigma^{-1}$ to map it to $\mathcal{R} =\mathbb{Z}[X]/(X^N+1)$. So you want $\sigma^{-1}:z\to\mathcal{R}$.
First they expand (or projects) z adding the complex conjugates so $\pi^{-1}(z)\in\mathbb{H}\subset \mathbb{C}^{N}$.
First question.
- They use this notation for the space of this expansion that I don't understand:
$\mathbb{H}=\{(z_j)_{j\in \mathbb{Z}^{*}_M}:z_{-j}=\overline{z_j},\forall j\in\mathbb{Z}_M^*\}\subseteq \mathbb{C}^{\Phi(M)}$
Where $T$ is a subgroup of the multiplicative group $\mathbb{Z}^*_M$ satisfying $\mathbb{Z}^*_M/T=\{\pm1\}$ and $\Phi(M)$ is the M-th Cyclotomic polynomial (I think... here it change a little bit the notation of this, the "original" was $\Phi_M(X)$).
1.1) So what it means that something is a subset of $\mathbb{C}^{\Phi(M)}$? This is really $\mathbb{C}^{N}$?
1.2) What this formula means in english? I know what the expansion do. Example: $\pi_{-1}((1+2i, 3-4i))\to (1+2i, 3-4i, 3+4i, 1-2i)$, but can't figure out the notation.
Second question.
- Before they apply $\sigma^{-1}$ to $\pi^{-1}(z)$ they need to use a round-off algorithm to discretize so that the output becomes an integral polynomial. Because they say that an element of $\mathbb{H}$ is not necessarily in $\sigma(\mathcal{R})$. Why?
2.1) This is because an particular element of $\mathbb{H}$ may be imposible to create with the base of $\sigma(\mathcal{R})$?