CN115473633A - 一种多方协同产生sm2数字签名的方法及装置 - Google Patents

一种多方协同产生sm2数字签名的方法及装置 Download PDF

Info

Publication number
CN115473633A
CN115473633A CN202211018718.4A CN202211018718A CN115473633A CN 115473633 A CN115473633 A CN 115473633A CN 202211018718 A CN202211018718 A CN 202211018718A CN 115473633 A CN115473633 A CN 115473633A
Authority
CN
China
Prior art keywords
signature
participant
digital signature
calculation
participants
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.)
Granted
Application number
CN202211018718.4A
Other languages
English (en)
Other versions
CN115473633B (zh
Inventor
秦红
罗敏
彭聪
冯琦
曾祥勇
黄欣沂
何德彪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN202211018718.4A priority Critical patent/CN115473633B/zh
Priority claimed from CN202211018718.4A external-priority patent/CN115473633B/zh
Publication of CN115473633A publication Critical patent/CN115473633A/zh
Application granted granted Critical
Publication of CN115473633B publication Critical patent/CN115473633B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种多方协同产生SM2数字签名的方法及装置,其中的方法通过以下技术方案实现:在离线阶段,参与方利用LPN问题产生SM2数字签名的元组;在在线阶段,参与方利用SM2元组,并通过两轮交互完整的SM2数字签名(r,s),最后进行公布。本发明具有实现通信复杂度低、安全性高、易验证等特点,使用于多方在不泄漏各自部分私钥的情况下协同产生SM2数字签名,产生签名的过程必须有参与方同时参与,产生SM2数字签名的过程不会泄漏数字签名的原始签名私钥,保证了私钥的安全性,提高了多方参与SM2数字签名产生的公平性。

Description

一种多方协同产生SM2数字签名的方法及装置
技术领域
本发明涉及信息安全技术领域,尤其涉及一种多方协同产生SM2数字签名的方法及装置。
背景技术
数字签名是公钥密码体系中重要的一部分,在很多场合有着重要的作用。一般情况下,一方产生数字签名,可以被另一方公开被验证。在某些场合,需要多方对一份文件产生数字签名,比如一些高机密的文档,需要被多人签名。在去中心化的货币交易中,例如比特币交易,也需要多方同时对某个交易进行签名,如果私钥被盗则会造成直接的经济损失。
现有技术中,目前现有的普通的密钥分割或门限秘密分割能够将密钥进行分割,但是在签名的阶段,密钥会被恢复并被某一方所掌握,这样降低了多方签名的安全性和公平性,持有完整私钥的一方可以在其他用户不知情的情况下完成签名。此外,现有的不需恢复私钥的多方签名方案使用了大量的同态签名算法、承诺和零知识证明,使得方案的计算效率低下。
发明内容
本发明提供一种多方协同产生SM2数字签名的方法及装置,用以解决或者至少部分解决现有技术中存在的安全性不高以及计算效率低的技术问题。
为了解决上述技术问题,本发明第一方面提供了一种多方协同产生SM2数字签名的方法,包括:
S1:在离线阶段,多个参与方利用LPN问题产生SM2数字签名的元组;
S2:在在线阶段,多个参与方利用SM2数字签名的元组进行第一次交互计算生成预签名;
S3:在在线阶段,多个参与方利用生SM2数字签名的元组进行第二次交互计算生成完整的SM2数字签名。
在一种实施方式中,步骤S1包括:
S1.1:种子生成,具体包括:
参与方Ui随机选择
Figure BDA0003813289780000011
Ui表示第i个用户,
Figure BDA0003813289780000012
为用户的数量,
Figure BDA0003813289780000013
为q个元素的有限域,q为素数;
对于k∈[c],Ui随机选取
Figure BDA0003813289780000014
构造环
Figure BDA0003813289780000015
上的t阶稀疏多项式
Figure BDA0003813289780000021
c,t∈N,c≥2,N是多项式F(X)的阶,k是一个随机变量,
Figure BDA0003813289780000022
是稀疏多项式
Figure BDA0003813289780000023
中各项指数组成的向量,[N]t是t个集合{0,1,…,N-1}的元素,
Figure BDA0003813289780000024
是稀疏多项式
Figure BDA0003813289780000025
中各项系数组成的向量,
Figure BDA0003813289780000026
表示t个有限域
Figure BDA0003813289780000027
中的元素,
Figure BDA0003813289780000028
表示稀疏多项式
Figure BDA0003813289780000029
的第l个系数,
Figure BDA00038132897800000210
表示稀疏多项式
Figure BDA00038132897800000211
的第l个指数,←表示随机选择过程
对于每一组Ui
Figure BDA00038132897800000212
两者联合计算
Figure BDA00038132897800000213
Figure BDA00038132897800000214
DSPFt.Gen表示分布式点函数DPF的密钥生成算法,
Figure BDA00038132897800000215
为密钥生成算法的第一输出,
Figure BDA00038132897800000216
为密钥生成算法的第二输出;
参与方Ui输出种子κi
Figure BDA00038132897800000217
S1.2:种子扩展,具体包括:
参与方Ui计算
Figure BDA00038132897800000218
Figure BDA00038132897800000219
并计算
Figure BDA00038132897800000220
DSPFt.FullEval()表示点函数在整个定义域[N]上的计算,
Figure BDA00038132897800000221
为参与方Ui以密钥
Figure BDA00038132897800000222
作为输入,在整个定义域上执计算得到的结果,
Figure BDA00038132897800000223
为参与方Ui以密钥
Figure BDA00038132897800000224
作为输入,在整个定义域上执行计算得到的结果,ski是参与方Ui持有的私钥份额,
Figure BDA00038132897800000225
是t阶稀疏多项式,
Figure BDA00038132897800000226
由参与方Ui分别以
Figure BDA00038132897800000227
作为输入在整个定义域上执行计算得到的结果进行求和计算后得到;
参与方Ui方计算向量内积xi=<a,ui>,其中,
Figure BDA00038132897800000228
a=(a0,a1,…,ac-1),a0,a1,…,ac-2是环上的随机元素,ac-1=1,ui是t阶稀疏多项式
Figure BDA00038132897800000229
组成的向量,a是环元素a0,a1,…,ac-1组成的向量;
参与方Ui分别计算
Figure BDA00038132897800000230
其中
Figure BDA00038132897800000231
Figure BDA00038132897800000232
参与方Ui输出SM2数字签名的元组(xi,(Mi,j,Kj,i)j≠i,αi,di),xi=<a,ui>,根据LPN假设,xi和环上的随机数计算不可区分,
Figure BDA00038132897800000233
在一种实施方式中,步骤S2包括:
参与方Ui计算xi·G和Mi,j·G,并向其他参与方进行广播;
Ui验证Mj,i·G=Kj,i·G+i·(xj·G),若验证通过则计算
Figure BDA00038132897800000234
否则协议中止,xj=<a,uj>,(rx,ry)表示计算结果在椭圆曲线上的坐标。
在一种实施方式中,步骤S3包括:
针对消息m,Ui计算r=H(m)+rxmod n,然后计算τi=di+ski·r-r mod n并向其他参与方广播τi,r为签名的第一部分,τi为中间结果;
Ui计算签名的第二部分
Figure BDA0003813289780000031
并验证(r,s)是否合法,如果合法则输出(r,s),否则终止程序。
基于同样的发明构思,本发明第二方面提供了一种多方协同产生SM2数字签名的装置,包括:
SM2数字签名的元组生成模块,用于在离线阶段多个参与方利用LPN问题产生SM2数字签名的元组;
预签名生成模块,用于在在线阶段多个参与方利用SM2数字签名的元组进行第一次交互计算生成预签名;
完整签名生成模块,用于在在线阶段多个参与方利用生SM2数字签名的元组进行第二次交互计算生成完整的SM2数字签名。
基于同样的发明构思,本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现第一方面所述的方法。
基于同样的发明构思,本发明第四方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
相对于现有技术,本发明的优点和有益的技术效果如下:
本发明提供的一种多方协同产生SM2数字签名的方法,在离线阶段,参与方利用LPN问题产生SM2数字签名的元组;在在线阶段,参与方利用SM2元组,并通过两轮轮交互计算得到完整的签名(r,s),最后进行公布。与现有技术中不需恢复私钥的多方签名方案使用大量的同态签名算法、承诺和零知识证明,使得方案的计算效率低下相比,本发明将复杂运算转移到离线阶段,在线阶段的计算都是轻量级的,大大降低了通信量,适合低带宽的场景。实现了多方协同产生SM2数字签名的功能,不仅要求产生签名时,集合中的用户必须同时参与,同时保证了签名私钥的安全性、高效性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的方法中多方协同产生SM2元组的流程图;
图2为本发明实施例提供的方法中多方协同产生SM2数字签名的流程图;
图3为本发明实施例提供的计算机可读存储介质的结构示意图;
图4为本发明实施例提供的计算机设备的结构示意图。
具体实施方式
本发明涉及SM2数字签名的多方协同产生算法,通过以下技术方案实现:在离线阶段,参与方利用LPN问题产生SM2数字签名的元组;在在线阶段,参与方利用SM2元组,并通过2轮交互计算得到完整的签名(r,s),最后进行公布。
本发明具有实现通信复杂度低、安全性高、易验证等特点,使用于多方在不泄漏各自部分私钥的情况下协同产生SM2数字签名,产生签名的过程必须有参与方同时参与,产生SM2数字签名的过程不会泄漏数字签名的原始签名私钥,保证了私钥的安全性,提高了多方参与SM2数字签名产生的公平性。为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供了一种多方协同产生SM2数字签名的方法,包括:
S1:在离线阶段,多个参与方利用LPN问题产生SM2数字签名的元组;
S2:在在线阶段,多个参与方利用SM2数字签名的元组进行第一次交互计算生成预签名;
S3:在在线阶段,多个参与方利用生SM2数字签名的元组进行第二次交互计算生成完整的SM2数字签名。
本发明的目的是提出多方在不泄漏自己的私钥sk并无法获得完整的私钥的情况下完成对消息的签名。
具体来说,若P、Q是椭圆曲线群中的元素(点),则P+Q表示P、Q的点加,kP表示k个椭圆曲线点P的点加,即P+P+...+P(共有k个P);c-1表示整数c的模n乘法逆(即c(c)-1mod n=1);多个整数相乘(包括整数符号相乘、常数与整数符号相乘),在不产生二义性的情况下,省略掉乘号“·”,如k1·k2简化为k1k2,3·c,简化位3c;粗体表示向量;mod n表示模n运算(modulo operation),对应于《SM2椭圆曲线公钥密码算法》规范(国家密码管理局,2010年12月)中的mod n;还有,模n运算的算子mod n的优先级是最低的,如a+b mod n等同于(a+b)mod n,a-b mod n等同于(a-b)mod n,ab mod n等同于(ab)mod n。
本方案基于带静态泄露的模LPN(Learning Parity with Noise)问题,该问题描述如下:多项式环
Figure BDA0003813289780000051
其中q是素数,F(X)是阶为N的多项式,令c,t∈N,c≥2。定义在[N]上均匀随机选取t个噪声(w[i])i∈[t]
Figure BDA0003813289780000052
上均匀选取(β[i])i∈[t]的分布
Figure BDA00038132897800000510
并计算环元素e(X)=∑i∈[t]β[i]·Xw[i]。定义如图1所示的敌手-挑战者之间的游戏。带静态泄露的模LPN问题是困难的,当且仅当对于任意概率多项式时间的敌手
Figure BDA0003813289780000053
游戏输出1的优势是可忽略的。
其中,LPN问题涉及的敌手-挑战者游戏的实现过程如下:
初始化:挑战者输入安全参数1λ并激活敌手
Figure BDA0003813289780000054
随机选取b←R{0,1}。然后在环R上随机选取c个元素
Figure BDA0003813289780000055
其中ei的第j个噪声为wi[j]。
查询:敌手自适应地执行查询(i,j,I),其中i∈[c],j∈[t],I∈[N]。如果wi[j]∈I,挑战者回答Success,否则回答Abort。
挑战:对于每个i∈[c-1],挑战者随机选择ai∈R并令ac-1=1,计算
Figure BDA0003813289780000056
挑战者随机选择u0←R,把(a0,a1,…,ac-2,ub)发送给敌手
Figure BDA0003813289780000057
敌手返回一个比特b′。当b=b′时,游戏输出1。
在本方案中,产生SM2数字签名由参与方组成的集合
Figure BDA0003813289780000058
共同参与,Ui持有私钥份额ski,满足
Figure BDA0003813289780000059
定义点函数f:[N]→D,D是加法群。DSPFt表示t个分布式点函数的和,并由密钥生成DSPFt.Gen()和计算DSPFt.Eval()两个算法组成,DSPFt.FullEval()表示点函数在整个定义域[N]上的计算。
本申请中采用和涉及的具体符号描述如下:
Ui:第i个用户。
sk:SM2签名算法的私钥。
G:椭圆曲线的一个基点,其阶为素数。
m:待签名的消息。
H():作用于消息m的密码杂凑函数。
mod n:模n运算。例如,23mod7≡2。
n:基点G的阶。
kP:椭圆曲线上点P的k倍点,k是正整数。
[x]:1到x-1的整数集合。
(rx,ry):某一点的x坐标的值和y坐标的值。
iai:将所有的ai都累加起来,即a1+ai+…+an
在一种实施方式中,步骤S1包括:
S1.1:种子生成,具体包括:
参与方Ui随机选择
Figure BDA0003813289780000061
Ui表示第i个用户,
Figure BDA0003813289780000062
为用户的数量,
Figure BDA0003813289780000063
为q个元素的有限域,q为素数;
对于k∈[c],Ui随机选取
Figure BDA0003813289780000064
构造环
Figure BDA0003813289780000065
上的t阶稀疏多项式
Figure BDA0003813289780000066
c,t∈N,c≥2,N是多项式F(X)的阶,k是一个随机变量,
Figure BDA0003813289780000067
是稀疏多项式
Figure BDA0003813289780000068
中各项指数组成的向量,[N]t是t个集合{0,1,…,N-1}的元素,
Figure BDA0003813289780000069
是稀疏多项式
Figure BDA00038132897800000610
中各项系数组成的向量,
Figure BDA00038132897800000611
表示t个有限域
Figure BDA00038132897800000612
中的元素,
Figure BDA00038132897800000613
表示稀疏多项式
Figure BDA00038132897800000614
的第l个系数,
Figure BDA00038132897800000615
表示稀疏多项式
Figure BDA00038132897800000616
的第l个指数,←表示随机选择过程
对于每一组Ui
Figure BDA00038132897800000617
两者联合计算
Figure BDA00038132897800000618
Figure BDA00038132897800000619
DSPFt.Gen表示分布式点函数DPF的密钥生成算法,
Figure BDA00038132897800000620
为密钥生成算法的第一输出,
Figure BDA00038132897800000621
为密钥生成算法的第二输出;
参与方Ui输出种子κi
Figure BDA00038132897800000622
S1.2:种子扩展,具体包括:
参与方Ui计算
Figure BDA00038132897800000623
Figure BDA00038132897800000624
并计算
Figure BDA00038132897800000625
Figure BDA00038132897800000626
为参与方Ui以密钥
Figure BDA00038132897800000627
作为输入,在整个定义域上执行计算得到的结果,
Figure BDA00038132897800000628
为参与方Ui以密钥
Figure BDA00038132897800000629
作为输入,在整个定义域上执行计算得到的结果,ski是参与方Ui持有的私钥份额,
Figure BDA00038132897800000630
是t阶稀疏多项式,
Figure BDA00038132897800000631
由参与方Ui分别以
Figure BDA00038132897800000632
作为输入在整个定义域上执行计算得到的结果进行求和计算后得到;
参与方Ui方计算向量内积xi=<a,ui>,其中,
Figure BDA00038132897800000633
a=(a0,a1,…,ac-1),a0,a1,…,ac-2是环上的随机元素,ac-1=1,ui是t阶稀疏多项式
Figure BDA00038132897800000634
组成的向量,a是环元素a0,a1,…,ac-1组成的向量;
参与方Ui分别计算
Figure BDA00038132897800000635
其中
Figure BDA00038132897800000636
Figure BDA00038132897800000637
为了确保xi的正确性,方案使用BeDOZa形式的MAC码。αi是参与方Ui持有的长期密钥,Kj,i为临时密钥(随着需要认证的消息改变),αi和Kj,i均由Ui持有。Mi,j是Ui使用Uj的长期密钥αj和临时密钥Ki,j计算的MAC值,即Mi,j=Ki,jj·xi
参与方Ui输出SM2数字签名的元组(xi,(Mi,j,Kj,i)j≠i,αi,di),xi=<a,ui>,根据LPN假设,xi和环上的随机数计算不可区分,
Figure BDA0003813289780000071
具体来说,多方协同产生SM2元组的离线阶段,此阶段由U中的参与方共同完成,且分为种子生成和种子扩展两个步骤。图1为本发明实施例提供的方法中多方协同产生SM2元组的流程图。
在线阶段是多方协同产生SM2数字签名,由集合U中的参与方共同完成,分为预签名和签名两个步骤。
在一种实施方式中,步骤S2包括:
参与方Ui计算xi·G和Mi,j·G,并向其他参与方进行广播;
Ui验证Mj,i·G=Kj,i·G+αu·(xj·G),若验证通过则计算
Figure BDA0003813289780000072
否则协议中止,xj=<a,uj>,(rx,ry)表示计算结果在椭圆曲线上的坐标。
在线阶段是多方协同产生SM2数字签名,由集合U中的参与方共同完成,上述步骤为预签名步骤。
具体地,每一个参与方都执行参与方Ui的操作,即计算xi·G和Mi,j·G,然后验证MAC码。例如,Ui验证Mj,i·G=Kj,i·G+αi·(xj·G),即验证等式两边的结果是否相等。
在一种实施方式中,步骤S3包括:
针对消息m,Ui计算r=H(m)+rxmod n,然后计算τi=di+ski·r-rmod n并向其他参与方广播τi,r为签名的第一部分,τi为中间结果,
Ui计算签名的第二部分
Figure BDA0003813289780000073
并验证(r,s)是否合法,如果合法则输出(r,s),否则终止程序。
本发明的目的是尽量减少交互,因此将运算部分转移到离线阶段-预计算的SM2元组,从而来提高在线阶段计算效率,在线阶段是指给定签名的消息m,对其进行签名。上述过程的交互体现在τi的广播上,当一个用户计算出中间结果τi后,会将其广播给其他的用户。
上述步骤为完整签名生成的步骤。具体请参见图2,为本发明实施例提供的方法中多方协同产生SM2数字签名的流程图。
本发明提供的技术方案与现有技术相比具有如下优点和有益效果:
首先,现有技术中,普通的密钥分割或门限秘密分割能够将密钥进行分割,但是在签名的阶段,密钥会被恢复并被某一方所掌握,这样降低了多方签名的安全性和公平性,持有完整私钥的一方可以在其他用户不知情的情况下完成签名。其次,现有的不需恢复私钥的多方签名方案使用了大量的同态签名算法、承诺和零知识证明,使得方案的计算效率低下。
本发明的方案将复杂运算转移到离线阶段,在线阶段的计算都是轻量级的,大大降低了通信量,适合低带宽的场景。实现了多方协同产生SM2数字签名的功能,不仅要求产生签名时,集合中的用户必须同时参与,同时保证了签名私钥的安全性、高效性。
实施例二
基于同样的发明构思,本实施例提供了一种多方协同产生SM2数字签名的装置,包括:
SM2数字签名的元组生成模块,用于在离线阶段多个参与方利用LPN问题产生SM2数字签名的元组;
预签名生成模块,用于在在线阶段多个参与方利用SM2数字签名的元组进行第一次交互计算生成预签名;
完整签名生成模块,用于在在线阶段多个参与方利用生SM2数字签名的元组进行第二次交互计算生成完整的SM2数字签名。
基于本发明实施例一提供的方法,很容易可以得到实施本发明方法的装置。
多方协同产生SM2数字签名的装置包括
Figure BDA0003813289780000081
个参与方,参与方按照本发明的数字签名产生方法,产生对消息m的数字签名。
由于本发明实施例二所介绍的装置为实施本发明实施例一中多方协同产生SM2数字签名的方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一中方法所采用的装置都属于本发明所欲保护的范围。
实施例三
如图3所示,基于同一发明构思,本发明还提供了一种计算机可读存储介质300,其上存储有计算机程序311,该程序被执行时实现如实施例一中所述的方法。
由于本发明实施例三所介绍的计算机可读存储介质为实施本发明实施例一中多方协同产生SM2数字签名的方法所采用的计算机可读存储介质,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机可读存储介质的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的计算机可读存储介质都属于本发明所欲保护的范围。
实施例四
基于同一发明构思,本申请还提供了一种计算机设备,如图4所示,包括存储401、处理器402及存储在存储器上并可在处理器上运行的计算机程序403,处理器402执行上述程序时实现实施例一中的方法。
由于本发明实施例四所介绍的计算机设备为实施本发明实施例一中多方协同产生SM2数字签名的方法所采用的计算机设备,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机设备的具体结构及变形,故而在此不再赘述。凡是本发明实施例一中方法所采用的计算机设备都属于本发明所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (7)

1.一种多方协同产生SM2数字签名的方法,其特征在于,包括:
S1:在离线阶段,多个参与方利用LPN问题产生SM2数字签名的元组;
S2:在在线阶段,多个参与方利用SM2数字签名的元组进行第一次交互计算生成预签名;
S3:在在线阶段,多个参与方利用生SM2数字签名的元组进行第二次交互计算生成完整的SM2数字签名。
2.如权利要求1所述的多方协同产生SM2数字签名的方法,其特征在于,步骤S1包括:
S1.1:种子生成,具体包括:
参与方Ui随机选择
Figure FDA0003813289770000011
Ui表示第i个用户,
Figure FDA0003813289770000012
为用户的数量,
Figure FDA0003813289770000013
为q个元素的有限域,q为素数;
对于k∈[c],Ui随机选取
Figure FDA0003813289770000014
构造环
Figure FDA0003813289770000015
上的t阶稀疏多项式
Figure FDA0003813289770000016
c,t∈N,c≥2,N是多项式F(X)的阶,k是一个随机变量,
Figure FDA0003813289770000017
是稀疏多项式
Figure FDA0003813289770000018
中各项指数组成的向量,[N]t是t个集合{0,1,...,N-1}的元素,
Figure FDA0003813289770000019
是稀疏多项式
Figure FDA00038132897700000110
中各项系数组成的向量,
Figure FDA00038132897700000111
表示t个有限域
Figure FDA00038132897700000112
中的元素,
Figure FDA00038132897700000113
表示稀疏多项式
Figure FDA00038132897700000114
的第l个系数,
Figure FDA00038132897700000115
表示稀疏多项式
Figure FDA00038132897700000116
的第l个指数,←表示随机选择过程
对于每一组Ui
Figure FDA00038132897700000117
两者联合计算
Figure FDA00038132897700000118
Figure FDA00038132897700000119
DSPFt.Gen表示分布式点函数DPF的密钥生成算法,
Figure FDA00038132897700000120
为密钥生成算法的第一输出,
Figure FDA00038132897700000121
为密钥生成算法的第二输出;
参与方Ui输出种子κi
Figure FDA00038132897700000122
S1.2:种子扩展,具体包括:
参与方Ui计算
Figure FDA00038132897700000123
Figure FDA00038132897700000124
并计算
Figure FDA00038132897700000125
DSPFt.FullEval()表示点函数在整个定义域[N]上的计算,
Figure FDA00038132897700000126
为参与方Ui以密钥
Figure FDA00038132897700000127
作为输入,在整个定义域上执计算得到的结果,
Figure FDA00038132897700000128
为参与方Ui以密钥
Figure FDA00038132897700000129
作为输入,在整个定义域上执行计算得到的结果,ski是参与方Ui持有的私钥份额,
Figure FDA00038132897700000130
是t阶稀疏多项式,
Figure FDA00038132897700000131
由参与方Ui分别以
Figure FDA00038132897700000132
作为输入在整个定义域上执行计算得到的结果进行求和计算后得到;
参与方Ui方计算向量内积xi=<a,ui>,其中,
Figure FDA0003813289770000021
a=(a0,a1,...,ac-1),a0,a1,...,ac-2是环上的随机元素,ac-1=1,ui是t阶稀疏多项式
Figure FDA0003813289770000028
组成的向量,a是环元素a0,a1,...,ac-1组成的向量;
参与方Ui分别计算
Figure FDA0003813289770000022
其中
Figure FDA0003813289770000023
Figure FDA0003813289770000024
参与方Ui输出SM2数字签名的元组(xi,(Mi,j,Kj,i)j≠i,αi,di),xi=<a,ui>,根据LPN假设,xi和环上的随机数计算不可区分,
Figure FDA0003813289770000025
3.如权利要求1所述的多方协同产生SM2数字签名的方法,其特征在于,步骤S2包括:
参与方Ui计算xi·G和Mi,j·G,并向其他参与方进行广播;
Ui验证Mj,i·G=Kj,i·G+αi·(xj·G),若验证通过则计算
Figure FDA0003813289770000026
否则协议中止,xj=<a,uj>,(rx,ry)表示计算结果在椭圆曲线上的坐标。
4.如权利要求1所述的多方协同产生SM2数字签名的方法,其特征在于,步骤S3包括:
针对消息m,Ui计算r=H(m)+rxmod n,然后计算τi=di+ski·r-r mod n并向其他参与方广播τi,r为签名的第一部分,τi为中间结果;
Ui计算签名的第二部分
Figure FDA0003813289770000027
并验证(r,s)是否合法,如果合法则输出(r,s),否则终止程序。
5.一种多方协同产生SM2数字签名的装置,其特征在于,包括:
SM2数字签名的元组生成模块,用于在离线阶段多个参与方利用LPN问题产生SM2数字签名的元组;
预签名生成模块,用于在在线阶段多个参与方利用SM2数字签名的元组进行第一次交互计算生成预签名;
完整签名生成模块,用于在在线阶段多个参与方利用生SM2数字签名的元组进行第二次交互计算生成完整的SM2数字签名。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至4任一项所述的方法。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述的方法。
CN202211018718.4A 2022-08-24 一种多方协同产生sm2数字签名的方法及装置 Active CN115473633B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211018718.4A CN115473633B (zh) 2022-08-24 一种多方协同产生sm2数字签名的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211018718.4A CN115473633B (zh) 2022-08-24 一种多方协同产生sm2数字签名的方法及装置

Publications (2)

Publication Number Publication Date
CN115473633A true CN115473633A (zh) 2022-12-13
CN115473633B CN115473633B (zh) 2024-05-31

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117439737B (zh) * 2023-12-18 2024-02-27 北京信安世纪科技股份有限公司 协同签名方法和协同签名系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117439737B (zh) * 2023-12-18 2024-02-27 北京信安世纪科技股份有限公司 协同签名方法和协同签名系统

Similar Documents

Publication Publication Date Title
CN109474422B (zh) 一种多方协同产生sm2数字签名的方法
MacKenzie et al. Two-party generation of DSA signatures
CN109951443B (zh) 一种云环境下隐私保护的集合交集计算方法及系统
CN108667625B (zh) 协同sm2的数字签名方法
CN107707358B (zh) 一种ec-kcdsa数字签名生成方法及系统
CN109660361B (zh) 一种对称环境下多方联合生成sm9数字签名的方法
Cheon et al. Multi-party privacy-preserving set intersection with quasi-linear complexity
CN110011803B (zh) 一种轻量级sm2两方协同生成数字签名的方法
Harkins Dragonfly key exchange
CN109547199B (zh) 一种多方联合生成sm2数字签名的方法
CN111010285B (zh) 一种适用于轻量级客户端的sm2两方协同签名方法及介质
Abram et al. Low-bandwidth threshold ECDSA via pseudorandom correlation generators
US20030059041A1 (en) Methods and apparatus for two-party generation of DSA signatures
CN117118617B (zh) 一种基于模分量同态的分布式门限加解密方法
Battagliola et al. Threshold ecdsa with an offline recovery party
CN110535636B (zh) 一种轻量级的基于sm2算法的协同签名方法与装置
Daniel et al. A forward secure signcryption scheme with ciphertext authentication for e-payment systems using conic curve cryptography
Pang et al. A novel multi-receiver signcryption scheme with complete anonymity
CN110071796A (zh) 一种基于共享秘密的计算方法
Horster et al. Hidden signature schemes based on the discrete logarithm problem and related concepts
Battagliola et al. A provably-unforgeable threshold eddsa with an offline recovery party
CN113591160B (zh) 一种基于对称密码的状态数字签名方法及系统
CN115473633A (zh) 一种多方协同产生sm2数字签名的方法及装置
CN115473633B (zh) 一种多方协同产生sm2数字签名的方法及装置
Jiang et al. Efficient authentication protocol with anonymity and key protection for mobile Internet users

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
GR01 Patent grant