一种抗量子计算的基于身份的数字签名方案制造技术

技术编号:33066283 阅读:11 留言:0更新日期:2022-04-15 09:56
本发明专利技术公开了一种抗量子计算的基于身份的数字签名方案。首先是系统初始化阶段,由密钥生成器PKG选取主密钥,包括系统规模、有限域、哈希函数和部分公钥映射参数。其次是私钥提取阶段,签名方A向PKG发出获取私钥的请求,PKG对自己的主密钥、用户A的身份信息以及时间戳作用哈希函数,产生私钥数据并发送给A。在签名生成阶段,A借助私钥数据、带签名消息以及时间戳等数据确定唯一解则得到签名。A将签名和时间戳发送给验证方B,B能在签名验证阶段进行验证。本发明专利技术使用多变元公钥密码技术构造基于身份的数字签名方案,兼具基于身份数据签名的优势和抵御量子计算攻击的能力,与PKG的主密钥以及密钥产生时间相关,进一步增强了安全性。性。

【技术实现步骤摘要】
一种抗量子计算的基于身份的数字签名方案


[0001]本专利技术涉及信息安全领域,特别涉及一种基于身份的数字签名,签名方案底层使用多变元公钥密码技术,具备抗量子计算的特性。

技术介绍

[0002]量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置,其最直接的应用领域之一就是密码破译。如今,量子计算机的发展速度已经大大超乎了人们的想象,2018年7月,中国科学技术大学潘建伟团队在国际上首次实现18个光量子比特的纠缠,量子计算的速度将随着可操纵的纠缠比特数目的增加而实现指数级提升。一旦量子计算机成为现实,现有的基于RSA、ECC等公钥密码技术的信息安全系统将受到摧毁性威胁。因此,研究抗量子计算的公钥密码技术势在必行。
[0003]多变元公钥密码体制(MPKC)因其抗量子计算的特性以及实现效率高的优点成为近几年密码学领域的研究热点之一,它通常利用有限域上一组二次多项式作为公钥映射,它的安全性是基于有限域上多变量二次多项式方程组的难解性。此外,该体制往往不需要特定的密码协处理器,适用于智能卡等资源受限的设备。近几年来,密码学家从有限域运算、多项式方程组的同构性质以及等价密码等多角度研制出了多种改进方式,例如基于不平衡油醋方案(UOV)的彩虹方案、稀疏快递TTS改进等,进一步优化了MPKC的运行效率和安全强度。
[0004]基于身份的密码这一思想是Shamir等人在1984年提出,将用户的公开身份信息例如Email地址作为用户的公钥,私钥则由一个可信第三方生成,通常称为PKG(Private Key Generator),再安全发送给用户。基于身份的密码系统无需复杂的公钥证书与认证,在实际应用中有极大的便利,它的标准化进程也在2006年得到了完善。基于身份的数字签名是基于身份密码技术的重要组成部分,目前国际上认可的基于身份的数字签名算法大多数还是基于离散对数和大整数分解等传统的密码学难题,需要较大计算量,并且无法抵抗量子计算,因此需要设计一种高的抗量子计算的基于身份的效数字签名方案。

技术实现思路

[0005]本专利技术的目的在于克服现有技术的缺点与不足,提供一种抗量子计算基于身份的数字签名方案,其核心基于多变元公钥密码的结构。定义A和B为协议参与方,A为签名方,B为验证方,PKG为可信密钥生成器。本方案一共分成四个阶段:系统初始化,私钥提取,签名生成和签名验证,以下逐一进行说明。
[0006]首先对本专利技术设计的数学工具进行说明。记n、m、r和v是四个正整数且v=n-m,有限域F=GF(2
r
)。定义一组二次多项式组映射P:F
n

F
m
,它是由m个定义在二元域GF(2)上的n元二次多项式组成。考虑到也可以认为这组多项式定义在F上,映射P可以看作是从有限域F的n维空间映射到m维空间。
[0007]设列向量x=(x1,Lx
n
)

∈F
n
,通常将前v个变量x1,Lx
v
记为醋变量,剩余的m个变量
x
v+1
,Lx
n
记为油变量。P的分量多项式函数记为p
k
(x),1≤k≤m,一般可以表示为限定系数a
i,j,k
、b
i,k
和c
k
均取自GF(2)。c
k
是p
k
(x)的常数项,所有c
k
可组成P的常数列向量C=(c1,Lc
m
)

;是p
k
(x)的一次项,所有b
i,k
可组成P的一次项系数矩阵B=(b
i,k
),1≤i≤n,1≤k≤m;为p
k
(x)的二次项,存在n阶上三角方阵P
k
使得将P
k
写成分块的形式:其中P
k,1
是v阶方阵,存放p
k
(x)中醋变量的二次项系数,P
k,2
是v行m列矩阵,P
k,3
是m阶方阵,存放油变量的二次项系数。可以得到映射P的矩阵形式:
[0008][0009]进一步分解P=QoL,定义L:F
n

F
n
是一个可逆线性变换,可通过“矩阵-向量”乘法实现,将对应的矩阵记为MAT
L
,则其中矩阵L是一个v行m列的“0-1”随机矩阵,无论L取何值,矩阵MAT
L
始终保持可逆。
[0010]Q:F
n

F
m
也是二次多项式组映射,设其分量多项式函数为q
k
(x),1≤k≤m,限定它的形式为系数d
i,j,k
、e
i,k
和f
k
都取自GF(2)。由Q=PoL-1
及可知:Q对应的常数列向量依然为C,一次项系数矩阵B
·
MAT
L-1
,多项式q
k
(x)的二次项对应的矩阵为Q
k
=(MAT
L-1
)

·
P
k
·
MAT
L-1
。由q
k
(x)形式可知不存在油变量的二次项,这一设定的目的是当醋变量的值确定后,油变量的值只需通过解一个线性方程组就可以确定。为了满足这一要求,应当有P
k,3
=L

P
k,2-L

·
P
k
,
·1L,由此可得
[0011][0012]矩阵右下角的分块为零,即油变量二次项系数均为0。可以得到映射Q的矩阵形式:
[0013][0014]上述代数结构的大部分参数均取自二元域GF(2),可借助哈希函数生成。以下统一将哈希函数的输入和输出记为y=H(x,b),这一等式的意义是将用哈希函数作用在x上,产生b比特的输出y,如多产生数据,则只选取后b比特的数据,忽略先产生的多余比特。从安全性和实现性角度考虑,本专利技术推荐使用SHAKE128或256(SHA-3)算法。
[0015]本方案涉及到一项重要操作是将哈希函数输出的比特数据data赋值给相应的系数以构造映射,将这一操作记为assignment(data,b),其中b是赋值的比特数。数据data一律赋值给矩阵,规则为“高位先、低位后,逐行操作”,例:4比特数据data='a1a2a3a4',赋值给一个的矩阵,则
[0016]1.系统初始化
[0017]这一步主要由PKG确定并公开部分重要的系统参数和公钥。
[0018]1.1.PKG选取适当的整数n、m和r,记v=n-m,确定有限域F=GF(2
r
)结构。以下
[001本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种抗量子计算的基于身份的数字签名方案,其特征在于,包含三种身份:A为签名方,B为验证方,PKG为可信密钥生成器。协议分为四个阶段来执行,系统初始化,私钥提取,签名生成和签名验证。2.根据权利要求1所述的一种抗量子计算的基于身份的数字签名方案,其特征在于,所述的系统初始化阶段主要由PKG确定并公开部分重要的系统参数和公钥,具体按照以下步骤实施:步骤1.1 PKG选取适当的整数n、m和r,记v=n-m,确定有限域F=GF(2
r
)结构。步骤1.2 PKG确定方案所使用的哈希函数H。步骤1.3 PKG更新主密钥,更新公钥映射P的部分参数B、C和P
k,1
,P
k,2
,1≤k≤m(如不需更新公钥映射P,可跳过1.3):PKG随机选取系统主秘钥masterKey,与时间戳timestamp并联,迭代作用哈希函数,前2m次每次迭代将分别得到v2或vm比特数据,分别赋值给某个P
k,1
,P
k,2
,1≤k≤m,最后迭代2次分别生成B和C,具体如下:dataPk=masterKey PtimestampFor k=1 to mdataPk=H(dataPk,v2)P
k,1
=assignment(dataPk,v2)dataPk=H(dataPk,vm)P
k,2
=assignment(dataPk,vm)End fordataPk=H(dataPk,mn)B=assignment(dataPk,mn)dataPk=H(dataPk,m)C=assignment(dataPk,m)步骤1.4 PKG公开n、m、r、F、H、B、C和P
k,1
,P
k,2
,1≤k≤m。3.根据权利要求1所述的一种抗量子计算的基于身份的数字签名方案,其特征在于,所述的私钥提取,具体按照以下步骤实施:步骤2.1 A向PKG发出获取私钥的请求。步骤2.2 PKG对自己的主密钥、用户A的身份信息ID以及时间戳timestamp作用哈希函数,产生矩阵L的信息数据dataPrivate,具体如下:dataPk=masterKeyPIDPtimestampdataPrivate=H(dataPk,mv)步骤2.3 PKG将数据dataPrivate秘密发送给A。步骤2.4 A生成矩阵L=assignment(dataPrivate,mv)。步骤2.5 PKG生成矩阵L=assignment(dataPrivate,mv),计算P
k,3
=L

P
k,2-L

·
P
k,1
·
L,并公开P
k,3
。4.根据权利要求1所述的一种抗量子计算的基于身份的数字签名方案,其特征在于,所述的签名生成,具体按照以下步骤实施:步骤3.1给定消息message,设A签名时刻的时间戳为timestampSign,A计算:temp=message P ID PtimestampSign
temp=H(temp,m)y=assignment(temp,m)步骤3.2 A确定醋变量的初始值:dataPrivate=H(dataPrivate,v)x
v
=(x1,L,x
v
)

=assignment(d...

【专利技术属性】
技术研发人员:邱望洁吴发国袁波
申请(专利权)人:苏州鸿链信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1