Lattice 学习记录
卷积多项式环
在介绍NTRU公钥密码体系之前,我们需要一些数学知识的铺垫。
- 定义:给定一个正整数N,卷积多项式的环(秩为N)是商环
同样的,卷积多项式的环(模q)是商环
我们知道,对于
在没有模数情况下的多项式加法和乘法没什么好说的。有模数的加法,只需要对系数求模即可。有模数的乘法需要注意一下,计算公式如下
而有模数的除法(即求逆元),需要使用扩展欧几里得算法求解。一般来说,如果
这里我们提一下“提升”的方法,在书中方法被放在exercise部分了。
下面我们证明一下这个结论。
NTRU公钥密码体系
在介绍NTRU中,我们再补充一个定义hhh。
- 定义:
,其中 有 个系数为1, 个系数为-1,其余系数为0。
然后我们开始介绍这个密码体系。
Alice选择四个参数
然后Alice再计算
Bob有明文
Alice收到密文e后,计算
NTRU中的数学问题
对于上面随机的
而我们知道
为什么人们会认为NTRU密钥恢复问题是一个困难的数学问题? 一个必要的要求是,这个问题不能通过蛮力或碰撞搜索来解决。更重要的是,求解NTRU密钥恢复问题,被证明(几乎肯定)等价于在某一类格中求解SVP。因此这个密码系统被认为是比较安全的。
作为格密码系统的NTRU
令
可以知道,这个矩阵是2n维的,其中左上角是单位矩阵
我们可以把它写的简单一些
-
我们知道
,那么 其中
也是一个多项式。我们把 移到左边,然后再写一个恒等式 我们就可以对这个方程组改写,写成矩阵相乘的形式
因此
在格 中。 这时只需要向量长度满足一定条件,我们就可以像在引入中的例子一样,找到解。
Comments NOTHING