0
点赞
收藏
分享

微信扫一扫

格密码的基础概念

格密码的基础概念


前言

首先引入数学上的一个概念“格点”。怎么定义格点呢?格点是n维空间中的一组具有周期性结构的点,如下图所示(二维空间的“格”)。三维空间的“格点”可以出现在一些晶体中,就像一堆整齐叠放的橘子。历史上,从18世纪末开始,拉格朗日、高斯以及后来的闵可夫斯基等数学家已经开始研究“格”这个概念。
二维空间的“格”
近几年,“格”已经成为计算机科学领域中研究的热点性问题之一。“格”可以看成解决安全问题的算法工具;结合计算复杂性,“格”在密码学和密码分析中应用广泛。

一.格的定义

给定n维空间中一组线性无关向量,其整系数组合构成的集合称为格。
请添加图片描述
此处的 ( b 1 , ⋯   , b n ) (b_1,\cdots,b_n) (b1,,bn)定义为格基。同一个格可以由多组不同的格基生成。 b 1 , ⋯   , b n ∈ b_1,\cdots,b_n\in b1,,bn R m R^m Rm,此处如果m=n,则称该“格”满秩。因为格是否满秩对它的性质研究影响不大,所以通常研究满秩的格。
举例:
格基 ( 1 , 0 ) T (1,0)^T (1,0)T ( 0 , 1 ) T (0,1)^T (0,1)T可以产生二维空间的所有整数格。如下图:
请添加图片描述
能产生二维空间的所有整数格的格基不唯一,还可以是: ( 1 , 1 ) T 与 ( 2 , 1 ) T , ( 2021 , 1 ) T 与 ( 1 , 2022 ) T (1,1)^T与(2,1)^T,(2021,1)^T与(1,2022)^T (1,1)T(2,1)T(2021,1)T1,2022)T,如下图:
请添加图片描述
格基 ( 1 , 1 ) T (1,1)^T (1,1)T ( 2 , 0 ) T (2,0)^T (2,0)T不能产生二维空间的所有整数格。如下图打“×”的为可产生的格,横纵坐标相加为偶数:
请添加图片描述

二. 格的延展空间

格基实系数组合生成的空间为延展空间。(区别于前面定义的整数)

请添加图片描述

三. 格的基本区

格基在[0,1)中实系数组合生成的空间,称为格的基本区。

请添加图片描述
如果将格基 ( 1 , 1 ) T (1,1)^T (1,1)T ( 2 , 0 ) T (2,0)^T (2,0)T基本区平移放置在每个格点上,就可以形成此格的延展空间 s p a n ( L ( B ) ) span(L(B)) span(L(B)),如下图:
请添加图片描述

四.格基的判断定理

秩为n的格 Λ \Lambda Λ上线性无关的向量组 B = b 1 , ⋅ ⋅ ⋅ b n B=b_1,···b_n B=b1,bn为格 Λ \Lambda Λ的基,当且仅当: P ( B ) ∩ Λ = { 0 } 。 P(B)\cap\Lambda=\lbrace0\rbrace。 P(B)Λ={0}
证 明 方 法 \color{red}{证明方法} :依据格的定义可得。
类推逆定理也对。
请添加图片描述

五. 格基的关系

当给出两组格基 B 1 , B 2 B_1,B_2 B1,B2,如何判断它们产生的格是一样的呢,也就是 L ( B 1 ) = L ( B 2 ) L(B_1)=L(B_2) L(B1)=L(B2)吗?
B 1 , B 2 B_1,B_2 B1,B2为同一个格的格基,当且仅当存在幺模矩阵U,满足 B 1 = B 2 U B_1=B_2U B1=B2U
证明充分性过程如下:
请添加图片描述
证明必要性:已知 B 2 = B 1 U , U 为 幺 模 矩 阵 B_2=B_1U,U为幺模矩阵 B2=B1U,U,求证 L ( B 1 ) = L ( B 2 ) L(B_1)=L(B_2) L(B1)=L(B2)
依据 B 2 = B 1 U B_2=B_1U B2=B1U,所以 B 2 B_2 B2的每一列都包含在 L ( B 1 ) L(B_1) L(B1)中,所以 L ( B 1 ) L(B_1) L(B1) ⊆ \subseteq L ( B 2 ) (B_2) (B2)。依据幺模矩阵的性质,同理可得 L ( B 2 ) L(B_2) L(B2) ⊆ \subseteq L ( B 1 ) (B_1) (B1)。所以 L ( B 1 ) = L ( B 2 ) L(B_1)=L(B_2) L(B1)=L(B2)
提 示 : 行 列 式 等 于 ± 1 的 方 阵 称 为 幺 模 矩 阵 , 幺 模 矩 阵 的 逆 依 旧 为 幺 模 矩 阵 。 \color{red}{提示:行列式等于\pm1的方阵称为幺模矩阵,幺模矩阵的逆依旧为幺模矩阵。} ±1
此 处 矩 阵 乘 法 的 相 关 性 质 略 。 \color{red}{此处矩阵乘法的相关性质略。}
推论1:矩阵B是 Z n Z^n Zn的格基,当且仅当它为幺模矩阵。
推论2:若属于同一个格,则两组基可以相互整系数表示

六. 格基的变换

B 1 , B 2 B_1,B_2 B1,B2为同一个格的基,当且仅当可以通过下述变换进行转换:
请添加图片描述
根据行列式的性质,上式中的变换对应的变换矩阵的行列式为 ± 1 \pm1 ±1

七. 格的行列式

Λ = L ( B ) \Lambda=L(B) Λ=L(B)的行列式定义为 d e t ( Λ ) = d e t ( B T B ) 2 det(\Lambda)=\sqrt[2]{det(B^TB)} det(Λ)=2det(BTB)
Λ \Lambda Λ满秩时,矩阵B为方阵,格 Λ = L ( B ) \Lambda=L(B) Λ=L(B)的行列式直接为为KaTeX parse error: Expected 'EOF', got '}' at position 22: …ambda)=|det(B)|}̲
推 论 1 \color{green}推论1 1:格的行列式与具体基无关。证明如下:
假定 B 1 与 B 2 B_1与B_2 B1B2为格 Λ \Lambda Λ的两组不同格基,依据定义六 B 2 = B 1 U , U 为 幺 模 矩 阵 B_2=B_1U,U为幺模矩阵 B2=B1U,U。可得如下变换:
请添加图片描述
推 论 2 \color{green}推论2 2:格行列式的大小与格点的密度成反比。在格的延展空间中取一个n维的球K,球内格点数与 v o l ( K ) d e t ( Λ ) \frac{vol(K)}{det(\Lambda)} det(Λ)vol(K)成正比例,其中vol(K)为n维球K的体积。
推 论 3 \color{green}推论3 3:格的行列式等于格的基本区面积,与具体基无关

八. Gram-Schmidt正交化

在线性代数中,Gram-Schmidt正交化是将n个线性独立的向量产生n个正交向量。原理就是将每一个向量都正交投影到其他剩余向量的空间维度上,以二维空间为例,如下:
请添加图片描述
由此,对于一组线性无关向量 B = b 1 , … , b n B=b_1,\dots,b_n B=b1,,bn,其Gram-Schmidt正交化定义为如下:
请添加图片描述
其中, b i ~ \tilde{b_i} bi~ b i b_i bi垂直于 b 1 ~ , … , b i − 1 ~ \tilde{b_1},\ldots,\widetilde{b_{i-1}} b1~,,bi1 的部分。
推 论 1 \color{blue}推论1 1 若 i ≠ 若i\neq i= j j j则夹角 < b i ~ , b j ~ > = 0 <\tilde{b_i},\tilde{b_j}>=0 <bi~,bj~>=0
推 论 2 \color{blue}推论2 2:对于 1 ≤ 1\leq 1 i ≤ i\leq i n n n,延展空间 s p a n ( b 1 , … , b i ) = s p a n ( b 1 ~ , … , b i ~ ) span(b_1,\ldots,b_i)=span(\tilde{b_1},\ldots,\tilde{b_i}) span(b1,,bi)=span(b1~,,bi~)
推 论 3 \color{blue}推论3 3:向量 b 1 ~ , … , ~ b n \tilde{b_1},\dots,\tilde{}b_n b1~,,~bn一般不是格 L ( b 1 , … , b n ) L(b_1,\dots,b_n) L(b1,,bn)的格基,甚至一般都不在格上。
推 论 4 \color{blue}推论4 4 B 的 向 量 顺 序 不 同 , 得 到 的 B ~ \bf{B}的向量顺序不同,得到的\tilde{B} BB~也不同。所以通常将这些向量类比为数列而不是集合。

结论

格密码的应用领域广泛。
请添加图片描述
格密码与普通密码算法相比,优势众多。
请添加图片描述

举报

相关推荐

0 条评论