CN114257377A - 一种多变量聚合签名方法、系统、设备及介质 - Google Patents
一种多变量聚合签名方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN114257377A CN114257377A CN202111443980.9A CN202111443980A CN114257377A CN 114257377 A CN114257377 A CN 114257377A CN 202111443980 A CN202111443980 A CN 202111443980A CN 114257377 A CN114257377 A CN 114257377A
- Authority
- CN
- China
- Prior art keywords
- signed
- signature
- message
- uov
- vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000002776 aggregation Effects 0.000 title claims description 54
- 238000004220 aggregation Methods 0.000 title claims description 54
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 75
- 238000012795 verification Methods 0.000 claims abstract description 50
- 239000000052 vinegar Substances 0.000 claims abstract description 15
- 239000013598 vector Substances 0.000 claims description 93
- 238000004364 calculation method Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 6
- 238000006116 polymerization reaction Methods 0.000 abstract description 10
- 235000021419 vinegar Nutrition 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及信息安全技术领域,尤其涉及一种多变量聚合签名方法、系统、设备及介质,包括:根据所有用户的待签名消息生成消息列表;依次选取消息列表中的一个待签名消息,作为当前待签名消息;利用非平衡油醋签名算法对当前待签名消息进行签名,得到UOV签名;调用上一待签名消息的验证算法,并通过验证算法检验上一待签名消息的聚合签名;若检验通过,则根据上一待签名消息的聚合签名以及当前待签名消息的UOV签名,生成当前待签名消息的聚合签名。本发明通过非平衡油醋UOV算法实现连续聚合签名,不仅可以抵御量子计算机攻击,具有较高的安全性,而且可以减少资源和时间开销,提高存储和运算效率。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于非平衡油醋UOV的多变量聚合签名方法、系统、设备及介质。
背景技术
密码技术是信息安全的核心和基础,广泛应用于网络通信、电子商务、银行、国防军事等领域,其中,密码技术包括对称密码和非对称密码,非对称密码也称为公钥密码;目前,公钥密码的安全性主要依赖于大整数分解和离散对数求解等困难问题,如RSA、ECC等,但是自提出在量子计算机上能够实现大整数分解和离散对数求解的方法后,这类传统的公钥密码便受到巨大的威胁,影响到各个行业。因此,人们致力于寻找一种能够抵御量子计算机攻击的密码系统以满足信息安全的需求,并将这类系统称为后量子密码,而多变量公钥密码便是其中的一种。
另外,聚合签名是一类具有特殊性质的数字签名系统,它是指:对于n个不同用户关于n个不同消息的n个签名,它能够将这些签名“聚合”成单一的短签名,而且该短签名能够让验证者相信这n个用户确实对这n个消息进行了签名(即用户i对消息mi签名);由于聚合签名最基本的性质是“压缩”,因此,它在很大程度上可以减少传输量和计算成本的开销,这对有限的网络和计算机资源尤其重要。因此,连续聚合签名方案在那些对签名大小要求限制比较多的应用环境有特别大的应用。
综合考虑安全性以及能耗、存储空间,多变量公钥密码体制(MPKC)是一个较佳的选择,此外,为更进一步减少无线消息签名端上签名过程的计算开销和存储开销,在线、离线签名方案是一个更好的选择,该方案可以通过把更多的计算和存储放在离线阶段,并由无线系统中的KDC端进行执行,而把实际的签名过程放在在现阶段,由传感器操作,从而能够更大程度的使得签名方案契合系统的特点。
然而,目前而言,对多变量公钥密码的聚合签名方案尚未被人提出过,且用在安全边界网关协议上的多变量签名系统也未被人实现过。
发明内容
本发明的目的在于提供一种多变量聚合签名方法、系统、设备及介质,不仅可以抵御量子计算机攻击,具有较高的安全性,而且可以减少资源和时间开销,提高存储和运算效率。
为解决以上技术问题,本发明提供了一种多变量聚合签名方法、系统、设备及介质。
第一方面,本发明提供了一种多变量聚合签名方法,所述方法包括以下步骤:
为每个用户生成UOV密钥对,并将公钥公开,将私钥发送给用户保存;
获取所有用户的待签名消息,并生成消息列表;
依次选取所述消息列表中的一个待签名消息,并将其作为当前待签名消息;
调用上一待签名消息的验证算法,并通过所述验证算法检验上一待签名消息的聚合签名;
若检验通过,则利用私钥和非平衡油醋签名算法对所述当前待签名消息进行签名,得到当前待签名消息的UOV签名;
根据上一待签名消息的聚合签名以及当前待签名消息的UOV签名,生成当前待签名消息的聚合签名;
重复上述步骤,直至获取到最后一个待签名消息的聚合签名,并根据验证算法判断此聚合签名的有效性。
在进一步的实施方案中,所述为每个用户生成UOV密钥对的步骤包括:
获取第三方中心发送的安全参数,并根据安全参数以及UOV公私钥生成算法为每个用户生成UOV密钥对。
在进一步的实施方案中,所述根据上一待签名消息的聚合签名以及当前待签名消息的UOV签名,生成当前待签名消息的聚合签名的步骤包括:
分裂所述上一待签名消息的聚合签名,得到第一聚合分裂向量和第二聚合分裂向量;
分裂当前待签名消息的UOV签名,得到第一UOV分裂向量和第二UOV分裂向量;
合并所述第一聚合分裂向量、所述第二聚合分裂向量、所述第一UOV分裂向量和第二UOV分裂向量,生成当前待签名消息的聚合签名。
在进一步的实施方案中,若所述当前待签名消息为所述消息列表中的第一个待签名消息,则在得到第一个待签名消息的UOV签名之后,分裂第一个待签名消息的UOV签名,得到第一个待签名消息的第一UOV分裂向量和第二UOV分裂向量;
根据第一个待签名消息的第一UOV分裂向量和第二UOV分裂向量,生成当前待签名消息的聚合签名。
在进一步的实施方案中,所述验证算法包括以下步骤:
根据选取的哈希函数以及待签名消息生成第一计算结果;
将所述哈希计算结果和所述第二聚合分裂向量输入对应用户的公钥,生成第二计算结果;
将第一计算结果和第二计算结果进行比较,若相等,则说明验证通过,否则验证不通。
第二方面,本发明提供了一种多变量聚合签名系统,所述系统包括:
密钥生成模块,用于为每个用户生成UOV密钥对,并将公钥公开,将私钥发送给用户保存;
消息生成模块,用于获取所有用户的待签名消息,并生成消息列表,依次选取所述消息列表中的一个待签名消息,并将其作为当前待签名消息;
UOV签名模块,用于调用上一待签名消息的验证算法,并通过所述验证算法检验上一待签名消息的聚合签名,若检验通过,则利用私钥和非平衡油醋签名算法对所述当前待签名消息进行签名,得到UOV签名;
聚合签名模块,用于根据上一待签名消息的聚合签名以及当前待签名消息的UOV签名,生成当前待签名消息的聚合签名;
签名验证模块,用于重复上述步骤,直至获取到最后一个待签名消息的聚合签名,并根据验证算法判断此聚合签名的有效性。
在进一步的实施方案中,所述聚合签名模块包括第一向量分裂单元、第二向量分裂单元以及聚合签名生成单元;
所述第一向量分裂单元,用于分裂所述上一待签名消息的聚合签名,得到第一聚合分裂向量和第二聚合分裂向量;
所述第二向量分裂单元,用于分裂当前待签名消息的UOV签名,得到第一UOV分裂向量和第二UOV分裂向量;
所述聚合签名生成单元,用于合并所述第一聚合分裂向量、所述第二聚合分裂向量、所述第一UOV分裂向量和第二UOV分裂向量,生成当前待签名消息的聚合签名。
在进一步的实施方案中,所述第二向量分裂单元,还用于检测当前待签名消息,若检测到所述当前待签名消息为所述消息列表中的第一个待签名消息,则在得到第一个待签名消息的UOV签名之后,分裂第一个待签名消息的UOV签名,得到第一个待签名消息的第一UOV分裂向量和第二UOV分裂向量;
所述聚合签名生成单元,还用于根据第一个待签名消息的第一UOV分裂向量和第二UOV分裂向量,生成当前待签名消息的聚合签名。
第三方面,本发明还提供了一种计算机设备,包括处理器和存储器,所述处理器与所述存储器相连,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,以使得所述计算机设备执行实现上述方法的步骤。
第四方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明提供了一种基于非平衡油醋UOV的多变量聚合签名方法、系统、设备及介质,所述方法利用私钥和非平衡油醋签名算法对所述当前待签名消息进行签名,得到UOV签名;根据上一待签名消息的聚合签名以及当前待签名消息的UOV签名,生成当前待签名消息的聚合签名。与现有技术相比,该方法通过安全参数等,可以抵御量子计算机攻击,安全性高,具有后量子特性;另外,本发明使用的签名方案是聚合签名方案,其不仅提高了计算效率,而且大大减少资源和时间的开销。
附图说明
图1是本发明实施例提供的一种多变量聚合签名方法流程示意图;
图2是本发明实施例提供的一种多变量聚合签名系统框图;
图3是本发明实施例提供的聚合签名模块结构示意图;
图4是本发明实施例提供的计算机设备的结构示意图。
具体实施方式
下面结合附图具体阐明本发明的实施方式,实施例的给出仅仅是为了说明目的,并不能理解为对本发明的限定,包括附图仅供参考和说明使用,不构成对本发明专利保护范围的限制,因为在不脱离本发明精神和范围基础上,可以对本发明进行许多改变。
参考图1,本发明实施例提供了一种多变量聚合签名方法,如图1所示,该方法包括:
S1.为每个用户生成UOV密钥对,并将公钥公开,将私钥发送给用户保存。
本实施例在接收到第三方中心发送的安全参数之后,密钥生成中心根据安全参数以及UOV公私钥生成算法为每个用户生成一个UOV密钥对,然后每个用户公开公钥,私密地保存私钥;需要说明的是,本申请中的安全参数是由第三方中心一次性分发,且只用一次。
在本实施例中,签名系统所有算术运算都是建立在一个阶为q的有限域k上,n是多变量多项式的变量个数,m是多变量多项式的个数,o和v分别是油醋变量的个数,其中,本实施例优先设置系统安全参数为q=256,n=78,v=52,m=o=26,在此系统参数下,其安全级别可达到280。
S2.获取所有用户的待签名消息,并生成消息列表。
S3.依次选取所述消息列表中的一个待签名消息,并将其作为当前待签名消息。
S4.调用上一待签名消息的验证算法,并通过所述验证算法检验上一待签名消息的聚合签名。
S5.若检验通过,则利用私钥和非平衡油醋签名算法对所述当前待签名消息进行签名,得到当前待签名消息的UOV签名。
本实施例假定每个用户ui均有一个待签名的消息mi,然后以用户的先后顺序,将用户的待签名消息构成消息列表{m1,m2,m3,…,mi},依次选取所述消息列表中的待签名消息进行签名,在签名过程中,本实施例首先调用上一个待签名消息的验证算法,通过验证算法对上一个待签名消息的聚合签名进行验证,在验证通过后,为每一个选取的待签名消息生成UOV签名。
需要说明的是,若所述当前待签名消息为所述消息列表中的第一个待签名消息,则在得到第一个待签名消息的UOV签名之后,分裂第一个待签名消息的UOV签名,得到第一个待签名消息的第一UOV分裂向量和第二UOV分裂向量;根据第一个待签名消息的第一UOV分裂向量和第二UOV分裂向量,生成当前待签名消息的聚合签名。
若所述当前待签名消息为除所述消息列表中的第一个待签名消息之外的其它的待签名消息,则在得到对应待签名消息的UOV签名之后,根据待签名消息的UOV签名和上一个待签名消息的聚合签名获取当前待签名消息自身的聚合签名。
S6.根据上一待签名消息的聚合签名以及当前待签名消息的UOV签名,生成当前待签名消息的聚合签名。
在一个实施例中,所述根据上一待签名消息的聚合签名以及当前待签名消息的UOV签名,生成当前待签名消息的聚合签名的步骤包括:
分裂所述上一待签名消息的聚合签名,得到第一聚合分裂向量和第二聚合分裂向量;
分裂当前待签名消息的UOV签名,得到第一UOV分裂向量和第二UOV分裂向量;
合并所述第一聚合分裂向量、所述第二聚合分裂向量、所述第一UOV分裂向量和第二UOV分裂向量,生成当前待签名消息的聚合签名。
S7.重复上述步骤,直至获取到最后一个待签名消息的聚合签名,并根据验证算法判断此聚合签名的有效性。
在一个实施例中,所述验证算法包括以下步骤:
根据选取的哈希函数以及待签名消息生成第一计算结果;
利用当前待签名消息对应用户的公钥生成第二计算结果;
将第一计算结果和第二计算结果进行比较,如果相等即验证通过,否则验证不通。
具体地,本申请在进行签名和验证过程用到的是签名算法(算法1)和验证算法(算法2)如下所示,其中,签名算法(算法1)用于为待签名的消息生成聚合签名,验证算法(算法2)用于为系统检验聚合签名的有效性;
算法1签名算法
算法1Sign(M,(T,Q))
输入:
mi:待签名的消息;
ski=(Ti,Qi):签名者i用来签名的私钥;
pk1,...,pki-1,m;...,mi-1,i-1:分别为前面σi-1的连续聚合签名对应的公钥,消息和聚合签名。
输出:
σi:对应消息m1,...,mi的聚合签名;
开始
算法2验证算法
算法2Verify(M,(T,Q))
输入:
pk1,...,pki,m;...,mi,i:分别为连续聚合签名对应的公钥,消息和聚合签名。
输出:
TRUE or FALSE:判断聚合签名是否有效;
开始
为了便于理解本申请,以下将具体说明本申请的签名和验证过程:
假定三个用户u1、u2、u3分别有一个待签名的消息m1、m2、m3,同时令H:F*→Fo为一个把任意长度的消息哈希到o长度消息的一个哈希函数,需要说明的是,在本实施例中,系统所有算术运算都是建立在一个阶为q的有限域k上,o和v分别是油醋变量的个数,其中,本实施例设置UOV签名算法的参数为q=4,o=2,v=4。
当利用签名算法(算法1)对第一个待签名的消息进行签名时,本实施例设置两个UOV分裂向量O=0,并假定h=H(m1)={1,1},则D+O={1,1},此时,根据h=H(m1)={1,1}进行对应的第一个用户u1的UOV签名后,得到UOV签名结果为η1={1,1,1,0,0,1},此时,将UOV签名结果分裂为O=O1={1,1},V=V1={1,0,0,1},并根据分裂后的两个UOV分裂向量,得到第一个用户的聚合签名σ1={1,1,1,0,0,1},并进入第二个用户的聚合签名过程。
在利用签名算法(算法1)对第二个用户对应的待签名消息进行签名时,本实施例首先调用验证算法(算法2)为系统检验上一个聚合签名σ1的有效性,由于O1={1,1},pk1(O1,V1)={1,1},D=H(m1)={1,1},O=pk1(O1,V1)-D={0,0},因此,验证通过,其中,pk1为第一个待签名消息对应的公钥。
由于对第一个聚合签名σ1的验证通过,因此,利用签名算法(算法1)为第二个待签名消息生成聚合签名,具体为:
首先,获得O={1,1},V={1,0,0,1},然后,假设此时h=H(m1,m2)={0,2},D+O={1,3},根据h第二个用户进行UOV签名后,得到的UOV签名结果为η2={0,2,0,1,1,1},此时,算法设置O={0,2},V=V2||V1={0,1,1,1}||{1,0,0,1},则聚合后的签名为σ2=(O,V)=({0,2}||{0,1,1,1}||{1,0,0,1}),并进入第三个用户的聚合签名过程。
在利用签名算法(算法1)对第三个用户对应的待签名消息进行签名时,本实施例首先调用验证算法(算法2)为系统检验上一个聚合签名σ2的有效性,由于D2=H(m1,m2)={0,2},D1=H(m1)={1,1},此时O={0,2},由于pk2(O,V2)={1,3}=D2+{1,1},则O=pk2(O,V2)-D2={1,1},然后计算pk1(O,V1)=H(m1)={1,1},则O=pk1(O,V1)-D1={0,0},因此,验证通过,其中,pk2为第二个待签名消息对应的公钥。
由于对第二个聚合签名σ2的验证通过,因此,利用签名算法(算法1)为第三个待签名消息生成聚合签名,具体为:
首先,O={0,2},V={0,1,1,1}||{1,0,0,1},然后,假设此时h=H(m1,m2,m3)={3,1},D+O={3,1},根据h对第三个用户进行UOV签名后,得到的UOV签名结果为η3={2,1,1,1,1,1},此时算法设置O={2,1},V=V3||V2||V1={1,1,1,1}||{0,1,1,1}||{1,0,0,1},则聚合后的签名为σ3=(O,V)=({2,1}||{1,1,1,1}||{0,1,1,1}||{1,0,0,1}),至此,连续聚合签名过程完毕。
最后,利用验证算法(算法2)对连续聚合签名进行验证,具体为:
首先,计算D3=H(m1,m2,m3)={3,1},D2=H(m1,m2)={0,2},D1=H(m1)={1,1},由上,O={2,1},由于pk3(O,V3)=3,0=D3+{0,2},则O=pk3(O,V3)-D3={0,2},于是pk2(O,V2)={1,3}=D2+{1,1},则O=pk2(O,V2)-D2={1,1},然后计算pk1(O,V1)=H(m1)={1,1},则O=pk1(O,V1)-D1={0,0},因此验证通过。
本实施例提供的一种多变量聚合签名方法可应用于安全边界网关协议(SecureBGP Protocol)中,每个路由将接收n个签名列表,它是网络中经确定的长度为n的某一条路径相关的签名,路径上的每个路由对自己的“段segment”作签名,并将签名后的结果列表(即n+1个签名)发送给下一个路由,而且路由消息的签名数量是线性的。详细地说,在边界网关协议应用场景,一般每个路由都会收到路由上的其他路由器的消息,为了防止篡改,这些消息都需要进行签名发送,正常情况下,每个消息做一次签名和验证,这样,最终的汇聚路由将需要做大量的签名和验证,但在聚合签名情况下,验证可以分发给中间传递的路由来做验证,最终汇聚路由将只需要做最后一次的验证,从而减少汇聚路由的消耗。
本实施例提供的聚合签名方法通过非平衡油醋签名算法对所述当前待签名消息进行签名,得到UOV签名;同时根据上一待签名消息的聚合签名以及当前待签名消息的UOV签名,生成当前待签名消息的聚合签名,并根据当前待签名消息的验证算法判断其聚合签名的有效性,实现了基于非平衡油醋UOV签名算法的聚合签名技术方案。与现有的签名都是由不同用户从不同信道分别传输,而接收端却需要同时对其进行验证技术相比,本实施例具有资源和时间开销低的特点,从而能够使数据签名更进一步发展,具有更好的实际应用价值。
需要说明的是,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在一个实施例中,如图2所示,本实施例提供了一种多变量聚合签名系统,所述系统包括:
密钥生成模块101,用于为每个用户生成UOV密钥对,并将公钥公开,将私钥发送给用户保存;
消息生成模块102,用于获取所有用户的待签名消息,并生成消息列表,依次选取所述消息列表中的一个待签名消息,并将其作为当前待签名消息;
UOV签名模块103,用于调用上一待签名消息的验证算法,并通过所述验证算法检验上一待签名消息的聚合签名,若检验通过,则利用私钥和非平衡油醋签名算法对所述当前待签名消息进行签名,得到UOV签名;
聚合签名模块104,用于根据上一待签名消息的聚合签名以及当前待签名消息的UOV签名,生成当前待签名消息的聚合签名;
签名验证模块105,用于重复上述步骤,直至获取到最后一个待签名消息的聚合签名,并根据验证算法判断此聚合签名的有效性。
在一个实施例中,如图3所示,所述聚合签名模块包括第一向量分裂单元401、第二向量分裂单元402以及聚合签名生成单元403;
所述第一向量分裂单元401,用于分裂所述上一待签名消息的聚合签名,得到第一聚合分裂向量和第二聚合分裂向量;
所述第二向量分裂单元402,用于分裂当前待签名消息的UOV签名,得到第一UOV分裂向量和第二UOV分裂向量;
所述聚合签名生成单元403,用于合并所述第一聚合分裂向量、所述第二聚合分裂向量、所述第一UOV分裂向量和第二UOV分裂向量,生成当前待签名消息的聚合签名。
在一个实施例中,所述第二向量分裂单元,还用于检测当前待签名消息,若检测到所述当前待签名消息为所述消息列表中的第一个待签名消息,则在得到第一个待签名消息的UOV签名之后,分裂第一个待签名消息的UOV签名,得到第一个待签名消息的第一UOV分裂向量和第二UOV分裂向量;
所述聚合签名生成单元,还用于根据第一个待签名消息的第一UOV分裂向量和第二UOV分裂向量,生成当前待签名消息的聚合签名。
关于一种多变量聚合签名系统的具体限定可以参见上述对于一种多变量聚合签名方法的限定,此处不再赘述。本领域普通技术人员可以意识到,结合本申请所公开的实施例描述的各个模块和步骤,能够以硬件、软件或者两者结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请提供的一种多变量聚合签名系统通过密钥生成模块为每个用户生成UOV密钥对,通过UOV签名模块生成每个消息的UOV签名,同时通过聚合签名模块对UOV签名以及上一个消息的聚合签名进行向量分裂,并根据分裂后的向量生成当前待签名消息的聚合签名,并将此聚合签名应用于下一个待签名消息聚合签名的生成,本申请提供的连续聚合的方案既具有安全性又具有计算效率高的优点,且其生成的数字签名是具有更优的计算效率,且应用更灵活。
图4是本发明实施例提供的一种计算机设备,包括存储器、处理器和收发器,它们之间通过总线连接;存储器用于存储一组计算机程序指令和数据,并可以将存储的数据传输给处理器,处理器可以执行存储器存储的程序指令,以执行上述方法的步骤。
其中,存储器可以包括易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者;处理器可以是中央处理器、微处理器、特定应用集成电路、可编程逻辑器件或其组合。通过示例性但不是限制性说明,上述可编程逻辑器件可以是复杂可编程逻辑器件、现场可编程逻辑门阵列、通用阵列逻辑或其任意组合。
另外,存储器可以是物理上独立的单元,也可以与处理器集成在一起。
本领域普通技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有相同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法的步骤。
本发明实施例提供的一种多变量聚合签名方法、系统、设备及介质,其一种多变量聚合签名方法采用连续聚合的方法为每个用户待签名的消息进行聚合签名,同时本实施例生成的聚合签名不需要使用复杂度高的数字签名算法对数据进行验证,在保证签名的可靠性、安全性的同时,减少了资源和时间开销,提高了签名算法的效率。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如SSD)等。
本领域技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。
以上所述实施例仅表达了本申请的几种优选实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本申请的保护范围。因此,本申请专利的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种多变量聚合签名方法,其特征在于,包括以下步骤:
为每个用户生成UOV密钥对,并将公钥公开,将私钥发送给用户保存;
获取所有用户的待签名消息,并生成消息列表;
依次选取所述消息列表中的一个待签名消息,并将其作为当前待签名消息;
调用上一待签名消息的验证算法,并通过所述验证算法检验上一待签名消息的聚合签名;
若检验通过,则利用私钥和非平衡油醋签名算法对所述当前待签名消息进行签名,得到当前待签名消息的UOV签名;
根据上一待签名消息的聚合签名以及当前待签名消息的UOV签名,生成当前待签名消息的聚合签名;
重复上述步骤,直至获取到最后一个待签名消息的聚合签名,并根据验证算法判断此聚合签名的有效性。
2.如权利要求1所述的一种多变量聚合签名方法,其特征在于,所述为每个用户生成UOV密钥对的步骤包括:
获取第三方中心发送的安全参数,并根据安全参数以及UOV公私钥生成算法为每个用户生成UOV密钥对。
3.如权利要求1所述的一种多变量聚合签名方法,其特征在于,所述根据上一待签名消息的聚合签名以及当前待签名消息的UOV签名,生成当前待签名消息的聚合签名的步骤包括:
分裂所述上一待签名消息的聚合签名,得到第一聚合分裂向量和第二聚合分裂向量;
分裂当前待签名消息的UOV签名,得到第一UOV分裂向量和第二UOV分裂向量;
合并所述第一聚合分裂向量、所述第二聚合分裂向量、所述第一UOV分裂向量和第二UOV分裂向量,生成当前待签名消息的聚合签名。
4.如权利要求3所述的一种多变量聚合签名方法,其特征在于:
若所述当前待签名消息为所述消息列表中的第一个待签名消息,则在得到第一个待签名消息的UOV签名之后,分裂第一个待签名消息的UOV签名,得到第一个待签名消息的第一UOV分裂向量和第二UOV分裂向量;
根据第一个待签名消息的第一UOV分裂向量和第二UOV分裂向量,生成当前待签名消息的聚合签名。
5.如权利要求1所述的一种多变量聚合签名方法,其特征在于,所述验证算法包括以下步骤:
根据选取的哈希函数以及待签名消息生成第一计算结果;
将所述哈希计算结果和所述第二聚合分裂向量输入对应用户的公钥,生成第二计算结果;
将第一计算结果和第二计算结果进行比较,若相等,则说明验证通过,否则验证不通。
6.一种多变量聚合签名系统,其特征在于,所述系统包括:
密钥生成模块,用于为每个用户生成UOV密钥对,并将公钥公开,将私钥发送给用户保存;
消息生成模块,用于获取所有用户的待签名消息,并生成消息列表,依次选取所述消息列表中的一个待签名消息,并将其作为当前待签名消息;
UOV签名模块,用于调用上一待签名消息的验证算法,并通过所述验证算法检验上一待签名消息的聚合签名,若检验通过,则利用私钥和非平衡油醋签名算法对所述当前待签名消息进行签名,得到UOV签名;
聚合签名模块,用于根据上一待签名消息的聚合签名以及当前待签名消息的UOV签名,生成当前待签名消息的聚合签名;
签名验证模块,用于重复上述步骤,直至获取到最后一个待签名消息的聚合签名,并根据验证算法判断此聚合签名的有效性。
7.如权利要求6所述的一种多变量聚合签名系统,其特征在于:所述聚合签名模块包括第一向量分裂单元、第二向量分裂单元以及聚合签名生成单元;
所述第一向量分裂单元,用于分裂所述上一待签名消息的聚合签名,得到第一聚合分裂向量和第二聚合分裂向量;
所述第二向量分裂单元,用于分裂当前待签名消息的UOV签名,得到第一UOV分裂向量和第二UOV分裂向量;
所述聚合签名生成单元,用于合并所述第一聚合分裂向量、所述第二聚合分裂向量、所述第一UOV分裂向量和第二UOV分裂向量,生成当前待签名消息的聚合签名。
8.如权利要求7所述的一种多变量聚合签名系统,其特征在于:
所述第二向量分裂单元,还用于检测当前待签名消息,若检测到所述当前待签名消息为所述消息列表中的第一个待签名消息,则在得到第一个待签名消息的UOV签名之后,分裂第一个待签名消息的UOV签名,得到第一个待签名消息的第一UOV分裂向量和第二UOV分裂向量;
所述聚合签名生成单元,还用于根据第一个待签名消息的第一UOV分裂向量和第二UOV分裂向量,生成当前待签名消息的聚合签名。
9.一种计算机设备,其特征在于:包括处理器和存储器,所述处理器与所述存储器相连,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,以使得所述计算机设备执行如权利要求1至5中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有计算机程序,当所述计算机程序被运行时,实现如权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111443980.9A CN114257377A (zh) | 2021-11-30 | 2021-11-30 | 一种多变量聚合签名方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111443980.9A CN114257377A (zh) | 2021-11-30 | 2021-11-30 | 一种多变量聚合签名方法、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114257377A true CN114257377A (zh) | 2022-03-29 |
Family
ID=80793624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111443980.9A Pending CN114257377A (zh) | 2021-11-30 | 2021-11-30 | 一种多变量聚合签名方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114257377A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105245343A (zh) * | 2015-09-22 | 2016-01-13 | 华南理工大学 | 一种基于多变量密码技术的在线离线签名系统及方法 |
CN107171788A (zh) * | 2017-04-08 | 2017-09-15 | 西安邮电大学 | 一种基于身份且签名长度恒定的在线离线聚合签名方法 |
-
2021
- 2021-11-30 CN CN202111443980.9A patent/CN114257377A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105245343A (zh) * | 2015-09-22 | 2016-01-13 | 华南理工大学 | 一种基于多变量密码技术的在线离线签名系统及方法 |
WO2017049790A1 (zh) * | 2015-09-22 | 2017-03-30 | 华南理工大学 | 一种基于多变量密码技术的在线离线签名系统及方法 |
CN107171788A (zh) * | 2017-04-08 | 2017-09-15 | 西安邮电大学 | 一种基于身份且签名长度恒定的在线离线聚合签名方法 |
Non-Patent Citations (1)
Title |
---|
陈家辉: "多变量公钥签名方案的扩展方案设计及其安全性研究", 中国优秀博士论文电子期刊数据库, 15 May 2017 (2017-05-15), pages 80 - 110 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hellman | An overview of public key cryptography | |
JP5064408B2 (ja) | ネットワーク符号化に対するデジタル署名 | |
US10333718B2 (en) | Method for the generation of a digital signature of a message, corresponding generation unit, electronic apparatus and computer program product | |
US9755839B2 (en) | Production of cryptographic signatures | |
CN110505067B (zh) | 区块链的处理方法、装置、设备及可读存储介质 | |
US20220131707A1 (en) | Digital Signature Method, Signature Information Verification Method, Related Apparatus and Electronic Device | |
TW201320700A (zh) | 署名驗證裝置、署名驗證方法、程式及記錄媒體 | |
CN112436938B (zh) | 数字签名的生成方法、装置和服务器 | |
CN107592203A (zh) | 一种基于格的聚合签名方法及其系统 | |
CN110190957A (zh) | 基于无证书的多变量广播多重签名方法 | |
Le et al. | A blind signature from module latices | |
CN112380579A (zh) | 一种基于格的前向安全无证书数字签名方案 | |
US20080320557A1 (en) | Batch verification device, program and batch verification method | |
Zhou et al. | An Efficient Code‐Based Threshold Ring Signature Scheme with a Leader‐Participant Model | |
CN104410500B (zh) | 基于指定验证者的签名、签名验证及副本模拟方法和系统 | |
CN113711562A (zh) | 用于区块链交易中的知识证明的计算机实现的方法和系统 | |
WO2023148350A1 (en) | Lattice-based cryptographic digital signature scheme utilising masking | |
WO2023159849A1 (zh) | 一种数字签名方法、计算机设备及介质 | |
Xin et al. | Identity-based quantum signature based on Bell states | |
CN111970130B (zh) | 量子区块链建立方法及系统 | |
CN114257377A (zh) | 一种多变量聚合签名方法、系统、设备及介质 | |
Khovratovich et al. | Tornado Privacy Solution. Cryptographic Review. Version 1.1 | |
Saeed et al. | Famous Digital Signatures Used In Smart Contracts | |
CN113132110A (zh) | 抵抗对区块链用户私钥白盒攻击的椭圆曲线数字签名方案 | |
CN112887097A (zh) | 基于sm2椭圆曲线的签名方法、相关装置、及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |