Suppose that there exists a SIS instance generator $Gen_{SIS}(n,m-1,q)\to(A\in\mathbb{Z}^{n\times m}_q,s\in\{0,1\}^{m-1})$, where $(s,1)$ is the short integer solution for the SIS instance $A$, s.t. $A\cdot (s,1)=0$, and $s$ is sampled from an uniform distribution $\mathcal{D}_{\alpha}:=\{0,1\}^{m-1}$, $A$ is a random matrix.
With such generator, the construction of public key encryption scheme is as follow.
- $Setup(n,m,q,\mathcal{D}_{\alpha})\to (pk,sk):$
- Perform $Gen_{SIS}(n,m-1,q)\to(A\in\mathbb{Z}^{n\times m}_q,s\in\{0,1\}^{m-1})$;
- Let the public key $pk=A$ and the secret key $sk=(s,1)$.
- $Encrypt(pk,x\in\{0,1\},\mathcal{D}_{\beta})\to ct$:
- Sample a noise vector $e\in\mathbb{Z}^{m-1}_q$ from the discrete Gauss distribution $\mathcal{D}_{\beta}$;
- Randomly pick a vector $r\gets\mathbb{Z}^n_q$, and generate the ciphertext: $ \begin{equation} ct=(r\cdot pk) +(e,x\cdot q/2) \end{equation} $.
- $Decrypt(sk,ct)\to x$:
- Compute $x'=<ct,sk>$;
- If $x'$ is closer to $q/2$, return 1; else if $x'$ is closer to 0, return 0.
Correctness. Due to $pk\cdot sk=0$, then $<ct,sk>=<r\cdot pk,sk>+<(e,x\cdot q/2),sk>=<e,s>+x\cdot q/2$. If $|<e,s>|\leq m\cdot\alpha\cdot\beta=\mathsf{B}$, $\mathsf{B}$ is a reasonable bound, e.g., $B=q/4$, then the correctness holds.
The above scheme seems CPA-secure if the LWE problem holds. However, I cannot determine that given the matrix $A$, whether there is a probabilistic polynomial algorithm that can find the solution $s$?
In other words, the problem can be presented as: given a matrix $A\in\mathbb{Z}^{n\times m}_q$, find a non-zero integer vector $s\in\mathbb{Z}^{m-1}$ of norm $\|s\|_\infty\leq\alpha=1$ such that $A\cdot (s,1)=0$.