在NTRUEncrypt中,我们选择多项式\mathbf f,\mathbf g (具有适当的小系数),使得\mathbf f允许逆\mathbf f_p, \mathbf f_q关于模p,q。使用公共\mathbf h=\mathbf f_q\mathbf g\text{ mod q}和私钥(\mathbf f, \mathbf f_p)之间的关系来定义一个格。
从\mathbf h\equiv \mathbf{f}_q\mathbf g\text{ mod } q中可以看出\mathbf f\mathbf h\equiv \mathbf g\text{ mod } q,因此是(\mathbf{f},\mathbf g)\in \mathcal L。相同的表达式可以编写为
以矩阵形式出现
并使用多项式的坐标
为什么在这个展开式中需要\mathbf h所有循环移位的循环矩阵?
发布于 2022-10-31 14:58:10
i第四列(i的循环移位)表示多项式x^ih(x)\mod{x^n-1}的系数。圆移位是因为环被定义为模多项式x^n-1。
如果我们只使用一列,这将意味着使用一个单项f(x),例如,如果我们只使用第二列,它将给出方程(f_2x^2)h(x)-\mathbf u q=g(x)。
https://crypto.stackexchange.com/questions/102531
复制相似问题