Skip to content

RLWE转化为CVP

  1. RLWE问题中的方案:

t(X)a(X)s(X)+e(X)(modp)t(X) \equiv a(X) \cdot s(X)+e(X) \; (mod \; p)

  1. 相应的矩阵形式为:

tM(a)s+e(modp)t^* \equiv M(a)s^* + e^* \; (mod \; p)

  1. 存在整向量sex=(sr)Z2n\; s^{ex} = (\begin{matrix}s^* \\r\end{matrix}) \; \in \; \mathbb{Z}^{2n}Λ\Lambda中格点M(a)exsexM(a)^{ex} \cdot s^{ex}与目标向量text^{ex} \;的差向量为:

texM(a)exsex=(es)t^{ex} - M(a)^{ex} \cdot s^{ex} = \begin{pmatrix}e^* \\ s^* \end{pmatrix}

  1. 如果条件RLWE问题中的s(x)\;s(x)\;要求是短多项式,则可以构造2n阶整方阵:

M(a)ex=(M(a)qInIn0)Z2n×2nM(a)^{ex} \; = \; \begin{pmatrix} M(a) & qI_n \\ -I_n & 0 \end{pmatrix} \; \in \; \mathbb{Z}^{2n \times 2n}

  • 其中ln\; l_n \;n\;n\;阶单位矩阵,qln\; ql_n \;ln\; l_n \;q\; q \;
  1. Λ\; \Lambda \;M(a)ex\; M(a)^{ex} \;列张成的格,定义目标(列)向量:

tex=(t0)t^{ex} = \begin{pmatrix} t^* \\ 0 \end{pmatrix}

  1. 存在整向量sex=(sr)Z2n\; s^{ex} = \begin{pmatrix} s^* \\ r \end{pmatrix} \in \mathbb{Z}^{2n} \;, Λ\; \Lambda \;中格点M(a)exsex\; M(a)^{ex}s^{ex} \;与目标向量tex\; t^{ex} \;的差向量为

texM(a)exsex=(es)Z2nt^{ex} - M(a)^{ex}s^{ex} = \begin{pmatrix}e^* \\ s^* \end{pmatrix} \in \mathbb{Z}^{2n}

  1. 由于e\;e\;s\;s\;都是选取比较短的多项式,(es)\;\begin{pmatrix}e^* \\ s^* \end{pmatrix}\;是较短的整向量

  2. RLWE问题就转化为格Λ\;\Lambda\;中的CVP求解

(ppppa0a1a2an112024an1a0a1an212024an22024an1a0an312024a12024a22024a3a01b0b1b2bn11) \left( \begin{matrix} p\\ &p\\ &&p\\ &&&\cdots\\ &&&&p\\ a_0 &a_1 &a_2 &\cdots &a_{n-1} &1\\ -2024a_{n-1}&a_0 &a_1 &\cdots &a_{n-2} &&1\\ -2024a_{n-2}&-2024a_{n-1}&a_0 &\cdots &a_{n-3} &&&1\\ \vdots &\vdots &\vdots&\ddots &\vdots &&&&\cdots\\ -2024a_1 &-2024a_2 &-2024a_3 &\cdots &a_0 &&&&&1\\ b_0 &b_1 &b_2 &\cdots &b_{n-1}&&&&&&1\\ \end{matrix} \right)

(k0,k1,k2,...k63,s0,s1,s2,...s63,1)(ppppa0a1a2an112024an1a0a1an212024an22024an1a0an312024a12024a22024a3a01b0b1b2bn11)=(e0,e1,e2,...e63,s0,s1,s2,...s63,1) (k_0,k_1,k_2,...k_{63},s_0,s_1,s_2,...s_{63},1) \left( \begin{matrix} p\\ &p\\ &&p\\ &&&\cdots\\ &&&&p\\ a_0 &a_1 &a_2 &\cdots &a_{n-1} &1\\ -2024a_{n-1}&a_0 &a_1 &\cdots &a_{n-2} &&1\\ -2024a_{n-2}&-2024a_{n-1}&a_0 &\cdots &a_{n-3} &&&1\\ \vdots &\vdots &\vdots&\ddots &\vdots &&&&\cdots\\ -2024a_1 &-2024a_2 &-2024a_3 &\cdots &a_0 &&&&&1\\ b_0 &b_1 &b_2 &\cdots &b_{n-1}&&&&&&1\\ \end{matrix} \right) = (e_0,e_1,e_2,...e_{63},s_0,s_1,s_2,...s_{63},1)