1. 引言
公钥密码体制(public key cryptosystem, PKC) [1]不仅具有加密功能,而且具有认证功能。在基于PKI的密码体制中,用户的公钥与其身份没有任何联系,他们通过证书机构(certificate authority, CA)发布的公钥证书联系起来。基于PKI的密码体制存在公钥证书管理问题。在基于身份的密码体制(identity-based cryptosystem, IBC) [2]中,用户的公钥由其身份派生出来,用户的私钥由私钥生成器(private key generator, PKG)生成。基于身份的密码体制消除了公钥证书管理问题,但引入了密钥托管问题。在无证书密码体制(certificateless cryptosystem, CLC) [3]中,用户的私钥由密钥生成中心(key generating center, KGC)和用户自身共同生成。无证书密码体制不仅消除了公钥证书管理问题,而且还避免了密钥托管问题,它是一种拥有卓越性能的公钥密码体制。目前,人们提出了一个基于格的无证书签名(certificateless signature, CLS)方案[4]。此外,人们还提出了几个基于格的CLS方案[5]-[8]。
具有同态性质的公钥密码体制在云计算、物联网和大数据等领域具有广泛的应用价值,它吸引了众多研究人员的目光。全同态加密(fully homomorphic encryption, FHE)允许对加密数据执行任意计算。2013年,Gentry、Sahai和Waters [9]提出了近似特征向量技术,并设计了一个基于格的层次型FHE方案。在层次型FHE方案中,方案的参数依赖于方案所能计算的电路的深度。利用近似特征向量技术,人们提出了层次型基于身份的全同态加密(identity-based fully homomorphic encryption, IBFHE)方案[10]-[12],提出了层次型无证书全同态加密(certificateless fully homomorphic encryption, CLFHE)方案[13]。全同态签名(fully homomorphic signature, FHS)允许对签名数据执行任意计算。FHS的安全要求除不可伪造性之外还包括隐私性[14]。隐私性从弱到强可以分为弱上下文隐藏、强上下文隐藏和完全上下文隐藏。2015年,Gorbunov、Vaikuntanathan和Wichs [15]提出了一个基于格的层次型FHS方案,并在标准模型下基于小整数解(small integer solution, SIS)问题的困难性证明了它满足固定性选择消息攻击下的存在性不可伪造性(EU-sCMA)。在层次型FHS方案中,方案的参数依赖于方案所能计算的电路的深度。随后,Boyen、Fan和Shi [16]又提出了一个基于格的层次型FHS方案,并在标准模型下基于SIS问题的困难性证明了它满足适应性选择消息攻击下的存在性不可伪造性(EU-CMA)。Gorbunov等人的FHS方案[15]能提供弱上下文隐藏的隐私性。Boyen等人的FHS方案[16]不能提供任何程度的隐私性,它不适用于许多现实的应用场合。近年来,人们提出了几个层次型基于身份的全同态签名(identity-based fully homomorphic signature, IBFHS)方案[17]-[19]。但迄今为止,人们尚未提出层次型无证书全同态签名(certificateless fully homomorphic signature, CLFHS)方案。
我们可以把FHS方案与CLS方案结合起来设计CLFHS方案。人们提出的CLS方案[4]存在安全缺陷,攻击者能够成功伪造任何消息的签名,人们提出其他几个CLS方案[5]-[8]在签名时需要对消息进行哈希运算,它们也不适合用来设计CLFHS方案。于是,我们在Gorbunov等人的FHS方案[15]的基础上直接设计了基于格的层次型CLFHS方案。我们的主要工作如下:
① 给出了层次型CLFHS方案的形式化定义和选择性选择身份和固定性选择消息攻击下的存在性不可伪造性(existential unforgeability under selective chosen-identity and static chosen-message attacks, EU-sID-sCMA)的安全模型。
② 利用Gorbunov等人[15]提出的设计技术,构造了一个基于格的层次型CLFHS方案。并在标准模型下基于SIS问题的困难性证明了所构造的方案满足EU-sID-sCMA安全性。
③ 给出了所构造的CLFHS方案的具体参数设置,分析了所构造的CLFHS方案的有关性能。
2. 预备知识
2.1. 符号约定
首先介绍本文使用的符号,具体如表1所示。
Table 1. Notations and their descriptions
表1. 符号及其说明
符号 |
说明 |
|
安全参数 |
|
整数集 |
|
实数集 |
|
模
剩余类环,且
|
|
有限集合
中元素的个数 |
|
集合
|
|
对数,且底为2 |
|
多项式函数 |
|
可忽略的函数 |
|
,其中
为某一固定常数 |
|
向量,默认为列向量形式 |
|
矩阵,可看作其列向量的有序集合 |
|
矩阵
和
的水平连接 |
|
向量
的欧式范数 |
|
矩阵
的欧式范数 |
|
矩阵
的Gram-Schmidt正交化 |
2.2. 熵与统计距离
定义1. 对随机变量
和
,它们的统计距离定义为
如果
,则称随机变量
和
是统计接近的。
定义2. 随机变量
的最小熵定义为
。
以
为条件的平均最小熵定义为
给定相关的
,敌手猜测
的最优概率为
。
引理1. [20] 假设
和
为两个任意的随机变量,那么
.
2.3. 格
定义3. 令矩阵
,其列向量
是一组线性无关向量,由基
产生的
维格
定义为
.
定义4. 对素数
、矩阵
和向量
,定义两个
维整数格:
可以看出,如果
,则
,因此
是
的一个陪集。
定义5. 对任意向量
、实数
和
维格
,
上的离散高斯分布定义为
,
其中
是
上以
和
分别为中心和参数的高斯函数。
引理2. [21] 对任意
维格、向量
和实数
、
,有
,
其中
是
的光滑参数,且对
的任意一组基
,
。
引理3. [22] 令
和
为正整数,
为素数,并且
。则对任意
以及对任意
,
统计接近于
上的均匀分布,其中
。
引理4. [23] 令
为任一固定常数,存在一个概率多项式时间算法
,它输入正整数
、
和
,输出一个矩阵
和
的一组基
,满足
统计接近于
上的均匀分布以及
。
引理5. [22] 给定
和
,存在一个概率多项式时间算法
,它输入矩阵
、格
的一组基
、高斯参数
和向量
,从统计接近于
的分布输出一个向量
。
引理6. [24] 给定
和
,存在一个固定的可计算的矩阵
和一个确定性的多项式时间算法
,该算法输入矩阵
,其中
,输出一个比特矩阵
,满足
。
定义6. 对于矩阵
,若
作为
上的矩阵是可逆的,就称
为
可逆的。我们定义
为高斯分布
,其中
,并且抽样矩阵为
可逆的。
引理7. [25] 给定
和
,存在一个概率多项式时间算法
,它输入矩阵
、格
的一组基
、从分布
抽取的
可逆矩阵
以及高斯参数
,输出格
的一组基
,其中
,并且
满足
。
引理8. [25] 给定
和
,存在一个概率多项式时间算法
,它输入矩阵
,从统计接近于
的分布输出一个矩阵
,它还输出格
的一组基
,满足
,其中
。
2.4. SIS问题
定义7. 小整数解(small integer solution, SIS)问题如下:给定整数
、矩阵
和实数
,寻找一个非零向量
,满足
和
。
对于函数
、
和
,
表示实例
的集合,其中
是均匀随机的。
引理9. [21] [22] 对任意多项式界的
和
以及对任意素数
,平均情况下的
问题与最差情况下的近似最短独立向量问题(shortest independent vector problem, SIVP)一样困难,其中近似因子
。
3. 形式化定义与安全模型
3.1. 形式化定义
一个层次型CLFHS方案由系统设置Setup、部分私钥提取Extract、用户密钥设置KeyGen、签名Sign、同态运算Eval和验证Verify六个多项式时间算法组成。具体如下:
①
:输入安全参数
、电路的最大深度
和数据集的最大尺寸
,输出公开参数
和主密钥
。
包含消息空间
的描述。该算法由密钥生成中心KGC执行。
②
:输入公开参数
、主密钥
和身份
,输出部分私钥
。该算法由密钥生成中心KGC执行。
③
:输入公开参数
和身份
,输出秘密值
和公钥
。
④
:输入公开参数
、身份
、公钥
、部分私钥
、秘密值
和消息序列
,输出签名序列
。
⑤
:输入公开参数
、身份
、电路
和消息–签名对的集合
,输出签名
。
⑥
:输入公开参数
、身份
、公钥
、电路
、消息
和签名
,若
是
和
对
的有效签名,则输出accept,否则输出reject。
若对任意的身份
、消息序列
和电路
,其中电路
的深度
,给定
有
其中
则称这个层次型CLFHS方案是正确的。
3.2. 安全模型
层次型CLFHS方案的攻击者包括第1类攻击者
和第2类攻击者
。
模拟外部攻击者,它不知道系统主密钥,但可以任意替换用户的公钥;
模拟诚实但好奇的密钥生成中心KGC,它知道系统主密钥,但不能替换目标用户的公钥。层次型CLFHS方案在选择性选择身份和固定性选择消息攻击下的存在性不可伪造性(existential unforgeability under selective chosen-identity and static chosen-message attacks, EU-sID-sCMA)可由攻击者
或
与挑战者之间的两个游戏刻画。具体如下:
游戏1 (适用于攻击者
):
初始化:
输出身份
、公钥
和消息序列
。这里,
是
替换的用户
的公钥。
设置:挑战者执行
,把
发送给
。
询问:
可以适应性地向挑战者发出以下几种询问:
部分私钥询问:
提交身份
,其中
,挑战者执行
,把
发送给
。
秘密值询问:挑战者维护一个元组列表
。
提交身份
。挑战者首先在表
中查找元组
。若找到该元组,把
发送给
;若未找到,执行
,把
发送给
,并把
添加到表
中。
公钥询问:
提交身份
。挑战者首先在表
中查找元组
。若找到该元组,把
发送给
;若未找到,执行
,把
发送给
,并把
添加到表
中。
签名询问:挑战者按公钥
对应的秘密值
产生签名序列
,把
发送给
。
伪造:最后,
输出电路
、消息
和签名
。如果满足以下条件,称
赢得游戏1。
①
,其中
;
②
。
攻击一个层次型CLFHS方案的优势定义为
。
定义8. 如果对任意多项式时间攻击者
,
,我们就称这个层次型CLFHS方案对第1类攻击者是EU-sID-sCMA安全的。
游戏2 (适用于攻击者
):
初始化:
输出身份
和消息序列
。
设置:挑战者执行
,把
和
发送给
。
询问:
可以适应性地向挑战者发出以下几种询问:
秘密值询问:挑战者维护一个元组列表
。
提交身份
,其中
。挑战者首先在表
中查找元组
。若找到该元组,把
发送给
;若未找到,执行
,把
发送给
,并把
添加到表
中。
公钥询问:
提交身份
。挑战者首先在表
中查找元组
。若找到该元组,把
发送给
;若未找到,执行
,把
发送给
,并把
添加到表
中。
签名询问:假定
已询问过
的公钥。挑战者执行
,把产生的签名序列
发送给
。
伪造:最后,
输出电路
、消息
和签名
。如果满足以下条件,称
赢得游戏2。
①
,其中
;
②
,其中
为表
中用户
的公钥。
攻击一个层次型CLFHS方案的优势定义为
。
定义9. 如果对任意多项式时间攻击者
,
,我们就称这个层次型CLFHS方案对第2类攻击者是EU-sID-sCMA安全的。
4. 构造与安全性证明
4.1. 构造
在人们提出的CLS方案[4]中,用户的公钥为
,私钥为
,公钥的这种形式使得第1类攻击者
和第2类攻击者
都能够生成用户的私钥
,从而成功伪造任何消息的签名。若把用户的公钥设置为
,
和
就无法生成用户的私钥
了。下面我们以Gorbunov等人[15]的FHS方案为基础,构建一个基于格的层次型CLFHS方案,其中我们把用户的公钥设置为
,私钥设置为
。
:给定安全参数
、电路的最大深度
和数据集的最大尺寸
,执行:
① 设置
、
和
,设置高斯参数
和
。
② 设置消息空间
,设置身份空间
,其中
。
③ 调用
产生一个矩阵
和格
的一组基
,满足
。
④ 选取
个矩阵
,其中
。
⑤ 选取
个矩阵
,其中
。
⑥ 输出公开参数
和主密钥
。
:给定公开参数
、主密钥
和身份
,执行:
① 计算
。
② 调用
产生格
的一组基
,其中
。
③ 输出部分私钥
。
:给定公开参数
和身份
,执行:
① 调用
产生一个矩阵
和格
的一组基
,满足
。
② 输出秘密值
和公钥
。
:给定公开参数
、身份
、公钥
、部分私钥
、秘密值
和消息集合
,执行:
① 计算
,计算
。
② 令
。令
。不难看出,
为格
的一组基。
③ 对
,令
,调用
产生一个矩阵
,其中
。
④ 输出签名集合
。
:给定公开参数
、身份
、电路
和消息–签名对的集合
,执行:
① 对加法门
,定义
;对乘法门
,定义
。对电路
,通过迭代调用加法门和乘法门计算
。
② 输出签名
。
:给定公开参数
、身份
、公钥
、电路
、消息
和签名
,执行:
① 对加法门
,定义
;对乘法门
,定义
。对电路
,通过迭代调用加法门和乘法门计算
。
② 计算
,其中
。
③ 如果满足
和
,其中
表示电路
的深度,则输出accept,否则输出reject。
定理1. 所提出CLFHS方案是正确的。
证明. 对于签名
和
,假定
和
,并且假定
和
。则
对加法门
,有
并且
对乘法门
,有
并且
对于Sign算法产生的签名
,有
,并且
。所以对于Eval算法产生的签名
,它是通过迭代调用加法门和乘法门得到的,于是有
,并且
,其中
表示电路
的深度。
4.2. 安全性证明
我们在标准模型下证明所提出的CLFHS方案满足EU-sID-sCMA安全性。
定理2. 如果存在一个多项式时间攻击者
在游戏1中以优势
攻击所提出的CLFHS方案,则存在一个多项式时间算法
以概率
解决
问题。
证明. 假设存在这样的敌手
,我们构造算法
,它模拟
的挑战者并利用
的伪造解决
问题。
执行的各项操作如下:
假设
收到一个
问题实例
,希望找到一个非零向量
,满足
和
。
初始化:
输出身份
、公钥
和消息集合
。
设置:
设置系统公开参数如下:
① 选取
个矩阵
,其中
。
② 令
。
③ 对
,若
,则
,若
,则
。
④ 对
,其中
,调用
产生一个矩阵
和格
的一组基
,其中
。
⑤ 选取
个矩阵
,其中
。
⑥ 对每一
,令
,其中
。
⑦ 令
,并把它发送给
。
询问:
适应性地向挑战者发出以下询问:
部分私钥询问:
提交身份
,其中
。令
使得
,且对任意
,有
。若
,令
,调用
产生格
的一组基
,其中
,令
;若
,令
。把
发送给
。
秘密值询问:
维护一个元组列表
。
提交身份
。
首先在表
中查找元组
。若找到该元组,把
发送给
;若未找到,执行
,把
发送给
,并把
添加到表
中。
公钥询问:
提交身份
。
首先在表
中查找元组
。若找到该元组,把
发送给
;若未找到,执行
,把
发送给
,并把
添加到表
中。
签名询问:把
发送给
。对于
,因为
,所以
所以
;对于
,因为
,所以
。故而,
是
和
对
的有效签名。
伪造:
输出电路
、消息
和签名
,其中
。若
赢得了游戏,
利用
的伪造能够求得
问题实例
的解答。求解过程具体如下:
因为
伪造的签名
是有效的,所以
和
,其中
。因为
,计算的签名
亦是有效的,所以
和
。故而
和
,其中
。令
,其中
,令
,其中
。则
因而
。
均匀随机地选取
。令
。下面证明
为
问题实例
的一个解答。可以看出
还需证明
,即
。在给定
的情况下
的最小熵为
,其中第二个不等式根据引理1得到,因此
,因此
,即
。因此
为
问题实例
的一个解答。
由引理3和5可知,
模拟的挑战者与真实挑战者是统计不可区分的,因此敌手
在模拟游戏中攻击所提出的CLFHS方案的优势为
。故
成功求解
问题的概率为
。
定理3. 如果存在一个多项式时间敌手
在游戏2中以优势
攻击所提出的CLFHS方案,则存在一个多项式时间算法
以概率
解决
问题。
证明. 假设存在这样的敌手
,我们构造算法
,它模拟
的挑战者并利用
的伪造解决
问题。
执行的各项操作如下:
假设
收到一个
问题实例
,希望找到一个非零向量
,满足
和
。
初始化:
输出身份
和消息集合
。
设置:
设置系统公开参数如下:
① 调用
产生一个矩阵
和格
的一组基
,满足
。
② 选取
个矩阵
,其中
。
③ 计算
。
④ 选取
个矩阵
,其中
。
⑤ 对每一
,令
,其中
。
⑥ 令
和
,并把它们发送给
。
询问:
适应性地向挑战者发出以下询问:
秘密值询问:
维护一个元组列表
。
提交身份
,其中
。首先在表
中查找元组
。若找到该元组,把
发送给
;若未找到,执行
,把
发送给
,并把
添加到表
中。
公钥询问:
提交身份
。首先在表
中查找元组
。若找到该元组,把
发送给
;若未找到,如果
,则令
,把
发送给
,并把
添加到表
中,否则执行
,把
发送给
,并把
添加到表
中。
签名询问:把
发送给
。对于
,因为
所以
;对于
,因为
,所以
。故而,
是
和
对
的有效签名。
伪造:
输出电路
、消息
和签名
,其中
。若
赢得了游戏,
利用
的伪造能够求得
问题实例
的解答。求解思路与定理2基本相同,不再赘述具体过程。
由引理3和5可知,
模拟的挑战者与真实挑战者是统计不可区分的,因此敌手
在模拟游戏中攻击所提出的CLFHS方案的优势为
。故
成功求解
问题的概率为
。
4.3. 参数设置
所提出的CLFHS方案要正确运行,需满足以下约束条件:
① 对于GenBasis算法,
。
② 对于BasisDel算法,
,其中
。
③ 对于SamplePre算法,
,其中
。
④ 对于安全性归约证明,
,其中
。
⑤ 对于SIS问题的困难性,
,
,
。
在这些约束条件下,方案的参数可设置如下:
|
|
|
|
|
|
假如给定安全参数
、电路的最大深度
,方案的参数具体为:
|
|
|
|
|
|
4.4. 性能分析
目前人们还没有提出层次型CLFHS方案。于是,将所提出的CLFHS方案与层次型IBFHS方案[17]-[19]进行比较。有关结果如表2所示,其中
表示Sign算法产生的签名的噪声级,如在所提出的CLFHS方案中,
。从表2可以看出,所提出的CLFHS方案比IBFHS方案[17]-[19]的公开参数尺寸大,这主要是由于无证书密码方案比基于身份的密码方案结构复杂的缘故。从表2还可以看出,所提出的CLFHS方案的安全性比IBFHS方案[17]-[19]弱,最大噪声级比IBFHS方案[17]-[19]大。
Table 2. Comparison of performance
表2. 性能比较
方案 |
公开参数尺寸 |
签名尺寸 |
不可伪造性 |
隐私性 |
最大噪声级 |
[17] |
|
|
SU-sID-sCMA |
弱上下文隐藏 |
|
[18] |
|
|
SU-sID-sCMA |
弱上下文隐藏 |
|
[19] |
|
|
SU-ID-CMA |
无 |
|
本文方案 |
|
|
EU-sID-sCMA |
弱上下文隐藏 |
|
5. 结束语
本文利用格提出了第一个层次型CLFHS方案,并在标准模型下基于SIS问题的困难性证明了它满足EU-sID-sCMA安全性。本文所提出的CLFHS方案还有可改进提高的方面,如存在性不可伪造性等。作者接下来将致力于构造强不可伪造的格上层次型CLFHS方案。此外,作者还将致力于利用所提出的CLFHS方案设计电子投票系统、电子健康记录系统等。
基金项目
本文得到河北金融学院支持硕士点建设“揭榜挂帅”课题(JB2025004)资助。
NOTES
*通讯作者。