0%

Intro_to_lattices

2012年BIU密码学冬令营-01-Introduction to Lattices

2012 BIU Introduction to Lattices

image-20230407183351420

基底不唯一

image-20230407183444805

image-20230407183505019

image-20230407183846399

格密码的安全是worst-case的困难问题

传统密码学是average-case的困难问题

格可以实现FHE

image-20230407184005734

image-20230407184353209

安全证明可以给出关于如何选择安全参数的提示

average-case的困难问题,比如如何选择N?

  • 大质数$p,q$如何选择
  • $p-1,q-1$的素因子应该足够大
  • $p+1,q+1$的素因子应该足够大
  • 实际上现在已经不太重要了

格不存在这样的问题

image-20230407185137186

image-20230407185310415

image-20230407185523538

如果1%被破解了,所有格上的困难问题都被破解了,不需要考虑参数的选取

image-20230407190027295

现在格密码的效率和RSA接近

  • LWE SIS
  • RLWE RSIS 特定代数结构,效率非常高,密钥长度KB级别,接近哈希函数的效率

image-20230407190336753

两个定义,实际上等价 列就是基底

image-20230407190559981

等价基底

如何寻找等价基底,能在基底上做什么

  • 列变换 $v_i\leftrightarrow v_j$
  • 取负值 $v_i\gets -v_i$
  • $v_i\gets v_i +kv_j,k\in Z$

相当于右乘 幺模矩阵(unimodular 行列式值为1),对乘法封闭

两个格等价的条件

image-20230407191804198

image-20230407192045351

格的一些特征

一维空间的周期函数$f:\R \to \R$

image-20230407192624915

考虑高维空间,类似于循环群,只需要存储陪集

image-20230407193047743

image-20230407193204421

格的基本区域

image-20230407193341145

给定基,可以定义基本平行多面体 就是一个基本区域,恰好包含陪集中的每一个元素

基本空间的等价定义:基本空间内不存在两个等价的空间点,仅包含所有不等价陪集内的点集

image-20230407193441619

寻找空间点的一个表示,实际上是在做模 基本平行多面体

存储的实际是点和格的相关性,当点在格上,模P(B)后得到原点

image-20230407194218433

实际上平行多面体的形状无重要,可以用任意多面体标识格,不是所有基本区域都是平行的

image-20230407194446752

基本区域的面积必须相同,对平行多面体也成立,可以把平行多面体内的点映射到另一个平行多面体中

格的行列式定义为基生成的平行多面体的体积$|det(B)|$

格的行列式表示了格点的稀疏程度,密度

image-20230407202440541

连续极小,最短向量(集合)

一般距离是欧几里得范数

image-20230407202709347

一般指关心$\lambda_1 $

$\lambda_n $是线性空间的基

image-20230407202958269

注意$\tilde{v_2}$并不是格点

正交基也是基本区域

image-20230407204323284

从正交向量集到规范化正交集,是线性代数层面的基而不是格的基

image-20230407204527658

QR分解

可以证明施密特正交区域是基本区域

image-20230407204950666

证明引理1:三角形行列式等于主对角线上元素的乘积

证明引理2:对最后一列的系数取非0,其他所有项系数取0,则 $\lambda_1\geq \tilde{v_n}$;同理当倒数第二列系数为非0,其他所有列系数为0,$\lambda_1\geq \tilde{v_{n-1}}$ ,永远存在非0系数,实际得到了$\lambda_1$的下界

Minkowski‘s theorem

袋鼠的面积大于格的行列式

image-20230409144553627

S必须是关于0点对称的凸集合,存在一个非0格点,因为0永远在S中

image-20230409144706671

证明:将S缩小一半,体积缩小$2^n$,$z_1-z_2\in \Lambda $

由于$\pm2z_1,\pm2z_2 \in S,2z_1-2z_2$的中点 $z_1-z_2\in S$

image-20230409145627491

说明了格中至少有短向量

等价推论:任意行列式为1的格,必然包含长度不超过$\sqrt{n}$的短向量

考虑半径为$\sqrt{n}$的球,球的体积大于$2^n$

现在格中找短向量的方法都是数学方法,基于格的密码学方案假设是不知道如何高效求得格的短向量

Blichfeld定理是存在性定理,没有给出如何求

计算困难问题

简单问题

给定格基$B$和向量$v$,检查$v$是否在$L(B)$

解法:高斯消元检查系数是否为整数

给定格基 $B_1 B_2$,判断$L(B_1)=L(B_2)$

解法:根据之前的定理,$B_1 = B_2\times U$,$U$是幺模矩阵

另一个解法:取基$B_1$中任意一个向量,检查是否属于另一个基;如果所有基向量均在$L(B_2)$,再检查$B_2$中所有向量是否在$L(B_1)$

结论是代数问题很简单,但是几何问题很困难

image-20230409160126271

困难问题

最短向量问题,SVP

给定基,求最短向量

密码学常用的是近似最短向量问题,求得最短向量的$\gamma$倍的向量

image-20230409160404955

变种:给出近似最短向量的长度即可(类似判定小问题

最短独立向量问题,SIVP

image-20230409160855151

最近向量问题,CVP

image-20230409160843986

SVP不比CVP更困难,CVP解决能解决SVP

image-20230409164706784

image-20230409171842664

LLL是多项式时间算法,输出短向量,近似因子接近$2^n$,当$n$接近500,输出向量不够理想

image-20230409173133959

image-20230409173530831