CN110943829A - 一种三方协同生成sm2签名的方法 - Google Patents

一种三方协同生成sm2签名的方法 Download PDF

Info

Publication number
CN110943829A
CN110943829A CN201911087090.1A CN201911087090A CN110943829A CN 110943829 A CN110943829 A CN 110943829A CN 201911087090 A CN201911087090 A CN 201911087090A CN 110943829 A CN110943829 A CN 110943829A
Authority
CN
China
Prior art keywords
signature
participant
party
sending
private key
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
Application number
CN201911087090.1A
Other languages
English (en)
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.)
China Electronic Technology Cyber Security Co Ltd
Original Assignee
China Electronic Technology Cyber Security Co Ltd
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 China Electronic Technology Cyber Security Co Ltd filed Critical China Electronic Technology Cyber Security Co Ltd
Priority to CN201911087090.1A priority Critical patent/CN110943829A/zh
Publication of CN110943829A publication Critical patent/CN110943829A/zh
Pending legal-status Critical Current

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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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
    • 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/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
    • H04L9/3252Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种三方协同生成SM2签名的方法,在签名阶段:(1)参与方计算e和Q1并发送给参与方B;(2)参与方B计算Q2,Q3并将e,Q2,Q3发送给参与方C;(3)参与方C使用其私钥计算第一部分签名s1,s2并发送给参与方B;(4)参与方B使用其私钥计算第二部分签名s4,s5并发送给参与方A;(5)参与方A使用其私钥计算完整签名并输出。与现有技术相比,本发明的积极效果是:本发明方法中各节点协同生成一个完整签名,签名长度较小,解决存储负担。本发明方法可以降低签名权利集中的潜在风险,在交易资产时需要三方协同交互为交易生成签名。

Description

一种三方协同生成SM2签名的方法
技术领域
本发明涉及一种三方协同生成SM2签名的方法。
背景技术
SM2算法是国家密码管理局发布的基于椭圆曲线的公钥密码算法,是我国商用密码算法标准的重要组成部分,在电子商务、电子政务、身份认证等应用中发挥了重要的安全保障作用。SM2签名算法用于实现数字签名,保障身份的真实性、数据的完整性和行为的不可否认性等,是网络空间安全的核心技术和基础支撑。在公钥密码体制中,保证私钥的安全性非常重要,通常通过专门密码硬件存储使用,但随着互联网的发展,SM2算法的应用领域更加广泛,在很多使用SM2算法的系统中,并没有配置密码卡等硬件密码模块,智能依赖于软件密码模块,私钥存储在用户终端,容易被窃取。
一般的SM2签名算法,私钥由单用户持有,无法满足分布式环境中的安全需求。为了避免签名权利集中以及降低私钥丢失带来的损失,可以将私钥分为多个子私钥,存储在不同的终端或服务器,当需要私钥签名时,各方通过协同交互,生成签名。
发明内容
为了克服现有技术的上述缺点,本发明提出了一种三方协同生成SM2签名的方法。本发明针对签名权利集中或密钥丢失带来的风险问题,结合分布式网络环境中的安全需求,提出一种三方协同生成SM2签名的方法,主要解决的技术问题包括:
(1)三方密钥协商问题;
(2)保护用户密钥的隐私性;
(3)协同签名的验证。
下表为方案中变量与对应的取值范围和变量在方案中的作用:
Figure BDA0002265751280000021
本发明解决其技术问题所采用的技术方案是:一种三方协同生成SM2签名的方法,包括如下三个阶段:
一、密钥生成阶段:
(1)三个参与方A、B、C分别选择随机数dA,dB,dC作为部分私钥,计算各自公钥dA -1G,dB -1G,dC -1G并广播;
(2)A广播dA -1dB -1G,B广播dB -1dC -1G,C广播dC -1dA -1G;
(3)A、B和C分别计算获得SM2公钥P;
二、签名阶段:
(1)参与方计算e和Q1并发送给参与方B;
(2)参与方B计算Q2,Q3并将e,Q2,Q3发送给参与方C;
(3)参与方C使用其私钥计算第一部分签名s1,s2并发送给参与方B;
(4)参与方B使用其私钥计算第二部分签名s4,s5并发送给参与方A;
(5)参与方A使用其私钥计算完整签名并输出;
三、验签阶段。
与现有技术相比,本发明的积极效果是:
(1)针对分布式网络环境中多方签名背书问题,一般解决方法是每个节点都生成一个签名,再把所有签名一起存储。而本发明方法中各节点协同生成一个完整签名,签名长度较小,解决存储负担。
(2)本发明方法可以降低签名权利集中的潜在风险,例如:三方共同持同一数字资产的支配权,将此数字资产存放在合成地址中,各方各掌握部分私钥,不能独自支配资产。在交易资产时需要三方协同交互为交易生成签名。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1为本发明的流程图。
具体实施方式
一种三方协同生成SM2签名的方法,如图1所示,包括如下内容:
本发明提出的三方协同生成SM2签名方法包括三个阶段:密钥生成阶段、签名阶段和验签阶段。本方法包含三个参与方:A、B和C。
一、密钥生成阶段
各参与方共享SM2椭圆曲线算法参数E(Fq)、G、n、Z,椭圆曲线E为定义在有限域Fq上的椭圆曲线,G为椭圆曲线E上n阶的基点,Z为双方的共有身份标识。
第一步:A、B和C分别选择随机数dA,dB,dC(dA,dB,dC∈[1,n-1])作为部分私钥。
第二步:A、B和C分别计算dA -1G,dB -1G,dC -1G。
第三步:A广播dA -1G,B广播dB -1G,C广播dC -1G。
第四步:A广播dA -1dB -1G,B广播dB -1dC -1G,C广播dC -1dA -1G。
第五步:A、B和C分别计算获得SM2公钥P=dA -1dB -1dC -1G。
二、签名阶段
第一步:参与方A
1)M1=ZA||M,计算e=Hash(M1);
2)A产生随机数k1(k1∈[1,n-1]),计算Q1=k1G;
3)发送e,Q1给参与方B。
第二步:参与方B
1)B产生随机数k2(k2∈[1,n-1]),计算Q2=k2Q1
2)B产生随机数k3(k3∈[1,n-1]),计算Q3=k3G;
3)发送e,Q2,Q3给参与方C。
第三步:参与方C
1)C产生随机数k4(k4∈[1,n-1]),计算Q4=k4G;
2)C产生随机数k5(k5∈[1,n-1]),计算(x1,y1)=k5Q2+k5Q3+Q4
3)C计算r=e+x1
4)C使用私钥dC计算第一部分签名:
s1=dC(r+k4),s2=dCk5
5)C发送r,s1,s2给参与方B。
第四步:参与方B
1)B使用私钥dB计算第二部分签名:
s4=dB(s1+k3s2),s5=dBk2s2
2)B发送r,s4,s5给参与方A。
第五步:参与方A
1)A使用私钥dA计算完整签名:
s=dA(s4+k1s5)-r。
2)A输出签名s。
第六步:输出完整签名(r,s)。
三、验签阶段
验证签名步骤和验证SM2签名一致。

Claims (6)

1.一种三方协同生成SM2签名的方法,其特征在于:包括如下三个阶段:
一、密钥生成阶段:
(1)三个参与方A、B、C分别选择随机数dA,dB,dC作为部分私钥计算dA -1G,dB -1G,dC -1G并广播;
(2)A广播dA -1dB -1G,B广播dB -1dC -1G,C广播dC -1dA -1G;
(3)A、B和C分别计算获得SM2公钥P;
二、签名阶段:
(1)参与方计算e和Q1并发送给参与方B;
(2)参与方B计算Q2,Q3并将e,Q2,Q3发送给参与方C;
(3)参与方C使用其私钥计算第一部分签名r,s1,s2并发送给参与方B;
(4)参与方B使用其私钥计算第二部分签名r,s4,s5并发送给参与方A;
(5)参与方A使用其私钥计算完整签名并输出;
三、验签阶段。
2.根据权利要求1所述的一种三方协同生成SM2签名的方法,其特征在于:参与方分别按如下公式计算e和Q1
(1)按如下公式计算e:
e=Hash(M1),其中:M1=Z||M;
(2)按如下公式计算Q1
Q1=k1G,其中:k1∈[1,n-1],为A产生的随机数。
3.根据权利要求2所述的一种三方协同生成SM2签名的方法,其特征在于:参与方B按如下公式计算Q2,Q3
Q2=k2G,其中:k2∈[1,n-1],为B产生的随机数;
Q3=k3G,其中:k3∈[1,n-1],为B产生的另一个随机数。
4.根据权利要求3所述的一种三方协同生成SM2签名的方法,其特征在于:参与方C计算s1,s2的方法为:
(1)产生随机数k4,k4∈[1,n-1],计算Q4=k4G;
(2)产生随机数k5,k5∈[1,n-1],计算(x1,y1)=k5Q2+k5Q3+Q4
(3)计算r=e+x1
(4)计算s1=dC(r+k4);
(5)计算s2=dCk5
5.根据权利要求4所述的一种三方协同生成SM2签名的方法,其特征在于:参与方B按如下公式计算s4,s5
(1)按如下公式计算s4
s4=dB(s1+k3s2);
(2)按如下公式计算s5
s5=dBk2s2
6.根据权利要求5所述的一种三方协同生成SM2签名的方法,其特征在于:参与方A按如下公式计算完整签名:s=dA(s4+k1s5)-r。
CN201911087090.1A 2019-11-08 2019-11-08 一种三方协同生成sm2签名的方法 Pending CN110943829A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911087090.1A CN110943829A (zh) 2019-11-08 2019-11-08 一种三方协同生成sm2签名的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911087090.1A CN110943829A (zh) 2019-11-08 2019-11-08 一种三方协同生成sm2签名的方法

Publications (1)

Publication Number Publication Date
CN110943829A true CN110943829A (zh) 2020-03-31

Family

ID=69907580

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911087090.1A Pending CN110943829A (zh) 2019-11-08 2019-11-08 一种三方协同生成sm2签名的方法

Country Status (1)

Country Link
CN (1) CN110943829A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113541926A (zh) * 2020-04-14 2021-10-22 成都天瑞芯安科技有限公司 Sm2三方联合签名方法与系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618116A (zh) * 2015-01-30 2015-05-13 北京数字认证股份有限公司 一种协同数字签名系统及其方法
CN106549770A (zh) * 2017-01-13 2017-03-29 武汉理工大学 Sm2数字签名生成方法及系统
CN106961336A (zh) * 2017-04-18 2017-07-18 北京百旺信安科技有限公司 一种基于sm2算法的密钥分量托管方法和系统
CN107017993A (zh) * 2017-04-01 2017-08-04 北京江南天安科技有限公司 一种多方联合密钥产生和数字签名方法及系统
CN108667627A (zh) * 2018-07-20 2018-10-16 武汉大学 基于两方协同的sm2数字签名方法
CN109474422A (zh) * 2018-11-19 2019-03-15 武汉大学 一种多方协同产生sm2数字签名的方法
CN109743166A (zh) * 2018-12-10 2019-05-10 普华诚信信息技术有限公司 多方签名生成方法及安全信息验证系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618116A (zh) * 2015-01-30 2015-05-13 北京数字认证股份有限公司 一种协同数字签名系统及其方法
CN106549770A (zh) * 2017-01-13 2017-03-29 武汉理工大学 Sm2数字签名生成方法及系统
CN107017993A (zh) * 2017-04-01 2017-08-04 北京江南天安科技有限公司 一种多方联合密钥产生和数字签名方法及系统
CN106961336A (zh) * 2017-04-18 2017-07-18 北京百旺信安科技有限公司 一种基于sm2算法的密钥分量托管方法和系统
CN108667627A (zh) * 2018-07-20 2018-10-16 武汉大学 基于两方协同的sm2数字签名方法
CN109474422A (zh) * 2018-11-19 2019-03-15 武汉大学 一种多方协同产生sm2数字签名的方法
CN109743166A (zh) * 2018-12-10 2019-05-10 普华诚信信息技术有限公司 多方签名生成方法及安全信息验证系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113541926A (zh) * 2020-04-14 2021-10-22 成都天瑞芯安科技有限公司 Sm2三方联合签名方法与系统

Similar Documents

Publication Publication Date Title
CN108989047B (zh) 一种基于sm2算法的通信双方协同签名方法与系统
US10990963B2 (en) Cross-asset trading within blockchain networks
CN109474422B (zh) 一种多方协同产生sm2数字签名的方法
US20200382296A1 (en) Method for restoring public key based on sm2 signature
TWI723665B (zh) 基於恢復的公開金鑰進行認證
US20230147842A1 (en) Computer-implemented systems and methods for performing computational tasks across a group operating in a trust-less or dealer-free manner
EP3619668B1 (en) Performing parallel execution of transactions in a distributed ledger system
KR0146437B1 (ko) 인증교환 방법, 복원형 전자서명 방법, 부가형 전자서명 방법, 키교환 방법, 복원형 다중전자서명 방법, 부가형 다중전자서명 방법 및 블라인드 전자서명 방법
CN107078910A (zh) 生成区块链区块的方法、装置、节点、签名设备及系统
US11791992B2 (en) Computer implemented method and system for transferring control of a digital asset
CN109547199B (zh) 一种多方联合生成sm2数字签名的方法
CN110535635B (zh) 一种支持信息隐藏的协同签名方法与系统
KR20060043347A (ko) 신규의 공정한 은닉 서명을 위한 서명 방법, 컴퓨터 프로그램, 장치 및 서명 시스템
CN111010285B (zh) 一种适用于轻量级客户端的sm2两方协同签名方法及介质
CN113676333A (zh) 一种两方协作生成sm2盲签名方法
CN111447065A (zh) 一种主动安全的sm2数字签名两方生成方法
WO2022089865A1 (en) Identifying denial-of-service attacks
WO2023072504A1 (en) Threshold signature scheme
CN110943829A (zh) 一种三方协同生成sm2签名的方法
JP7472158B2 (ja) メッセージにデジタル署名を提供するための方法
CN110943826B (zh) 一种基于sm2算法的拆分密钥签名方法与系统
CN116961917A (zh) 一种基于ecdsa的多方协同门限签名方法、装置和系统
CN112751667B (zh) 密钥生成方法、签名和验签方法、装置、设备和介质
CN111106938A (zh) 信息处理方法、系统及设备
Nalayini et al. A Study on Digital Signature in Blockchain Technology

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200331