CN109660361B - 一种对称环境下多方联合生成sm9数字签名的方法 - Google Patents

一种对称环境下多方联合生成sm9数字签名的方法 Download PDF

Info

Publication number
CN109660361B
CN109660361B CN201910147772.0A CN201910147772A CN109660361B CN 109660361 B CN109660361 B CN 109660361B CN 201910147772 A CN201910147772 A CN 201910147772A CN 109660361 B CN109660361 B CN 109660361B
Authority
CN
China
Prior art keywords
signature
participants
kgc
key
generating
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.)
Active
Application number
CN201910147772.0A
Other languages
English (en)
Other versions
CN109660361A (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 CN201910147772.0A priority Critical patent/CN109660361B/zh
Publication of CN109660361A publication Critical patent/CN109660361A/zh
Application granted granted Critical
Publication of CN109660361B publication Critical patent/CN109660361B/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/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
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种对称环境下多方联合生成SM9数字签名的方法,该方法中包括多个参与者,步骤如下:密钥生成中心KGC产生主公私钥;KGC为所有参与方分发部分私钥;所有参与方联合签名,然后利用SM9的数字签名验证算法验证产生的签名,若通过,则公布关于消息M的SM9签名。本发明方法实现了多方联合生成SM9数字签名,签名过程中保证各参与方都不会暴露部分私钥,同时数字签名必须由所有参与方同时参与,这样实现了多方签名的安全性和公平性。

Description

一种对称环境下多方联合生成SM9数字签名的方法
技术领域
本发明涉及信息安全技术,尤其涉及一种对称环境下多方联合生成SM9数字签名的方法。
背景技术
数字签名是信息安全技术的重要组成部分。与物理签名或印章的功能类似,数字签名实际上就是一组只有发送者才能产生的电子数据,在身份认证、数据完整性、不可否认性以及匿名性等方面有重要应用。利用数字签名一方面可以验证信息的发送者是合法的且不可抵赖的,即实体认证;另一方面还可以验证发送消息内容的完整性和实效性,即通信数据安全。在数字签名系统中,实现身份认证的基础是公/私钥与用户物理身份的绑定。当前数字签名的部署主要依托于公钥密码基础设施,但是随着网络规模和应用范围的扩大,公钥密码基础设施必须花费大量的时间和成本发放和管理证书。为了简化公钥证书的传输和验证,科研人员提出了基于身份的密码体制,公钥直接从用户的身份信息里获取,自然绑定公钥与实体,可以解决证书管理的难题。
基于身份的数字签名中,公钥来自于用户公开的信息,因此签名的安全性完全依赖于签名密钥的安全性,签名密钥的保管至关重要。一种方式是使用秘密共享方案分散管理签名密钥,例如(k,n)门限签名方案。此方案中签名密钥被映射为n个子密钥,分别交由n位参与者保管。由k个或多于k个参与者所持有的部分信息可重构签名密钥,而少于k个参与者所持有的部分信息得不到关于签名密钥的任何信息。因此,利用秘密共享方案很容易在数据安全、银行网络管理或导弹控制与发射等方面实现权限分配。但是秘密共享方案都是一次性的,在每次签名密钥的恢复过程中,k个或k个以上的参与者都要初始各自的子密钥,从而暴露了所有秘密信息,特别是在只有两个参与方的情况下,某一方恢复并持有完整签名密钥,就可以在另一方不知情的情况下,独立地进行数字签名。即存在以下缺陷:
1、关于私钥的安全性,目前现有的门限秘密共享方案,虽然可以将私钥进行分割,但在签名阶段,私钥会被恢复并被某一方掌握,造成了私钥的泄露,这样降低了多方签名的安全性。
2、关于签名的公平性,目前现有的门限秘密共享方案,最终持有完整私钥的一方可以独立进行签名,不需要全部参与方共同参加,这样降低了多方签名的公平性。
由此可见,基于秘密共享的实现方法对签名密钥的保护较弱,存在密钥泄露的隐患。
针对这种情况,需要设计了一种对称环境下多方联合生成SM9数字签名的方案,此方案在实现多方联合生成签名的情况下,既能保证签名的正确性,又能保证签名的私钥不被泄露,且生成签名的过程中必须由所有参与方同时执行操作。
SM9是由国家密码管理局颁布的一种基于标识的公钥密码算法(参见《SM9标识密码算法》规范,国家密码管理局,2016年3月),基于此算法能实现基于身份的数字签名、密钥交换及数据加密。在这里,不同于各种普通的密钥分割或门限秘密分割。本专利提出的多方联合产生SM9数字签名的方法与系统,只有所有参与者共同参与运算的情况下,才能产生合法签名,同时任何一方都无法得到原始的私钥。
发明内容
本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种对称环境下多方联合生成SM9数字签名的方法。
本发明解决其技术问题所采用的技术方案是:一种对称环境下多方联合生成SM9数字签名的方法,
所述多方有τ(τ≥2)个参与方,表示为
Figure BDA0001980572410000031
包括以下步骤:
1)初始化步骤:
密钥生成中心KGC产生随机数ks∈{1,…,q-1}作为主私钥,计算
Figure BDA0001980572410000041
中的元素Ppub-s=[ks]P2作为主公钥;KGC秘密保存ks,公开Ppub-s;然后,KGC选择并公开用一个字节表示的签名私钥生成函数识别符hid;
其中,q为素数,
Figure BDA0001980572410000042
均是阶为q的加法循环群,
Figure BDA0001980572410000043
是阶为q的乘法循环群,P1
Figure BDA0001980572410000044
的生成元,P2
Figure BDA0001980572410000045
的生成元;
2)密钥分发步骤:由KGC为所有参与方分发部分私钥,具体如下:
2.1)KGC计算临时变量t1=H1(IDA||hid,q)+ks,若t1=0,则返回步骤1)重新产生签名主私钥,计算和公开签名主公钥,并更新已有用户的签名私钥;否则,转入步骤2.2);
其中,IDA为参与数字签名的
Figure BDA0001980572410000046
拥有共同的身份标识符;
2.2)KGC计算临时变量
Figure BDA0001980572410000047
并生成基于身份的私钥DID=[t2]P1
2.3)由KGC产生τ个
Figure BDA0001980572410000048
上的随机点Q1,…,Qτ,并使其满足
Figure BDA00019805724100000412
2.4)KGC设置每个参与方
Figure BDA0001980572410000049
的私钥为
Figure BDA00019805724100000410
2.5)KGC为每个参与方
Figure BDA00019805724100000411
生成一对用于分量转化协议的公私钥对(xi,Pubi),即交互私钥xi∈{1,…,q-1}以及对应的交互公钥Pubi=xi·P1
2.6)KGC将生成的部分私钥,以及用于分量转化协议的公私钥对,分别安全地发送给对应的参与方
Figure BDA0001980572410000051
3)联合签名步骤:
3.1)每个参与方
Figure BDA0001980572410000052
计算
Figure BDA0001980572410000053
中的元素g=e(P1,Ppub-s),产生部分随机数ri∈{1,…,q-1}并计算第一个临时变量
Figure BDA0001980572410000054
广播wi
3.2)当收到所有参与方发来的wl(l=1,…,τ)后,计算第二个临时变量
Figure BDA0001980572410000055
并使用w计算签名的第一部分h=H2(M||w,q),其中M是待签名的消息;
3.3)
Figure BDA00019805724100000522
计算第三个临时变量δi=(ri-h/τ)mod q,与所有
Figure BDA0001980572410000056
Figure BDA0001980572410000057
分别执行分量转化协议
Figure BDA0001980572410000058
输入
Figure BDA0001980572410000059
得到第四组临时变量Dij,j∈{1,…,τ}/{i};
所述分量转化协议
Figure BDA00019805724100000510
为针对
Figure BDA00019805724100000511
群运算的交叉相乘算法,该算法由任意两个参与方
Figure BDA00019805724100000512
共同完成,假设
Figure BDA00019805724100000513
的输入为
Figure BDA00019805724100000514
Figure BDA00019805724100000515
的输入为δj,
Figure BDA00019805724100000516
其中δij∈{1,…,q-1},
Figure BDA00019805724100000517
最终双方得到各自的加法分量Dij和Dji,使其满足
Figure BDA00019805724100000518
3.4)
Figure BDA00019805724100000519
计算部分加法碎片
Figure BDA00019805724100000520
最后,
Figure BDA00019805724100000521
将Di广播给其他参与方;
3.5)当收到所有参与方发来的Dl(l=1,…,τ)后,
Figure BDA0001980572410000061
计算第二部分签名
Figure BDA0001980572410000062
3.6)
Figure BDA0001980572410000063
利用SM9的数字签名验证算法验证产生的签名,若通过,则公布关于消息M的SM9签名Sig=(h,S),否则终止协议。
按上述方案,所述步骤3.3)中,分量转化协议
Figure BDA0001980572410000064
表示双方的交互过程的具体如下:
对任意两个参与方
Figure BDA0001980572410000065
产生随机数si∈{1,…,q-1},计算两个
Figure BDA0001980572410000066
中的随机因子Ri=si·P1
Figure BDA0001980572410000067
并把(Ri,Si)发送给
Figure BDA0001980572410000068
同样地,
Figure BDA0001980572410000069
产生随机数sj∈{1,…,q-1},计算两个
Figure BDA00019805724100000610
中的随机因子Rj=sj·P1和Sj=sj·
Figure BDA00019805724100000611
随后发送(Rj,Sj)给
Figure BDA00019805724100000612
Figure BDA00019805724100000613
产生
Figure BDA00019805724100000614
中的随机元素
Figure BDA00019805724100000615
作为自己的第一部分加法分量,根据收到的(Rj,Sj)计算两个中间变量R′j=δi·Rj
Figure BDA00019805724100000616
并把(R′j,S′j)发送给
Figure BDA00019805724100000617
同样地,
Figure BDA00019805724100000618
产生
Figure BDA00019805724100000619
中的随机元素
Figure BDA00019805724100000620
作为自己的第一部分加法分量,并根据收到的(Ri,Si)计算两个中间变量R′i=δj·Ri
Figure BDA00019805724100000621
随后发送(R′i,S′i)发送给
Figure BDA00019805724100000622
Figure BDA00019805724100000623
利用收到的(R′i,S′i)计算自己的第二部分加法分量
Figure BDA00019805724100000624
最后计算完整的加法分量
Figure BDA00019805724100000625
同样地,
Figure BDA00019805724100000626
利用收到的(R′j,S′j)计算第二部分加法分量
Figure BDA0001980572410000071
最后计算完整的加法分量
Figure BDA0001980572410000072
假设
Figure BDA0001980572410000073
的输入为δi,
Figure BDA0001980572410000074
Figure BDA0001980572410000075
的输入为δj,
Figure BDA0001980572410000076
其中δij∈{1,…,q-1},
Figure BDA0001980572410000077
则双方得到的加法分量Dij和Dji满足
Figure BDA0001980572410000078
Figure BDA0001980572410000079
本发明产生的有益效果是:
1、本发明实现了多方联合生成SM9数字签名,签名过程中保证各参与方都不会暴露部分私钥,同时数字签名必须由所有参与方同时参与,这样实现了多方签名的安全性和公平性。
2、本发明基于数学难题,保证即使有一方的私钥丢失,也不会泄露关于完整私钥或其他参与方持有的部分私钥的任何信息。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例的交叉相乘算法流程示意图。
图2是本发明实施例的联合生成完整签名的交互流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
对于本方案,生成SM9数字签名时,有τ个参与方,表示为
Figure BDA0001980572410000081
为了使方案的安全性更高,在
Figure BDA0001980572410000082
之间的通信过程中,使用零知识证明,例如交互式的Sigma协议来证明发送的数据是来自发送方,降低数据被伪造的风险,同时也可以防止有恶意参与方干扰联合签名过程。
首先由KGC做如下初始化操作:在集合{1,…,q-1}中KGC随机选择一个整数ks作为主私钥,计算
Figure BDA0001980572410000083
中的元素Ppub-s=[ks]P2作为主公钥。KGC秘密保存ks,公开Ppub-s。最后,KGC选择并公开用一个字节表示的签名私钥生成函数识别符hid。
多方联合SM9数字签名生成算法分为以下主要两步,首先要密钥分发,然后多方联合生成SM9数字签名。
密钥分发由KGC执行。在此过程中,KGC根据参与方的身份标识符IDA分别为每个参与方分发密钥,具体操作如下:
1.首先KGC计算一个临时变量t1=H1(IDA||hid,q)+ks,若t1=0则需要重新产生签名主私钥,计算和公开签名主公钥,并更新已有用户的签名私钥;否则进行第2步。
2.KGC计算第二个临时变量
Figure BDA0001980572410000084
并产生τ个
Figure BDA0001980572410000085
上的随机点Q1,…,Qτ,并使其满足
Figure BDA0001980572410000091
3.KGC设置每个参与方
Figure BDA0001980572410000092
的私钥为
Figure BDA0001980572410000093
同时为每个参与方
Figure BDA0001980572410000094
生成一对用于分量转化协议的公私钥对,即交互私钥xi∈{1,…,q-1}和对应的交互公钥Pubi=xi·P1,最后KGC安全地将部分私钥
Figure BDA0001980572410000095
分量转化协议公私钥{xi,Pubi}安全地发送给对应的参与方
Figure BDA0001980572410000096
针对
Figure BDA0001980572410000097
群的分量转化协议
Figure BDA0001980572410000098
在本发明的签名阶段,需要使用针对
Figure BDA0001980572410000099
群运算的分量转化协议
Figure BDA00019805724100000910
该算法由任意两个参与方
Figure BDA00019805724100000911
共同完成,假设
Figure BDA00019805724100000912
的输入为δi,
Figure BDA00019805724100000913
Figure BDA00019805724100000914
的输入为δj,
Figure BDA00019805724100000915
其中δij∈{1,…,q-1},
Figure BDA00019805724100000916
最终双方得到各自的加法分量Dij和Dji,使其满足
Figure BDA00019805724100000917
图1表示双方的交互过程,算法的具体操作如下:
1.
Figure BDA00019805724100000918
产生随机数si∈{1,…,q-1},计算两个
Figure BDA00019805724100000919
中的随机因子Ri=si·P1
Figure BDA00019805724100000920
并把(Ri,Si)发送给
Figure BDA00019805724100000921
同样地,
Figure BDA00019805724100000922
产生随机数sj∈{1,…,q-1},计算两个
Figure BDA00019805724100000923
中的随机因子Rj=sj·P1
Figure BDA00019805724100000924
随后发送(Rj,Sj)给
Figure BDA00019805724100000925
2.
Figure BDA00019805724100000926
产生
Figure BDA00019805724100000927
中的随机元素
Figure BDA00019805724100000928
作为自己的第一部分加法分量,根据收到的(Rj,Sj)计算两个中间变量R′j=δi·Rj
Figure BDA00019805724100000929
并把(R′j,S′j)发送给
Figure BDA00019805724100000930
同样地,
Figure BDA0001980572410000101
产生
Figure BDA0001980572410000102
中的随机元素
Figure BDA0001980572410000103
作为自己的第一部分加法分量,并根据收到的(Ri,Si)计算两个中间变量R′i=δj·Ri
Figure BDA0001980572410000104
随后发送(R′i,S′i)发送给
Figure BDA0001980572410000105
3.
Figure BDA0001980572410000106
利用收到的(R′i,S′i)计算自己的第二部分加法分量
Figure BDA0001980572410000107
最后计算完整的加法分量
Figure BDA0001980572410000108
同样地,
Figure BDA0001980572410000109
利用收到的(R′j,S′j)计算第二部分加法分量
Figure BDA00019805724100001010
最后计算完整的加法分量
Figure BDA00019805724100001011
如图2,在联合SM9数字签名生成的阶段,各参与方的操作如下:
1.每个参与方
Figure BDA00019805724100001012
计算
Figure BDA00019805724100001013
中的元素g=e(P1,Ppub-s),产生部分随机数ri∈{1,…,q-1},计算第一个临时变量
Figure BDA00019805724100001014
同时生成关于(ri,wi)离散对数关系的零知识证明
Figure BDA00019805724100001015
最后
Figure BDA00019805724100001016
广播
Figure BDA00019805724100001017
2.当收到所有参与方发来的
Figure BDA00019805724100001018
后,每个参与方
Figure BDA00019805724100001019
验证这些零知识证明的正确性。若有一个验证不通过,则中止协议。否则,计算第二个临时变量
Figure BDA00019805724100001020
并计算签名的第一部分h=H2(M||w,q),其中M是待签名的消息。
3.每个参与方
Figure BDA00019805724100001021
计算第三个临时变量δi=(ri-h/τ)mod q,使用
Figure BDA00019805724100001022
作为输入,与所有
Figure BDA00019805724100001023
分别执行分量转化协议
Figure BDA00019805724100001024
得到一组临时变量Dij,j∈{1,…,τ}/{i},由此计算出部分加法分量
Figure BDA00019805724100001025
Figure BDA0001980572410000111
最后,
Figure BDA0001980572410000112
将Di广播给其他参与方。
4.当收到所有参与方发来的Dl(l=1,…,τ)后,
Figure BDA0001980572410000113
可以计算签名的第二部分
Figure BDA0001980572410000114
最后
Figure BDA0001980572410000115
利用SM9的数字签名验证算法验证产生的签名,若通过,则公布关于消息M的SM9签名Sig=(h,S),否则终止协议。
基于本发明的方法,很容易构建实施本发明方法的系统。
基于本发明的SM9数字签名生成方法构建的SM9数字签名生成系统包括任意多个签名参与方,每个参与方按照本发明的数字签名生成方法,联合生成对消息M的数字签名。
本发明具有实现复杂度低、安全性高、易验证等特点,适用于若干参与方在不泄漏各自部分私钥的情况下联合生成SM9数字签名,产生签名的过程必须由所有参与方同时执行,生成SM9数字签名的过程不会泄漏数字签名的原始私钥,保证了私钥的安全性,提高了对称环境下多方参与SM9数字签名生成的安全性和公平性。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (2)

1.一种对称环境下多方联合生成SM9数字签名的方法,其特征在于,所述多方有τ个参与方,表示为
Figure FDA0001980572400000011
包括以下步骤:
1)初始化步骤:
密钥生成中心KGC产生随机数ks∈{1,…,q-1}作为主私钥,计算
Figure FDA0001980572400000012
中的元素Ppub-s=[ks]P2作为主公钥;KGC秘密保存ks,公开Ppub-s;然后,KGC选择并公开用一个字节表示的签名私钥生成函数识别符hid;
其中,q为素数,
Figure FDA0001980572400000013
均是阶为q的加法循环群,
Figure FDA0001980572400000014
是阶为q的乘法循环群,P1
Figure FDA0001980572400000015
的生成元,P2
Figure FDA0001980572400000016
的生成元;
2)密钥分发步骤:由KGC为所有参与方分发部分私钥,具体如下:
2.1)KGC计算临时变量t1=H1(IDA||hid,q)+ks,若t1=0,则返回步骤1)重新产生签名主私钥,计算和公开签名主公钥,并更新已有用户的签名私钥;否则,转入步骤2.2);
其中,IDA为参与数字签名的
Figure FDA0001980572400000017
拥有共同的身份标识符;
2.2)KGC计算临时变量
Figure FDA0001980572400000018
并生成基于身份的私钥DID=[t2]P1
2.3)由KGC产生τ个
Figure FDA0001980572400000019
上的随机点Q1,…,Qτ,并使其满足
Figure FDA00019805724000000110
2.4)KGC设置每个参与方
Figure FDA0001980572400000021
的私钥为
Figure FDA0001980572400000022
2.5)KGC为每个参与方
Figure FDA0001980572400000023
生成一对用于分量转化协议的公私钥对(xi,Pubi),其中,交互私钥xi,xi∈{1,…,q-1},对应的交互公钥Pubi=xi·P1
2.6)KGC将生成的部分私钥,以及用于分量转化协议的公私钥对,分别安全地发送给对应的参与方
Figure FDA0001980572400000024
3)联合签名步骤:
3.1)每个参与方
Figure FDA0001980572400000025
计算
Figure FDA0001980572400000026
中的元素g=e(P1,Ppub-s),产生部分随机数ri∈{1,…,q-1}并计算第一个临时变量
Figure FDA0001980572400000027
广播wi
3.2)当收到所有参与方发来的wl后,l=1,…,τ,每个参与方
Figure FDA0001980572400000028
计算第二个临时变量
Figure FDA0001980572400000029
并使用w计算签名的第一部分h=H2(M||w,q),其中M是待签名的消息;
3.3)每个参与方
Figure FDA00019805724000000210
计算第三个临时变量δi=(ri-h/τ)mod q,与所有
Figure FDA00019805724000000211
分别执行分量转化协议
Figure FDA00019805724000000212
输入
Figure FDA00019805724000000213
得到第四组临时变量Dij,j∈{1,…,τ}/{i};
所述分量转化协议
Figure FDA00019805724000000214
为针对
Figure FDA00019805724000000215
群运算的交叉相乘算法,该算法由任意两个参与方
Figure FDA00019805724000000216
共同完成,假设
Figure FDA00019805724000000217
的输入为
Figure FDA00019805724000000218
Figure FDA00019805724000000219
的输入为
Figure FDA00019805724000000220
其中δij∈{1,…,q-1},
Figure FDA0001980572400000031
最终双方得到各自的加法分量Dij和Dji,使其满足
Figure FDA0001980572400000032
3.4)每个参与方
Figure FDA0001980572400000033
计算部分加法碎片
Figure FDA0001980572400000034
最后,
Figure FDA0001980572400000035
将Di广播给其他参与方;
3.5)当收到所有参与方发来的Dl,l=1,…,τ后,
Figure FDA0001980572400000036
计算第二部分签名
Figure FDA0001980572400000037
3.6)
Figure FDA0001980572400000038
利用SM9的数字签名验证算法验证产生的签名,若通过,则公布关于消息M的SM9签名Sig=(h,S),否则终止协议。
2.根据权利要求1所述的对称环境下多方联合生成SM9数字签名的方法,其特征在于,所述步骤3.3)中,分量转化协议
Figure FDA0001980572400000039
表示双方的交互过程的具体如下:
对任意两个参与方
Figure FDA00019805724000000310
产生随机数si∈{1,…,q-1},计算两个
Figure FDA00019805724000000311
中的随机因子Ri=si·P1
Figure FDA00019805724000000312
并把(Ri,Si)发送给
Figure FDA00019805724000000313
同样地,
Figure FDA00019805724000000314
产生随机数sj∈{1,…,q-1},计算两个
Figure FDA00019805724000000315
中的随机因子Rj=sj·P1
Figure FDA00019805724000000316
Figure FDA00019805724000000317
随后发送(Rj,Sj)给
Figure FDA00019805724000000318
Figure FDA00019805724000000319
产生
Figure FDA00019805724000000320
中的随机元素
Figure FDA00019805724000000321
作为自己的第一部分加法分量,根据收到的(Rj,Sj)计算两个中间变量R′j=δi·Rj
Figure FDA00019805724000000322
并把(R′j,S′j)发送给
Figure FDA00019805724000000323
同样地,
Figure FDA00019805724000000324
产生
Figure FDA00019805724000000325
中的随机元素
Figure FDA00019805724000000326
作为自己的第一部分加法分量,并根据收到的(Ri,Si)计算两个中间变量R′i=δj·Ri
Figure FDA0001980572400000041
随后发送(R′i,S′i)发送给
Figure FDA0001980572400000042
Figure FDA0001980572400000043
利用收到的(R′i,S′i)计算自己的第二部分加法分量
Figure FDA0001980572400000044
最后计算完整的加法分量
Figure FDA0001980572400000045
同样地,
Figure FDA0001980572400000046
利用收到的(R′j,S′j)计算第二部分加法分量
Figure FDA0001980572400000047
最后计算完整的加法分量
Figure FDA0001980572400000048
假设
Figure FDA0001980572400000049
的输入为
Figure FDA00019805724000000410
Figure FDA00019805724000000411
的输入为
Figure FDA00019805724000000412
其中δij∈{1,…,q-1},
Figure FDA00019805724000000413
则双方得到的加法分量Dij和Dji满足
Figure FDA00019805724000000414
Figure FDA00019805724000000415
CN201910147772.0A 2019-02-27 2019-02-27 一种对称环境下多方联合生成sm9数字签名的方法 Active CN109660361B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910147772.0A CN109660361B (zh) 2019-02-27 2019-02-27 一种对称环境下多方联合生成sm9数字签名的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910147772.0A CN109660361B (zh) 2019-02-27 2019-02-27 一种对称环境下多方联合生成sm9数字签名的方法

Publications (2)

Publication Number Publication Date
CN109660361A CN109660361A (zh) 2019-04-19
CN109660361B true CN109660361B (zh) 2020-11-24

Family

ID=66123216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910147772.0A Active CN109660361B (zh) 2019-02-27 2019-02-27 一种对称环境下多方联合生成sm9数字签名的方法

Country Status (1)

Country Link
CN (1) CN109660361B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110113173B (zh) * 2019-05-20 2022-01-21 上海链朗信息科技有限公司 多输入且可验证的伪随机数的生成方法
CN110213057B (zh) * 2019-05-23 2021-01-08 武汉理工大学 具有乘积r参数的SM9数字签名协同生成方法及系统
CN110166239B (zh) * 2019-06-04 2023-01-06 成都卫士通信息产业股份有限公司 用户私钥生成方法、系统、可读存储介质及电子设备
CN110457006B (zh) * 2019-07-22 2021-08-06 上海朝夕网络技术有限公司 一种基于硬件的分布式多方随机数生成方法及系统
CN110912708B (zh) * 2019-11-26 2021-04-27 武汉大学 一种基于sm9数字签名算法的环签名生成方法
CN110880977B (zh) * 2019-11-26 2021-04-27 武汉大学 一种安全高效的sm9环签名生成与验证方法
CN111343160B (zh) * 2020-02-13 2022-07-08 南京如般量子科技有限公司 基于秘密共享和路由装置的抗量子计算区块链交易方法和系统
CN112398648B (zh) * 2020-11-05 2023-12-29 华控清交信息科技(北京)有限公司 一种密钥管理方法、装置和用于密钥管理的装置
WO2022116175A1 (zh) * 2020-12-04 2022-06-09 上海阵方科技有限公司 数字签名的生成方法、装置和服务器
CN113300841B (zh) * 2021-05-25 2022-11-25 贵州大学 一种基于身份的协同签名方法及系统
CN114567433B (zh) * 2022-03-04 2024-03-26 浪潮云信息技术股份公司 一种基于Shamir秘密共享的多方AOS环签名方法及系统
CN115001711B (zh) * 2022-06-10 2024-01-30 成都卫士通信息产业股份有限公司 信息签名方法、装置、电子设备及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107707358A (zh) * 2017-10-30 2018-02-16 武汉大学 一种ec‑kcdsa数字签名生成方法及系统
CN109194478A (zh) * 2018-11-19 2019-01-11 武汉大学 一种非对称环境下多方联合生成sm9数字签名的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107707358A (zh) * 2017-10-30 2018-02-16 武汉大学 一种ec‑kcdsa数字签名生成方法及系统
CN109194478A (zh) * 2018-11-19 2019-01-11 武汉大学 一种非对称环境下多方联合生成sm9数字签名的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Provably-Secure Cross-Domain Handshake Scheme with Symptoms-Matching for Mobile Healthcare Social Network;He Debiao;《IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING》;20160728;全文 *
SM9标识密码算法综述;袁峰 等;《信息安全研究》;20161130;第2卷(第11期);全文 *

Also Published As

Publication number Publication date
CN109660361A (zh) 2019-04-19

Similar Documents

Publication Publication Date Title
CN109660361B (zh) 一种对称环境下多方联合生成sm9数字签名的方法
CN109194478B (zh) 一种非对称环境下多方联合生成sm9数字签名的方法
CN107707358B (zh) 一种ec-kcdsa数字签名生成方法及系统
CN110011802B (zh) 一种高效的sm9两方协同生成数字签名的方法及系统
CN109474422B (zh) 一种多方协同产生sm2数字签名的方法
CN107733648B (zh) 一种基于身份的rsa数字签名生成方法及系统
CN107634836B (zh) 一种sm2数字签名生成方法及系统
CN107947913B (zh) 一种基于身份的匿名认证方法与系统
CN110912708B (zh) 一种基于sm9数字签名算法的环签名生成方法
CN108667625B (zh) 协同sm2的数字签名方法
CN110011803B (zh) 一种轻量级sm2两方协同生成数字签名的方法
CN109547212B (zh) 一种基于sm2签名算法的门限签名方法
CN109547199B (zh) 一种多方联合生成sm2数字签名的方法
CN108667627B (zh) 基于两方协同的sm2数字签名方法
CN107659395B (zh) 一种多服务器环境下基于身份的分布式认证方法及系统
CN109639439B (zh) 一种基于两方协同的ecdsa数字签名方法
CN111654366B (zh) 一种安全的pki与ibc之间的双向异构强指定验证者签名方法
CN111030821B (zh) 一种基于双线性映射技术的联盟链的加密方法
CN110943845A (zh) 一种轻量级两方协同产生sm9签名的方法及介质
Zhang et al. Strong designated verifier signature scheme resisting replay attack
Wang et al. Perfect ambiguous optimistic fair exchange
Wei et al. A general compiler for password-authenticated group key exchange protocol in the standard model
Fraser et al. Report and trace ring signatures
Park et al. A tightly-secure multisignature scheme with improved verification
Tian A new strong multiple designated verifiers signature for broadcast propagation

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