格!

思想

基于王小云等的论文:

[1] 王小云 , 刘明洁.格密码学研究 [J]. 密码学报 ,2014,1(01):13-27.DOI:10.13868/j.cnki.jcr.000002.

定义

  • 格:格是 m 维欧氏空间 Rm 的 n 个线性无关向量组 b1,b2,...,bn 的所有整系数线性组合:

L(B)={i=1nxibi:xiZ,i=1,...,n}

  • 格的行列式:det(L)=vol(P(B))=BTB,其中 B 是以格基为列向量构成的矩阵
  • 对偶格:L={xRm,vL,<x,v>∈Z}
  • 逐次最小长度:第 i 格逐次最小长度 λi,定义为以原点为球心,包含 i 个线性无关格向量的最小球的半径,即

λi(L)=inf{r|dim(span(LBn(r)))i}

  • 堆积半径:对 n 维格,以格点为球心,r 为半径做 n 维球,使得球两两不相交,最大的 r 作堆积半径 ,r=λ1(L)/2
  • 覆盖半径:对 n 维格,以格点为球心,r 为半径做 n 维球,能覆盖整个空间的最小 r 称为覆盖半径。

一些问题

  • 最短向量问题(SVP):给定格 L,找一个非零格向量 v,满足对任意非零向量 uL,||v||||u||
  • γ- 近似最短向量问题(SVP):给定格 L,找一个非零格向量 v,满足对任意非零向量 uL,||v||γ||u||
  • 逐次最小长度问题(SMP):给定一个秩为 n 的格 L,找 n 格线性无关的向量 si,满足 λi(L)=||si||,(i=1,...,n)
  • 最短线性无关向量问题(SIVP):给定一个秩为 n 的格 L,找 n 个线性无关的格向量 si 满足 ||si||λn(L)
  • 唯一最短向量问题(uSVP-γ):给定格 L,满足 λ2(L)>γλ1(L),找到该格的最短向量
  • 最近向量问题(CVP):给定一个格 L 和目标向量 tRm,找一个非零格向量 v,满足对任意非零向量 uL,||vt||||ut||
  • 有界距离解码问题(BDD-γ):给定一个格 L,目标向量 t 满足 dist(t,L)<γλ1(L),找一个非零格向量 v,满足对任意非零向量 uL,||vt||||ut||
  • 判定版本 γ- 近似最短向量问题(GapSVP-γ):给定格 L 和一个有理数 r,如果 λ1(L)r,则返回“是”,如果 λ1(L)>γr,则返回“否”,其他情况随机返回“是”或“否”