Lattice Based Crypto_4
格密码笔记四
一、格
设
是线性无关向量组。称 v1,…,vn 生成(generate) 了 lattice L:
即 L 中的元素是
基所包含的的向量个数称为 L 的纬度(dimension)
二、lattice 中基的关系
- 假设 $v1,…,v_n
w_1,…,w_n w_1=a{11}v1+a{12}v2+⋯+a{1n}v_n$
$w2=a{21}v1+a{22}v2+⋯+a{2n}v_n$
⋮ ⋮
$wn=a{n1}v1+a{n2}v2+⋯+a{nn}v_n$
系数
用
来组合出U=
显然 U⋅V=W,于是利用
由
- lattice L 的任意两个基,其基变换矩阵中的元素均为整数,且行列式为 ±1.
例如,
- 整格(integral lattice):一个 integral(or integer) lattice,是指所包含的向量都拥有整数坐标的 lattice。或者说,一个 integral lattice,是
加法群的一个子群。
例如,
把它们作为行向量,写成矩阵:
A=
接下来考虑 L 中的另一个向量组:
于是有变换矩阵
U=
从而可以计算出
B=UA=
我们注意到 U 的行列式是 −1,从而
有
1 | v1 = [2, 1, 3] |
- 总结
1、若
2、L 的另一个基,可以通过 A 左乘一个 n×n 的基变换矩阵来得到,其中 U 必须是整系数矩阵,且行列式为 ±1. 满足这种条件的 U,称为 Z 上的一般线性群(general linear group),记为
三、几何意义上的 lattice
加法子群(additive subgroup):Rm 的一个子集 L,它是加法子群当且仅当其在加法、减法运算上封闭。离散加法子群(discrete additive subgroup) :一个加法子群 L 为离散加法子群,当且仅当存在一个正的常数
上面这个式子的几何意义是:对于 L 中的每一个点 v,其附近 ϵ 的(欧几里得)距离范围内,不存在 L 的其他点。也就是说 L 是离散的,每两个点之间的距离都不小于某个(足够小的)ϵ.
格(lattice) 一个 Rm 的子集是 lattice,当且仅当它是离散加法子群。
一个 lattice 与线性空间是非常相似的,除了 lattice 必须由 basis 的整系数线性组合来生成,而线性空间可以用任意实数作为线性组合系数。lattice 可以视为 Rm 上的离散点集。
基本域的概念
基本域(fundamental domain, fundamental parallelepiped):
设 L 是一个 n 维 lattice,是一个基。则 L 对应这一组基的基本域是
几何上,基本域就是这组基围出的区域.
设
这里的 t,v 都是唯一的。
- L 的所有基本域,体积都是一样的
将 lattice 的协体积视为
(Hadamard 不等式):设 L 是一个 lattice,取其任意一个基
,设 F 是 L 的一个基本域。那么有
其中,basis 的各个向量越像正交的,则协体积越接近上限。当 basis 各个向量恰好正交时,上面的 Hadamard 不等式取到等号。
的维度恰等于 n 时的行列式
设 L⊂Rn 是一个 n 维 lattice,设
接下来我们写出各个基向量的坐标:
$vi=(r{i1},r{i2},…,r{in})$
把这些坐标写进矩阵里面:
$F=F(v1,…,v_n)
{r{11}}&{r{12}}&{\cdots}&{r{1n}}\
{r{21}}&{r{22}}&{\cdots}&{r{2n}}\
{\vdots}&{\vdots}&{\ddots}&{\vdots}\
{r{n1}}&{r{n2}}&{\cdots}&{r{nn}}\
\end{pmatrix}$$
则可以如下计算 F 的协体积:
如果 lattice 的维度与空间的维度恰好相等,则只需要计算基向量的系数矩阵的行列式,即可得到 lattice 的协体积。
例如:之前代码里面的 lattice L,其协体积为
1 | print(A) |