格密码基础:q-ary格
接着我们可以借助此性质对q-ary垂直格的矩阵A进行扩展,形成新的q-ary垂直格。今天,可以从抽象代数的角度理解格点:m维的格。这个定理的证明需要用到很多线性代数的基础,如果有人感兴趣,后期再补上吧。格密码的基础是研究格点上的困难问题,这种格点使用抽象代数的观点则是。右边代表对矩阵A的变换,看q-ary格的原始定理可直接列出。(在非满秩情况下,格的维度比最大的维度要小)。当然,正常情况下,研究格
目录
一. 格密码的重要性
格密码的基础是研究格点上的困难问题,这种格点使用抽象代数的观点则是上的子群。格密码近些年非常火热,主要由于以下几点:
- 抗量子攻击。基于传统数论的公钥密码系统是无法抵抗量子攻击的,这也是格密码最大的优势;
- 效率很高,可以平行操作。这个其实不能一概而论,得看实际情况。但目前我们常见的格密码方案效率都挺高的;
- 可实现最坏情况与平均情况之前的归约(worst case to average case);
- 利用格密码相关理论可解决以前比较棘手的困难问题,这个地方的困难问题,指的是密码界常说的open question;
密码学的基础是LWE(learning with errors)和SIS(short integer solution)问题,当然也包括这两个问题的环版本。通常Ring版本的计算效率会更高。这两个问题可以实现可证明安全,由此让密码学家前仆后继。
二. 格密码基础
2.1 格点的另一种理解方式
有关格密码基础可以参看此篇博客:
今天,可以从抽象代数的角度理解格点:m维的格可以看成上的离散加法子群。
其中,格的秩与矩阵的秩k类似,满足(在非满秩情况下,格的维度比最大的维度要小)。由此,给定格基,该格基由k个线性独立的m维列向量组成,对该格基进行遍历整数倍线性组合即可形成格,如下:
当然,正常情况下,研究格密码的论文大多是满秩格,也就是常说的且,也就是格基中向量的个数与向量的维度是一样的。(如果涉及格上高斯采样,有可能会出现非满秩格)。
2.2 对偶格
格形成的整个空间,通常叫做。如果从格上取一个格点,接着再取一个向量点,满足如下要求的点,称之为对偶格:
这个是从格点的角度看对偶格,还可以从格基的角度出发。
如果格非满秩,原始格的格基为B,那么对偶格的格基如下:
大家看这个式子可能有点复杂,其实就是伪逆。在满秩格下,对偶格的格基就是先求逆再转置,如下:
三. q-ary格
其实准确来讲,应该分为q-ary垂直格和q-ary格,中文有的时候也叫q元格。
很多格密码的方案都是建立在q-ary格上的,之所以起这个名字是因为一定是q-ary垂直格的子格。
备注:q-ary格一般都为整数格。
3.1 q-ary垂直格
我们先来看一个矩阵。对于正整数n和q,选出(密码学通常要求该矩阵随机取),这个矩阵是公开的,如果有一个向量z乘以该矩阵为0向量,那么把满足此条件的向量z全部都组合在一起,就称之为q-ary垂直格,如下:
很明显可以得出一定是该格的子格。
3.2 q-ary格
同样,先选出一个矩阵,接着遍历向量,将两者相乘,得到新的向量z,即可形成q-ary格,如下:
3.3 二者结合
实际上,q-ary格和q-ary垂直格互为q倍的对偶格,如下:
在这里就不证明了。当然,部分论文类推,也会出现“1-ary”格,也就是:
此格既包含整数,又包含小数,可得为其子格。
如果我们将中的0改为任意向量,如下:
就会出现平移格或者叫陪集格(coset),如下:
陪集格与原始格的关系,如下:
四. 论文中的q-ary格
密码学三大会中经常会出现q-ary格,这里梳理一些论文中常用的相关结论。
随机取一个,假定q-ary垂直格的某个格基为。
注意矩阵A的维度与格维度的关系。
4.1 定理1
对任意幺模矩阵,都有:
理解:该定理描述了幺模矩阵与q-ary垂直格的关系。左边代表对每个q-ary垂直格进行幺模矩阵变换,该新格的格基为。右边代表对矩阵A的变换,看q-ary格的原始定理可直接列出。
4.2 定理2
对任意可逆的方阵,q-ary垂直格都满足:
理解:矩阵可逆的话,可直接变为,与原来的q-ary垂直格等效。(注意矩阵H的顺序在左边)
4.3 定理3
设定矩阵的列秩大于等于n,也就是矩阵A中有m个列向量,每个向量的维度为n,换句话说也就是矩阵A的列向量可构成整个空间。接着随机取矩阵以及矩阵,满足如下:
接着我们可以借助此性质对q-ary垂直格的矩阵A进行扩展,形成新的q-ary垂直格,该q-ary垂直格的格基为:
证明:
简单来看,将[A'|A]看成一行两列的矩阵,将S'看成两行两列的矩阵,运算:
运算的结果为一行两列。
第一个元素运算可得:
其中AW满足:
带入可得:
第二个元素运算可得:
综上可得:
也就是新的q-ary垂直格的格基为S'
另外,我们知道格基是可以进行正交化的。其实S'正交化后的矩阵如下:
单位矩阵不改变长度,通过矩阵的表达形式不难看出,该矩阵的模长与原始格基S正交化的模长相等,也就是:
小结补充
NIST 的 CRYSTALS-KYBER、FALCON、CRYSTALS-Dilithium 和 Sphincs+ 4 个 PQC 标准化算法中,除了 Sphincs+ 为基于哈希函数的签名算法,其他均为基于格的密码算法。国内也投入了大量研究力量集中攻关基于格的密码算法。后量子密码算法除了基于格、哈希函数、多变量、编码的技术路线,还有基于同源曲线的技术路线。因此,有必要拓展更多的后量子密码算法体制研究方向来积极应对未知的量子计算世界。回归本源,密码学是数学的延伸,探索密码学和数学的跨学科融合,利用现代数学的理论赋能密码学的拓展研究,探索新的数学困难问题,有利于研制具有自主技术特色的后量子密码体制。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)