0 引言
环签名是由Rivest等
[1]于2001年提出的一种可以实现完全匿名的数字签名技术。在环签名方案中,签名者通过选择一个临时的集合,使用自己的私钥和集合中其他成员的公钥生成签名,验证者通过使用环中成员的公钥来验证签名的有效性。这个过程不需要经过其他成员的同意,验证者只能确认签名来自这个环集合,但是不能确定是环中哪个成员生成的签名,即验证者不能跟踪签名者的真实身份,保证了用户的匿名性,因此环签名方案在电子投票
[2]、电子现金
[3]、车联网
[4]等领域具有广泛的应用。
随着量子计算机的提出,基于传统经典数论难解问题的密码体制变得不再安全,学者们开始积极寻找能够抵抗量子计算机攻击的新的密码算法。目前,抗量子安全的密码体制主要有基于哈希(Hash-based)、基于编码(Code-based)、基于多变量(Multivariate-based)、基于格(Lattice-based)4种。而其中基于格的密码体制的困难问题存在一般情况到最坏情况下的规约,且具有较高的算法效率和并行性,具有独特的优势,所以受到更多关注。
在基于格的环签名方案研究中,Brakerski和Kalai
[5] 首先在标准模型中提出了一种基于格的具有环陷门功能的通用环签名方案,主要基于非齐次的最短整数解问题(Inhomogeneous Short Integer Solution,ISIS)实现。但是,该方案仅在比较弱的安全定义下才是安全的,要达到完全的安全性,则需要进行低效的转换。Melchor等
[6]将Lyubashevsky在文献[
7]中提出的基于格的签名转换为环签名,但是这个方案并不实用。2016年,Libert等在文献[
8]中提出了一种基于格的累加器,借助累加器和格理论中的零知识证明系统,构建了具有对数签名尺寸的环签名方案,但是,累加器中应用的零知识参数效率很低。Esgin等
[9]采用文献[
10-
11]中提出的多对一零知识证明构造了一个基于格的环签名方案,与文献[
8]相同,文献[
9]中的方案也是对数大小,并且在随机预言模型中是安全的。此外,还有很多基于格的环签名方案被提出
[12-16],但是这些方案均采用了拒绝抽样技术,需要不断重复,直至生成符合要求的签名。
总体来说,现有的基于格的环签名方案,要么使用了零知识证明,要么使用了拒绝抽样技术,具有花销大且签名尺寸大的问题。为解决这些问题,本文采用不可区分分布替代拒绝抽样,次高位比特代替原始数值相结合的方法,提出了一种基于格的高效环签名方案(Lattice-based Ring Signature Scheme with Near-high-bits Technique, NHB-LRS)。该方法可以不重复成功地生成签名,而且可减小签名尺寸。
1 预备知识
1.1 符号说明
1.2 困难问题
公钥密码学中,密码方案的安全性一方面依赖于私钥的安全性,另一方面依赖于求解密码方案底层数学假设的困难程度,基于格的密码学也不例外。Albrecht和Bos等
[17-18]的研究表明,秩大的具有模运算的格比理想格能抵抗更多的攻击,同时,模运算的格假设仍然可以保留格的结构来构建大量的短而可逆的元素,因此,本方案主要基于模格上的小整数解(Module Short Integer Solution,MSIS)、搜索模格上的容错学习(Search Module Learning with Errors,S-MLWE)、判定模格上的容错学习(Decision Module Learning with Errors,D-MLWE)三个格上的困难问题及其变体,具体给出下面的困难假设:
定义1 MSIS 问题:给定一个随机矩阵,找到一个向量,使得,其中且,是困难的。
定义2 S-MLWE 问题: 均匀随机地选择一个向量,给定,其中为一个随机矩阵,,找到一个向量,使得,其中,是困难的。
定义3 D-MLWE 问题:随机给定及,与的分布是不可区分的,其中表示从集合中随机选取。
1.3 数学工具
1.3.1 范数
对于,给出的范数定义如下:
; ; 。
1.3.2 次高比特
假设,且,令,对每个
将的前比特记作,则
且,
此时为的次于最高比特的数值,称为次高比特,记作
当为一个多项式时,对每个系数做如下处理:
,这里即为的次高比特,称为多项式的次高比特。
次高比特具有如下性质:
对任意的,,,如果,则。
这个性质说明,对给定的,有唯一的与之对应,且发生细微改变的同时,会发生较大改变,所以可以用次高比特来代替,作为密钥,从而减少密钥和签名尺寸,提高方案的效率。
1.4 环签名
环签名是一种可以用来保护签名者隐私的特殊数字签名。其基本原理是,在签名过程中将签名者组成一个环,在环上生成一个临时公私钥对,并利用临时公钥对进行签名。其他人可以验证签名的有效性,但无法确定签名者的身份。一个环签名方案由以下四种算法组成:
初始化Setup:该算法的输入是一个安全参数,输出为公共参数。
密钥生成KeyGen:该算法的输入是公共参数,输出为环中每位用户的公钥和私钥。
签名生成Sign:该算法的输入是公共参数、要签名的消息、签名者的私钥、环成员的公钥列表,输出为签名。
验证算法Verify:该算法的输入是消息上的签名,输出为,其中1表示签名有效,0表示签名无效。
1.5 安全模型
一个好的环签名方案必须具有正确性、不可伪造性、匿名性等特性。
令表示签名方案中用户的公钥列表,表示密钥生成预言机、表示签名预言机、哈希预言机,功能分别如下:
:基于输入的,输出相应的。
:基于输入的一个公钥集(其中是由生成的),一个消息,输出一个有效的签名。
:输出一个哈希值。
定义4 正确性。 如果合法签名者通过签名算法生成的签名正确,验证算法输出1的概率为1。
定义5 不可伪造性。对于多项式时间的敌手和模拟器,赢得以下游戏的优势记为。如果该优势可以忽略不计,则称环签名是不可伪造的。游戏过程如下:
(1) 可以获得生成的公钥列表。
(2) 获得环签名。
(3) 调用Verify算法输出。
(4) 当下列条件满足时,就说敌手赢得游戏:
— 输出的为1;
— 敌手只查询;
— 没有要求被签名。
(5) 。
定义6 匿名性。对于多项式时间的敌手和模拟器,赢得以下游戏的优势记为,如果该优势可以忽略不计,则称环签名具有匿名性。游戏过程如下:
(1) 发送给,其中,是消息。
(2) 在中随机选择一个。
(3) 调用Sign算法计算。
(4) 将发送给。
(5) 输出。
(6) 当下列条件满足时,就说敌手赢得游戏:
— 不能使用与;
— 的概率为。
2 NHB-LRS方案的构造
本文所构造的方案,主要利用不可区分的分布来代替拒绝样本,次高位比特代替原始数相结合的方法,该方法成功生成签名的概率为1。本方案包含一个签名者和一组其他成员的公钥,有初始化Setup,密钥生成算法KeyGen,签名算法Sign,验证算法Verify四个算法,下面给出具体描述。
2.1 初始化阶段Setup
该算法的输入为,输出为、,是一个映射到的哈希函数。
2.2 密钥生成算法KeyGen
KeyGen算法的输入是,对于第个用户,按照如下过程生成公私钥对:
(1)计算;
(2)均匀随机地选取;
(3)计算,私钥。
()即为算法输出的密钥对,其中是公钥,是私钥。
2.3 签名算法Sign
签名者为,其选择的环成员集合为,此时环成员的公钥形成一个环,签名者使用自己的私钥对消息进行签名,因此Sign算法的输入是签名者的私钥、消息、各用户的公钥列表和公共参数,其输出是签名。签名的细节如下:
(1)计算;
(2)当时:
随机选择,计算,其中;
(3)计算。
签名为。
2.4 验证算法Verify
此算法的输入是消息、签名、公钥和公共参数,输出是0或1,0表示签名是无效的,1表示签名是有效的。验证者通过如下过程验证签名的正确性:
当计算:
(1);
(2)。
如果输出1,否则输出0。
3 方案的正确性和安全性分析
下面将证明我们方案的验证算法是正确的。
定理1 算法的验证过程是正确的。
证明 验证算法的流程如下:
如果可由Sign算法求得;
如果,则
,
所以,在这种情况下有,综上,验证过程是正确的。
方案的安全性证明由如下两个定理给出。
定理2 在MSIS假设下,本文提出的方案是不可伪造的。
证明 假设敌手可以伪造环签名,我们将证明存在一个多项式算法能以不可忽略的概率解决MSIS问题。
假设有一个模拟器,在随机预言机模式下,它可以在不知道用户的私钥的情况下输出签名者的签名。
模拟器的工作原理如下所示。
Setup
(1)选择一个;
(2)制造一个密钥生成预言机,通过它获得相应的私钥。
Hashquery
假设敌手可以在中进行查询,的响应为,将被敌手保存在-中。
Signature
在这个过程中,敌手使用Hashquery的结果,执行以下操作:
选择;
当时,
(1)随机选择;
(2)计算;
(3)计算。
设置;
返回。
如果签名可以通过验证算法,那么我们认为是在进行Hashquery之后获得的。
现在,我们比较伪造签名和合法签名,我们可以看到
如果,可以找另外一个。
这样,我们有
,
即
我们假设,所以可以通过两个方程找到一个非零向量使, 这意味着可以解决MSIS问题。
定理3 本文提出的方案在D-MLWE假设下满足匿名性。
证明 假设模拟器可以在不知道的私钥的情况下输出签名者的签名。输出的签名与真实签名不可区分。模拟器的操作如下:
Setup
假设是要签名的消息,是公钥列表, 用表示任意的集合。选择一个,不是由KeyGen生成的。
Hashquery
假设模拟器可以在中进行查询,的响应为,将被模拟器保存在-中。
Signature
在这个过程中,模拟器使用Hashquery的结果,做以下操作。
选择;
当时
随机选择,计算,;
设置;
返回。
该签名可以通过验证算法,然后考虑。在真实签名中,来自哈希函数的值,是均匀随机分布的,在模拟过程中,从中选择。
现在,我们比较伪造签名和合法签名,我们可以看到是从中随机选择的。但是,敌手可以正确地区分和生成的签名。也就是说和是可区分的,其中是随机的,从而解决了D-MLWE问题。
4 安全参数
基于格的签名方案的实用性很大程度上取决于通信和存储开销,特别是签名的尺寸。本节主要讨论我们方案的参数选择和签名尺寸分析。
我们方案的签名形式为,有两部分组成,其中:
由3个多项式组成,每个系数的取值范围为,每个系数需要2比特;
对于每个,它由3个多项式组成,每个系数的取值范围为,其中,每个系数需要3比特,因此共需要:
,其中N为环中用户数量,n为多项式的次数。
当多项式的次数取1 024时,方案的参数设置和签名尺寸如
表2所示。
我们提出的NHB-LRS方案与文献[
19]中提出的基于格的环签名和文献[
20]中提出的L2RS方案在不同用户数量下的签名尺寸对比如
图1所示。
结果表明,本方案的签名长度与用户数量呈线性关系,且尺寸仅为上述两种方案的十分之一,综合比较,本方案的存储空间要求更低,通信开销更小,实用性更强。
5 结论
基于格的环签名方案作为一类抗量子安全的数字签名技术,在后量子时代有着广泛的应用前景,但现有的方案效率较低、通信代价较高。本文以不可区分分布替代拒绝抽样、次高位比特代替原始数值相结合的方法,构造了一个更高效的基于格的环签名方案,并证明了方案的安全性。因该方法能够一次性成功生成签名,不需重复操作,提高效率的同时,还可有效减小签名尺寸,实用性更强。后续的工作,可采用相同的思想构造具有其他功能的抗量子安全数字签名方案。