格密码与线性代数

目录

写在前面

一. 幺模矩阵

二. Gram-Schmidt 正交化

三. 矩阵分解

四. 格基本区

五. 对偶格基

六. 矩阵伪逆

七. 正定矩阵

八. 矩阵转置

九. 奇异值分解(SVD分解)


格密码中格基是矩阵,格点是向量。本文章梳理一些格密码常用到的一些线性代数的知识点。

写在前面

正式文章之前,有几点需要注意:

(1)集合

R代表实数,Z代表整数。当k非负时,有限的集合可表示为:

eq?%5Bk%5D%3D%5Clbrace%201%2C2%2C%5Ccdots%2Ck%5Crbrace

(2)向量与矩阵

向量在格密码相关的论文中一般用小写加粗字母表示,比如eq?%5Cbold%7Bx%7D,并且一般代表列向量。当然,eq?%5Cbold%7Bx%7D%5Et则代表行向量。

矩阵一般用大写加粗字母表示。一个矩阵可以用很多个列向量表示,如下:

eq?%5Cbold%7BX%7D%3D%5Clbrace%20%5Cbold%7Bx_1%7D%2C%20%5Cbold%7Bx_2%7D%2C%5Ccdots%5Crbrace

与常规线性代数中矩阵不一样,像这种矩阵在格密码中一般代表格基,所以向量的顺序是可以变的,也就是所谓的interchangeably。

(3)统计距离(statistical distance)

两个分布X与Y的定义域为D,其统计分布定义为:

eq?%5CDelta%28X%2CY%29%3D%5Cfrac%7B1%7D%7B2%7D%5Csum_%7B%5Comega%5Cin%20D%7D%7CX%28%5Comega%29-Y%28%5Comega%29%7C

统计距离满足三角不等式(triangle inequality)。eq?%5Cepsilon-uniform代表某分布与均匀分布的距离至多为eq?%5Cepsilon

一. 幺模矩阵

对格基乘以整数幺模矩阵,会得到新的格基,该格基形成的格点与原来的格点一样。

幺模矩阵eq?U%5Cin%20Z%5E%7Bm%5Ctimes%20m%7D满足:

eq?%7Cdet%28U%29%7C%3D1

幺模矩阵的逆eq?U%5E%7B-1%7D%5Cin%20Z%5E%7Bm%5Ctimes%20m%7D中的元素依旧为整数,且为幺模矩阵。举一个简单的幺模矩阵的例子:

06dca48e1d05419bb864d38c8bc3a581.png

二. Gram-Schmidt 正交化

将格基的一列看成一个向量,也就是:

eq?V%3D%5Clbrace%20v_1%2C%5Ccdots%2Cv_k%5Crbrace%5Cin%20R%5En

假定Gram-Schmidt 正交化是按顺序进行的,正交化后记作:

eq?%5Ctilde%20V%3D%5Clbrace%20%5Ctilde%20v_1%2C%5Ccdots%2C%5Ctilde%20v_k%5Crbrace

可以将eq?%5Ctilde%20v_i看成向量eq?v_i的分量。对格密码而言,最重要的性质则是eq?%5Ctilde%20v_ieq?span%28v_1%2C%5Ccdots%2Cv_%7Bi-1%7D%29垂直。eq?span%28v_1%2C%5Ccdots%2Cv_%7Bi-1%7D%29代表向量eq?v_1%2C%5Ccdots%2Cv_%7Bi-1%7D形成的整个空间。

备注:格基正交化的顺序不一样,结果也不一样。

三. 矩阵分解

对格基矩阵V可作如下分解:

eq?V%3DQDU

其中eq?Q%5Cin%20R%5E%7Bn%5Ctimes%20k%7D为正交阵,eq?D%5Cin%20R%5E%7Bk%5Ctimes%20k%7D为对角阵(对角线的值均大于等于0),eq?U%5Cin%20R%5E%7Bk%5Ctimes%20k%7D为上三角矩阵且对角线元素的值均为1。

备注:对角阵D中的元素与矩阵V的奇异值有关,所以不可能出现负数。

通常格基中的向量都是线性独立的,所以根据线性代数的基础,我们知道这种分解也是唯一的。

而且Gram-Schmidt 正交化后向量的长度与矩阵D对角线元素的值是有关系的,也就是:

eq?%7C%7C%5Ctilde%20v_i%7C%7C%3Dd_%7Bi%2Ci%7D

其中eq?d_%7Bi%2Ci%7D为矩阵D对角线元素的值。

四. 格基本区

给定任意格基eq?V%3D%5Clbrace%20v_1%2C%5Ccdots%2Cv_n%5Crbrace,可形成格基本区。如果把该基本区进行平移,让原点处于该基本区的中心,也就是所谓的origin-centered parallelepiped,如下:

P_{1/2}(V)=V\cdot [-\frac{1}{2},\frac{1}{2})^n

五. 对偶格基

原格基为eq?V,对偶格基为eq?V%5E*,利用如下公式可计算对偶格基:

eq?V%5E*%3DV%5E%7B-t%7D%3D%28V%5E%7B-1%7D%29%5Et

通俗来讲就是先对格基求逆,再转置(先转置在求逆也一样)就是对偶格的格基。整个过程非常丝滑。

其实对偶格Gram-Schmidt 正交化的结果与原来格基也有关系,先上结论:

%7C%7C%5Ctilde%20v_i%7C%7C%5E2

其实就是向量长度互为倒数,如下:

%7C%7C%5Ctilde%20v_i%7C%7C

备注:注意原格基和对偶格基Gram-Schmidt正交化的顺序刚好相反。

六. 矩阵伪逆

有些方阵eq?X不能直接求逆,这个时候就需要利用伪逆(有的时候也叫Moore-Penrose伪逆),为方便后续解释,暂时记为eq?X%5E%7B+%7D。原矩阵和伪逆矩阵需要满足:

eq?%28XX%5E+%29X%3DX

反过来也经常利用:

eq?X%5E+%28XX%5E+%29%3DX%5E+

需要注意的是eq?XX%5E+不等于单位阵,但是eq?XX%5E+eq?X%5E+X均为对称矩阵。

在格密码中,原矩阵和伪逆矩阵的空间是不变的,也就是:

eq?span%28X%29%3Dspan%28X%5E+%29

七. 正定矩阵

给定一个对称矩阵eq?%5CSigma%5Cin%20R%5E%7Bn%5Ctimes%20n%7D,对任意非零向量eq?x%5Cin%20R%5En,都满足如下不等式:

eq?x%5Et%5CSigma%20x%3E0

则称该矩阵eq?%5CSigma为正定矩阵(positive definite),通常记为eq?%5CSigma%3E0

当然,如果不等式改为:

eq?x%5Et%5CSigma%20x%5Cgeq%200

则称该矩阵为半正定(positive semidefinite)矩阵,记为eq?%5CSigma%5Cgeq%200

实际上,正定矩阵一定可以求逆,并且逆矩阵也为正定矩阵,也就是eq?%5CSigma%5E%7B-1%7D%3E0

但是半正定矩阵不一定可以求逆,可以利用伪逆,其伪逆也为半正定矩阵,也就是eq?%5CSigma%5E+%5Cgeq%200

在格密码论文中,如果看到eq?%5CSigma_1%3E%5CSigma_2,其实是想表达两个矩阵相减为正定矩阵eq?%28%5CSigma_1-%5CSigma_2%29%3E0。这个结论换成半正定矩阵也是成立的。另外,如果原矩阵满足这种不等关系,逆矩阵也有类似的结论。换句话说,如果eq?%5CSigma_1%5Cgeq%20%5CSigma_2%5Cgeq%200,可得eq?%5CSigma_2%5E+%5Cgeq%20%5CSigma_1%5E+%5Cgeq%200

八. 矩阵转置

“七”中谈到的对称矩阵有一个非常简单的实现方式。给定任意矩阵eq?B,将该矩阵的转置乘以本身,得到新的矩阵则为对称矩阵。也就是,eq?%5CSigma%3DBB%5Et。另外其实很好证明,这个矩阵eq?%5CSigma则是一个半正定矩阵,因为:

eq?x%5Et%5CSigma%20x%3D%5Clangle%20B%5Etx%2CB%5Etx%5Crangle%3D%7C%7CB%5Etx%7C%7C%5E2%5Cgeq%200

如果矩阵B非奇异(nonsingular),那么该不等式恒大于0

这个结论可以反推。如果已知某矩阵eq?%5CSigma%3E0,那么该矩阵存在平方根,也就是eq?B%3D%5Csqrt%20%5CSigma。根据半正定矩阵的性质,任意eq?%5CSigma%5Cgeq%200都存在平方根,而且求平方根的过程多项式时间复杂度内可以解决(比如利用Cholesky分解法)。

九. 奇异值分解(SVD分解)

奇异值分解,英语为singular value decomposition,经常在格密码中被简称为SVD分解。奇异值分解主要是给非方阵准备的,对任意矩阵eq?B%5Cin%20R%5E%7Bn%5Ctimes%20k%7D,一定可以作如下分解:

eq?B%3DQDP%5Et

其中eq?Q%5Cin%20R%5E%7Bn%5Ctimes%20n%7D%2CP%5Cin%20R%5E%7Bk%5Ctimes%20k%7D均为正交矩阵,eq?D%5Cin%20R%5E%7Bn%5Ctimes%20k%7D为对角阵。对角线上的值通常以降序排列,并且每个值均大于等于0。实际上,对角线上的值就是矩阵B的奇异值eq?s_i%5Cgeq%200。如果想求最大的奇异值s_1,通常利用如下:

s_1(B)=max_u||Bu||=max_u||B^tu||\geq ||B||,||B^t||

其中,u为任意单位向量eq?u%5Cin%20R%5Ek

有关奇异值分解更详细的解释,请看此篇博客:

超详细解释奇异值分解(SVD)【附例题和分析】-CSDN博客

小结

根据底层数学困难问题分类,后量子密码算法研究目前主要有 5 种技术路线,分别是基于格的密码、基于编码的密码、基于多变量的密码、基于哈希函数的签名以及基于曲线同源的密码。2022 年 7 月 NIST 公布的后量子密码标准化遴选进展中,基于格的密码和基于安全哈希函数的签名算法已入选为标准,基于编码和超奇异同源的密码算法入选第四轮筛选并开展进一步评估,而其中基于超奇异同源的密码算法 SIKE 被完全破解。

4612cf1cebbb4d278f56a0783b1de496.png

  • 29
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唠嗑!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值