目录
[一. 介绍](#一. 介绍)
[二. Ring-SIS问题相关的参数](#二. Ring-SIS问题相关的参数)
[三. Ring-SIS问题定义](#三. Ring-SIS问题定义)
[四. 相比SIS问题的优点](#四. 相比SIS问题的优点)
[五. 与SIS问题之间的关系](#五. 与SIS问题之间的关系)
一. 介绍
在1998年,有关多项式环密码系统NTRU被提出。Ajtai提出了原始的SIS问题。
在2002年,Micciancio发现可以将这两者结合,提出了效率更高的密码学上问题,也就是本文章将要介绍的SIS问题,已经对应的函数。
在格密码专栏中,我将陆续更新Ring-SIS问题的定义,它与原始SIS问题的关系,其在最坏情况(worst case)下的困难性分析。而且还包含在环结构下,形成一个新的概念叫理想格(ideal lattice)。
二. Ring-SIS问题相关的参数
通常我们可以把环结构R看成一个次数为n的多项式,完整结构如下:

下面的多项式有f(x)有两者常用的结构。第一个是2002年提出的:

第二个是2008年被提出,其指数是2的幂形式,如下:

这个地方可以直观上把环R看成任意多项式模f(X)运算的结果,这样的话,最终就是一个整数的多项式,其次数小于n
环R内的每个元素,也有模的理解,通常写做:

可以简单将其看成扩展的系数向量对应的模长。在环R上选择一个向量z,那么其模长可理解为:

如果对以上多项式的系数大小进行限制的话,那么可以把每个数都模q,那么可以形成新的环,如下:

那么现在每个环上的元素代表次数小于n,系数从整数环Zq内进行选取的元素。
Ring-SIS问题的关键在于限定结果的模长,那么需要给定一个实数模的上限,如下:

样本的个数通常设定为m
在SIS问题中,同样的几个参数:次数n,模q,长度上限。当然相比SIS问题中的m,Ring-SIS问题只需要少n倍的样本个数即可。
三. Ring-SIS问题定义
带参数的环SIS问题,可简写为如下:

给定m个均匀且随机分布的a,如下:

也可以将其写成向量的格式如下:

在满足如下等式的情况下:

我们的目标是寻找到对应的非零向量z,如下:

注意此处的z为m维向量,向量的每个位置都是一个多项式。
四. 相比SIS问题的优点
Ring-SIS问题的效率性更高一点。解释如下:
在Ring-SIS中,样本a的格式如下:

为了需要保证短解的存在,样本的个数是有要求的:

然而在原始的SIS问题中,需要多n倍的样本,如下:

简单给个解释。从环内任意取一个元素:

该元素就是一个次数小于n的多项式,所以其短的情况个数有:

这些短解将会作为a的系数。
然而在SIS问题中,a的格式如下:

其短解存在的个数会更少一些。
在计算意义上,环结构的效率也要更高一些。在Ring-SIS问题,我们需要计算如下:

利用FFT技术,我们计算的复杂度只需要拟线性(quasi-linear)时间,通常记为:

选择合适的模数q和样本数m,那么计算如下函数也近似拟线性时间:

五. 与SIS问题之间的关系
SIS问题与Ring-SIS问题之间有相似的代数性质。在网络安全领域,一个密码系统两者之间往往可以互相转换。当然这种转换往往需要说清楚其中的安全性证明(security proof)。
在这里我将举一个例子来解释有环结构和无环结构之间的联系。
在Ring-SIS中,我们需要均匀且随机的取一个环元素,如下:

在SIS中这对应着n维的向量,当然向量不同位置元素之间是有联系的,如下:

可以把此处的n看成整数Z上环R的系数(degree)。
那么借助这种理解,环-SIS问题的答案格式如下:

就对应着SIS问题答案中的n个整数。
根据经验主义,原始SIS问题带有一种特殊的结构(instance),就可以形成Ring-SIS.
(1)利用格的观点看环多项式
可以把环R内的元素看成由整数格基产生,那么环R则是n维的,对应关系如下:

类似的,可得:

这种对应关系其实就是抽象代数中的加法群同态(additive group isomorphism)。在这种理解下,短解是可以类推的。
可以把环R的结构看成如下:

那么单项式对应着第(i+1)个基向量e,如下:

那么环-SIS问题中的z格式如下:

对应SIS中的维度也就是nm,如下:

(2)环内乘法
如果从商环中选择一个元素a,如下:

让后将任意其他环元素进行与之相乘,那么就相当于是一种Z-Linear函数运算过程:
R to Rq
将此相乘的过程可以看成乘以一个n维方阵,如下:

看成矩阵相乘的话,那么这个过程对应着映射:
to
比如我们来看一个例子。
给定一个环结构如下:

那么商环Rq内的元素a就对应着循环矩阵,矩阵第一列的元素就是系数向量a。这样子来看的话,我们可以从Ring-SIS中给出一个instance,如下:

每一个ai都对应着一个循环矩阵,那么其在SIS中对应的instance如下:

以上理解的根源来自于抽象代数(abstract algebra),有很多跟群环域相关的理解,有时间的话,在本专栏会陆续补充相关的基础数学在网络安全中的应用。