格密码学习笔记(五):对偶格

对偶空间

R \mathbb{R} R上的向量空间 V V V满足以下2个性质:

  • 向量加法操作 x + y ∈ V \bm{x} + \bm{y} \in V x+yV
  • 标量乘法操作 a ⋅ x ∈ V a \cdot \bm{x} \in V axV

线性空间里面有一个很重要的概念叫对偶空间(Dual Space)。具体可以参考
怎么形象地理解对偶空间(Dual Vector Space)? - 石在的回答 - 知乎

V V V上的线性泛函 ϕ \phi ϕ是一个从 V V V R \mathbb{R} R的线性映射,即 ϕ : V → R \phi: V \to \mathbb{R} ϕ:VR。一般而言,对于 x ∈ V \bm{x} \in V xV,有 ϕ y ( x ) = ⟨ x , y ⟩ \phi_{\bm{y}}(\bm{x}) = \langle \bm{x}, \bm{y} \rangle ϕy(x)=x,y

定义: V V V的对偶空间 V ∨ V^\vee V是所有 ϕ \phi ϕ构成的向量空间。

举一个例子:假想 x ∈ V \bm{x} \in V xV是表示橘子的一个特征向量,每个维度/属性可以是维生素、糖分等,不同 x \bm{x} x表征不同橘子;线性泛函 y \bm{y} y每个维度规定维生素的价值、糖分的价值等, ⟨ x , y ⟩ \langle \bm{x}, \bm{y} \rangle x,y算出一个橘子的具体价格;若 y \bm{y} y固定而 x \bm{x} x变化,可以推算出特定规格标准下不同规格的橘子的价格;若 x \bm{x} x固定而 y \bm{y} y变化,可以推算出同一个橘子在不同规格标准下的价格。

对偶格

定义(对偶格,Dual Lattice) Λ \Lambda Λ为一个格, s p a n ( Λ ) \mathrm{span}(\Lambda) span(Λ)为该格张成的空间;记向量 x ∈ s p a n ( Λ ) \bm{x} \in \mathrm{span}(\Lambda) xspan(Λ),对所有格向量 ∀ v ∈ Λ \forall \bm{v} \in \Lambda vΛ x \bm{x} x满足 ⟨ x , y ⟩ ∈ Z \langle \bm{x}, \bm{y} \rangle \in \mathbb{Z} x,yZ;所有可能的 x \bm{x} x构成 Λ \Lambda Λ的对偶格 Λ ∨ \Lambda^\vee Λ

张成的定义可以参考线性代数——线性组合、张成的空间与基

以下图为例,它是一个整数格, ( Z n ) ∨ = Z n (\mathbb{Z}^n)^\vee = \mathbb{Z}^n (Zn)=Zn。其中,黑色点为原来的格点,红色点为对应的对偶格点。

在这里插入图片描述

若对整数格加一个旋转,其对偶格为 ( R Λ ) ∨ = R ( Λ ∨ ) (\bm{R} \Lambda)^\vee = \bm{R}(\Lambda^\vee) (RΛ)=R(Λ)。原因:一个格向量发生了旋转,那么对偶格向量也必须旋转相同角度,才能保证向量乘积不变。

在这里插入图片描述

如果对格进行伸展,那么 ( q ⋅ Λ ) ∨ = 1 q ⋅ Λ ∨ (q \cdot \Lambda)^\vee = \frac{1}{q} \cdot \Lambda^\vee (qΛ)=q1Λ

在这里插入图片描述

格与对偶格之间有一些基本属性关系,如:

  • Λ 1 ⊆ Λ 2 ⇔ Λ 1 ∨ ⊇ Λ 2 ∨ \Lambda_1 \subseteq \Lambda_2 \Leftrightarrow \Lambda_1^\vee \supseteq \Lambda_2^\vee Λ1Λ2Λ1Λ2
  • ( Λ ∨ ) ∨ = Λ (\Lambda^\vee)^\vee = \Lambda (Λ)=Λ

整数格的对偶格比较好理解。但对于其它格,它们的对偶格看起来非常“混乱”,与原来的格没有太大的几何关系。例如,如果在原来的格上添加新的格点,由于定义中的约束关系: x ∈ Λ , y ∈ Λ ∨ , ⟨ x , y ⟩ ∈ Z \bm{x} \in \Lambda, \bm{y} \in \Lambda^\vee, \langle \bm{x}, \bm{y} \rangle \in \mathbb{Z} xΛ,yΛ,x,yZ,对偶格中的格点可能会减少。

在学习时,最好是把对偶格中每一个向量理解成一个“线性变换函数“,而不是一个几何意义上的格点。 仅需牢记 ⟨ x , y ⟩ ∈ Z \langle \bm{x}, \bm{y} \rangle \in \mathbb{Z} x,yZ即可,即格点和线性变换函数之间的运算。

在这里插入图片描述

格分层

对偶格 L ∨ \mathcal{L}^\vee L中的每个向量 v ∈ L ∨ \bm{v} \in \mathcal{L}^\vee vL都能将格 L \mathcal{L} L分割成诸多个正交于 v \bm{v} v的层。具体而言,选定对偶格中的一个点 v ∈ L ∨ \bm{v} \in \mathcal{L}^\vee vL,然后让原本格中的所有点都与这个点相乘,把所有得到相同结果的格点都归为一层 L i L_i Li,即 L i = { x ∈ L : x ⋅ v = i } L_i = \{ \bm{x} \in \mathcal{L} : \bm{x} \cdot \bm{v} = i \} Li={xL:xv=i}

以下图为例,黑色点为原来的格点,红色点为对应的对偶格点。

在这里插入图片描述

取不同对偶向量会有不同划分法,层与层之间的距离与所选对偶向量的长度成反比,即 D i s t ( L i , L i + 1 ) = 1 ∥ v ∥ \mathrm{Dist}(L_i, L_{i+1}) = \frac{1}{\| \bm{v} \|} Dist(Li,Li+1)=v1

在这里插入图片描述

注意:层与层之间不包含格点。 如果在两个分层之间放置一个超球体,这个超球体也不会包含任何格点,可以用来逼近原有格覆盖半径的下界,即 μ ( L ) ≥ 1 2 ∥ v ∥ \mu(\mathcal{L}) \geq \frac{1}{2 \| \bm{v} \|} μ(L)2∥v1

在这里插入图片描述

如果对偶格的 λ 1 ( L ∨ ) \lambda_1(\mathcal{L}^\vee) λ1(L)很小,那么原有格的覆盖半径 μ ( L ) \mu(\mathcal{L}) μ(L)会很大。

在这里插入图片描述

Banaszczyk定理

定理1 对于任意格 L \mathcal{L} L,有 1 ≤ 2 λ 1 ( L ) ⋅ μ ( L ∨ ) ≤ n 1 \leq 2\lambda_1(\mathcal{L}) \cdot \mu(\mathcal{L}^\vee) \leq n 12λ1(L)μ(L)n

定理2 对于任意 i i i,有 1 ≤ λ i ( L ) ⋅ λ n − i + 1 ( L ∨ ) ≤ n 1 \leq \lambda_i(\mathcal{L}) \cdot \lambda_{n-i+1}(\mathcal{L}^\vee) \leq n 1λi(L)λni+1(L)n

BDD问题规约至SIVP问题上

下图简要给出了如何将BDD问题规约到SIVP问题上。个人疑问:为什么要选取SIVP问题的解? 推测是因为层间距离与 ∥ v i ∥ \| \bm{v}_i \| vi成反比,若不是挑选最短的基向量而是很长的向量的话,那么格划分的层数会非常多,导致计算复杂度极高。

在这里插入图片描述

这个算法以较大概率求解出BDD问题的解。如何判断这个概率呢?当满足 μ ( t , L ) ≤ λ 1 2 n ≤ 1 2 λ n ∨ ≤ 1 2 ∥ v i ∥ \mu(\bm{t}, \mathcal{L}) \leq \frac{\lambda_1}{2n} \leq \frac{1}{2\lambda_n^\vee} \leq \frac{1}{2 \| \bm{v}_i \|} μ(t,L)2nλ12λn12∥vi1时,算法输出的解为正确解。

已知格基,如何求对偶格基

定理3 若格 L \mathcal{L} L的基为 B \bm{B} B,那么 L ∨ \mathcal{L}^\vee L的基为 D = B ( B ⊤ B ) − 1 \bm{D} = \bm{B} (\bm{B}^\top \bm{B})^{-1} D=B(BB)1

参考:Dual lattice - Wikipedia

具体证明请参考:https://cseweb.ucsd.edu/classes/wi12/cse206A-a/LecDual.pdf

怎么求矩阵的乘积的逆矩阵?

矩阵的转置的逆

其它矩阵运算法则

致谢

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了证明 $i\max\min$ 是分配,我们需要证明它满足交换律、结合律、存在最大元和最小元以及对偶律。 首先证明交换律和结合律。对于任意三个元素 $x, y, z \in L$,有: $$ \begin{aligned} (x \max\min y) \max\min z &= (\max\{x, y\} \min\{x, y\}) \max\min z \\ &= (\max\{\max\{x, y\}, \min\{x, y\}, z\}) \min\{\max\{\max\{x, y\}, \min\{x, y\}, z\}\} \\ &= (x \max\min z) \max\min (y \max\min z) \end{aligned} $$ 这证明了 $i\max\min$ 满足交换律和结合律。 接下来证明存在最大元和最小元。我们将 $L$ 中的任意两个元素 $x$ 和 $y$ 相比较,有以下四种情况: - $x \leq y$,则 $x\max\min y = x$,$y\max\min x = y$; - $y \leq x$,则 $x\max\min y = y$,$y\max\min x = x$; - $x = y$,则 $x\max\min y = x = y$; - $x$ 和 $y$ 不可比,即既不满足 $x \leq y$ 也不满足 $y \leq x$,则 $x\max\min y$ 和 $y\max\min x$ 均未定义。 因此,$L$ 中的最大元是 $\max L$,最小元是 $\min L$,它们分别满足: $$ \begin{aligned} x \max\min \max L &= \max L, \quad \forall x \in L \\ \min L \max\min x &= \min L, \quad \forall x \in L \end{aligned} $$ 最后证明对偶律。设 $L^\mathrm{op}$ 是 $L$ 的对偶,$x, y \in L$,则: $$ \begin{aligned} x \max\min y &= \max\{x, y\} \min\{x, y\} \\ &= \min\{x^\mathrm{op}, y^\mathrm{op}\} \max\{x^\mathrm{op}, y^\mathrm{op}\} \\ &= y^\mathrm{op} \max\min x^\mathrm{op} \end{aligned} $$ 因此,$i\max\min$ 满足对偶律。综上所述,$i\max\min$ 是分配

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值