CN111010285B - 一种适用于轻量级客户端的sm2两方协同签名方法及介质 - Google Patents

一种适用于轻量级客户端的sm2两方协同签名方法及介质 Download PDF

Info

Publication number
CN111010285B
CN111010285B CN201911348324.3A CN201911348324A CN111010285B CN 111010285 B CN111010285 B CN 111010285B CN 201911348324 A CN201911348324 A CN 201911348324A CN 111010285 B CN111010285 B CN 111010285B
Authority
CN
China
Prior art keywords
signature
partial
private key
client
server
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
CN201911348324.3A
Other languages
English (en)
Other versions
CN111010285A (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
Publication of CN111010285A publication Critical patent/CN111010285A/zh
Application granted granted Critical
Publication of CN111010285B publication Critical patent/CN111010285B/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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

本发明提出了针对非平衡的客户端/服务器网络架构,两方协同生成SM2数字签名方案,具体涉及一种适用于轻量级客户端的SM2两方协同签名方法及介质,在本发明方案中,生成SM2数字签名时,有两方共同参与,一方为客户端U,一方为服务器S。客户端U和服务器S在本阶段利用各自的部分私钥,协同产生关于消息m的SM2签名。本发明具有安全性高、实现简单、易验证的特点。

Description

一种适用于轻量级客户端的SM2两方协同签名方法及介质
技术领域
本发明属于信息安全技术领域,特别是针对轻量级客户端的两方非平衡产生SM2数字签名生成方法及系统。
背景技术
数字签名是公钥密码体系中重要的一部分,在很多场合有着重要的作用。常见的,一方生成数字签名,可以公开被验证。在某些场合,需要多方对一份文件产生电子签名,比如一些高机密的文档,需要被多人签名。在去中心化的货币交易中,例如比特币交易,也需要多方同时对某个交易进行签名,如果签名密钥被盗则会造成直接的经济损失。多方生成一个电子签名也因此成为了研究的热点。
对于此类问题,比较常见的解决方法是将密钥分割为多份,比如门限秘密分割,将私钥分发给多个参与方,当需要使用私钥进行签名时,t个被分割的密钥可以合并形成用户的原始私钥再参加运算,如果低于t个参与者,则无法恢复原始私钥。一旦私钥被恢复,任何单独的一方都可以在其他参与方不知晓的情况下进行解密或者签名运算。特别是在两方需要共同签名一个合同或协议的情况下,两方中的一方如果获得了原始的签名私钥,则可以在不经过对方同意的情况下对任意合同进行签名。
针对这种情况,本专利设计了一种针对轻量级客户端的两方非平衡产生SM2数字签名生成方法及系统,此方案保证协同签名的正确性和公平性,同时客户端的计算量非常小,适用于非平衡的客户端-服务器架构。
SM2是由国家密码管理局颁布的一种椭圆曲线公钥密码算法(参见《SM2椭圆曲线公钥密码算法》规范,国家密码管理局,2010年12月),基于此算法能实现数字签名、密钥交换及数据加密。在这里,不同于各种普通的密钥分割或门限秘密分割。本专利提出的针对轻量级客户端的两方非平衡产生SM2数字签名生成方法及系统,既保证签名必须在两方共同运算下才能产生,任何一方都无法得到原始的私钥,由极大减轻了客户端的运算量,具有实际应用价值。
发明内容
本发明的目的是提出两方在不泄漏自己的签名密钥并无法获得完整的签名密钥的情况下完成对消息的签名。
针对本发明的目的,本发明提出了一个两方共同生成SM2数字签名的方案。在本方案中,生成SM2数字签名时,有两方共同参与,一方为客户端U,一方为服务器S。客户端U和服务器S在本阶段利用各自的部分私钥,协同产生关于消息m的SM2签名。
符号及定义
q:q为素数且q>2256
mod q:模q运算。例如,19mod7=5。
Figure BDA0002334016120000021
由整数1,2,…,q-1组成的整数集合。
Figure BDA0002334016120000022
阶为素数q的加法循环群,元素为椭圆曲线上的点。
G:循环群
Figure BDA0002334016120000023
的一个生成元。
[u]P:加法群
Figure BDA0002334016120000024
中元素P的u倍。
U:用户。
S:服务器。
dU:用户U的生成第一部分私钥。
PU:用户U的生成第一部分公钥,这里
Figure BDA0002334016120000025
dS:服务器S的生成第二部分私钥。
PS:服务器S的生成第二部分公钥,这里
Figure BDA0002334016120000026
PPUB:用户U的完整公钥,这里
Figure BDA0002334016120000027
m:待签名的消息。
Z:签名算法输入的共同信息。
H():输入为任意长度比特串{0,1}*,输出为固定长度的密码杂凑函数。
具体实现包括以下步骤:
步骤1、U在
Figure BDA0002334016120000028
中选择第三个随机数kU作为部分临时私钥,计算e=H(Z||m)和第一部分临时公钥KU=kU·dU·G;最后U发送(e,KU)给S;
步骤2、S在
Figure BDA0002334016120000029
中选择第四个随机数kS作为部分私钥,计算临时公钥
Figure BDA00023340161200000210
计算第一部分签名r=x1+e mod q,生成中间变量s′=dS·(kS+r)mod q;最后S将(r,s′)返回给U;
步骤3、U计算第二部分签名s=dU·(s′+dU·kU)-rmod q,使用PPUB验证签名δm={r,s};的正确性,若签名正确则输出签名δm,否则终止协议。
一种计算机存储介质,其特征在于,存储有计算机程序,运行计算机程序包括以下步骤:
生成SM2数字签名时,有两方共同参与,一方为客户端U,一方为服务器S;客户端U和服务器S在本阶段利用各自的部分私钥,协同产生关于消息m的SM2签名,具体应实现以下步骤:
步骤1、U在
Figure BDA0002334016120000031
中选择第三个随机数kU作为部分临时私钥,计算e=H(Z||m)和第一部分临时公钥KU=kU·dU·G;最后U发送(e,KU)给S;
步骤2、S在
Figure BDA0002334016120000032
中选择第四个随机数kS作为部分私钥,计算临时公钥
Figure BDA0002334016120000033
计算第一部分签名r=x1+e mod q,生成中间变量s′=dS·(kS+r)mod q;最后S将(r,s′)返回给U;
步骤3、U计算第二部分签名s=dU·(s′+dU·kU)-rmod q,使用PPUB验证签名δm={r,s};的正确性,若签名正确则输出签名δm,否则终止协议。
本发明与现有技术相比具有如下优点和有益效果:
首先,目前现有的普通的密钥分割或门限秘密分割,虽然能够将密钥进行分割,但是在签名的阶段,密钥会被恢复并被某一方所掌握,这样降低了多方签名的安全性和公平性,持有完整私钥的一方便可以完成签名,不需要全部参与方共同完成签名。
其次,这类分割最终将完整的签名私钥暴露给其中一方,造成了密钥的泄漏,得到完整签名密钥的一方可以在没有其他参与方参与的情况下对其他文件进行签名。
本发明实现了客户端/服务器结构下的轻量级两方分布式生成SM2数字签名的功能,不仅要求生成签名时,两方必须同时参与,同时保证了签名私钥的安全性。
在本发明中,密码生成阶段客户端(服务器)仅需执行一次点乘和一次点加,在协同签名阶段客户端仅执行一次点乘,服务器执行两次点乘。无论从系统整体和各参与方的角度来看,计算量都是非常小的。
附图说明
图1是两方协同签名示意图。
具体实施方式
下面通过实施例,对本发明的技术方案作进一步具体的说明。
实施例:
本发明提出了一个两方共同生成SM2数字签名的方案。在本方案中,生成SM2数字签名时,有两方共同参与,一方为客户端U,一方为服务器S。客户端U和服务器S在本阶段利用各自的部分私钥,协同产生关于消息m的SM2签名,具体应实现以下步骤:
1).U在
Figure BDA0002334016120000041
中选择第三个随机数kU作为部分临时私钥,计算e=H(Z||m)和第一部分临时公钥KU=kU·dU·G。最后U发送(e,KU)给S。
2).S在
Figure BDA0002334016120000042
中选择第四个随机数kS作为部分私钥,计算临时公钥
Figure BDA0002334016120000043
Figure BDA0002334016120000047
计算第一部分签名r=x1+e mod q,生成中间变量s′=dS·(kS+r)mod q。最后S将(r,s′)返回给U。
3).U计算第二部分签名s=dU·(s′+dU·kU)-rmod q,使用PPUB验证签名δm={r,s}。的正确性,若签名正确则输出签名δm,否则终止协议。
本发明还涉及一种计算机存储介质,存储有计算机程序,运行计算机程序包括以下步骤:
生成SM2数字签名时,有两方共同参与,一方为客户端U,一方为服务器S;客户端U和服务器S在本阶段利用各自的部分私钥,协同产生关于消息m的SM2签名,具体应实现以下步骤:
步骤1、U在
Figure BDA0002334016120000044
中选择第三个随机数kU作为部分临时私钥,计算e=H(Z||m)和第一部分临时公钥KU=kU·dU·G;最后U发送(e,KU)给S;
步骤2、S在
Figure BDA0002334016120000045
中选择第四个随机数kS作为部分私钥,计算临时公钥
Figure BDA0002334016120000046
计算第一部分签名r=x1+e mod q,生成中间变量s′=dS·(kS+r)mod q;最后S将(r,s′)返回给U;
步骤3、U计算第二部分签名s=dU·(s′+dU·kU)-rmod q,使用PPUB验证签名δm={r,s};的正确性,若签名正确则输出签名δm,否则终止协议。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

Claims (2)

1.一种适用于轻量级客户端的SM2两方协同签名方法,其特征在于,
生成SM2数字签名时,有两方共同参与,一方为客户端U,一方为服务器S;客户端U和服务器S在本阶段利用各自的部分私钥,协同产生关于消息m的SM2签名,具体应实现以下步骤:
步骤1、U在
Figure FDA0004094762210000011
中选择第三个随机数kU作为部分临时私钥,计算e=H(Z||m)和第一部分临时公钥KU=kU·dU·G;最后U发送(e,KU)给S;
步骤2、S在
Figure FDA0004094762210000012
中选择第四个随机数kS作为部分私钥,计算临时公钥
Figure FDA0004094762210000013
Figure FDA0004094762210000014
计算第一部分签名r=x1+e mod q,生成中间变量s′=dS·(kS+r)mod q;最后S将(r,s′)返回给U;
步骤3、U计算第二部分签名s=dU·(s′+dU·kU)-r mod q,使用PPUB验证签名δm={r,s};的正确性,若签名正确则输出签名δm,否则终止协议;
其中,H代表输入为任意长度比特串{0,1}*,输出为固定长度的密码杂凑函数;Z代表签名算法输入的共同信息;kU代表用户U的部分临时私钥;dU代表用户U的生成第一部分私钥;G代表循环群
Figure FDA0004094762210000015
的一个生成元;dS代表服务器S的生成第二部分私钥;q为素数且q>2256;PPUB代表用户U的完整公钥。
2.一种计算机存储介质,其特征在于,存储有计算机程序,运行计算机程序包括以下步骤:
生成SM2数字签名时,有两方共同参与,一方为客户端U,一方为服务器S;客户端U和服务器S在本阶段利用各自的部分私钥,协同产生关于消息m的SM2签名,具体应实现以下步骤:
步骤1、U在
Figure FDA0004094762210000016
中选择第三个随机数kU作为部分临时私钥,计算e=H(Z||m)和第一部分临时公钥KU=kU·dU·G;最后U发送(e,KU)给S;
步骤2、S在
Figure FDA0004094762210000017
中选择第四个随机数kS作为部分私钥,计算临时公钥
Figure FDA0004094762210000018
Figure FDA0004094762210000019
计算第一部分签名r=x1+e mod q,生成中间变量s′=dS·(kS+r)mod q;最后S将(r,s′)返回给U;
步骤3、U计算第二部分签名s=dU·(s′+dU·kU)-r mod q,使用PPUB验证签名δm={r,s};的正确性,若签名正确则输出签名δm,否则终止协议;
其中,H代表输入为任意长度比特串{0,1}*,输出为固定长度的密码杂凑函数;Z代表签名算法输入的共同信息;kU代表用户U的部分临时私钥;dU代表用户U的生成第一部分私钥;G代表循环群
Figure FDA0004094762210000021
的一个生成元;dS代表服务器S的生成第二部分私钥;q为素数且q>2256;PPUB代表用户U的完整公钥。
CN201911348324.3A 2019-11-25 2019-12-24 一种适用于轻量级客户端的sm2两方协同签名方法及介质 Active CN111010285B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911162609 2019-11-25
CN2019111626098 2019-11-25

Publications (2)

Publication Number Publication Date
CN111010285A CN111010285A (zh) 2020-04-14
CN111010285B true CN111010285B (zh) 2023-04-18

Family

ID=70116122

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911348324.3A Active CN111010285B (zh) 2019-11-25 2019-12-24 一种适用于轻量级客户端的sm2两方协同签名方法及介质

Country Status (1)

Country Link
CN (1) CN111010285B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111740837B (zh) * 2020-05-18 2023-07-07 三未信安科技股份有限公司 一种基于sm9的分布式签名方法及系统
CN112152807B (zh) * 2020-09-27 2022-11-11 成都国泰网信科技有限公司 一种基于sm2算法的两方协同数字签名方法
CN112152808B (zh) * 2020-09-27 2022-11-11 成都国泰网信科技有限公司 一种基于sm2算法的多方协同数字签名方法
CN114039722A (zh) * 2021-01-26 2022-02-11 中安网脉(北京)技术股份有限公司 一种可秘密共享的隐藏身份sm2签名私钥产生装置及其方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108989047A (zh) * 2018-07-19 2018-12-11 郑州信大捷安信息技术股份有限公司 一种基于sm2算法的通信双方协同签名方法与系统
CN109450640A (zh) * 2018-10-24 2019-03-08 成都卫士通信息产业股份有限公司 基于sm2的两方签名方法及系统
CN109547209A (zh) * 2018-11-19 2019-03-29 北京大学 一种两方sm2数字签名生成方法
CN109639439A (zh) * 2019-02-27 2019-04-16 武汉大学 一种基于两方协同的ecdsa数字签名方法
CN110011803A (zh) * 2019-02-27 2019-07-12 武汉大学 一种轻量级sm2两方协同生成数字签名的方法
CN110535636A (zh) * 2019-07-19 2019-12-03 北京向芯力科技有限公司 一种轻量级的基于sm2算法的协同签名方法与装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8971528B2 (en) * 2013-01-29 2015-03-03 Certicom Corp. Modified elliptic curve signature algorithm for message recovery
US10530585B2 (en) * 2017-06-07 2020-01-07 Bar-Ilan University Digital signing by utilizing multiple distinct signing keys, distributed between two parties

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108989047A (zh) * 2018-07-19 2018-12-11 郑州信大捷安信息技术股份有限公司 一种基于sm2算法的通信双方协同签名方法与系统
CN109450640A (zh) * 2018-10-24 2019-03-08 成都卫士通信息产业股份有限公司 基于sm2的两方签名方法及系统
CN109547209A (zh) * 2018-11-19 2019-03-29 北京大学 一种两方sm2数字签名生成方法
CN109639439A (zh) * 2019-02-27 2019-04-16 武汉大学 一种基于两方协同的ecdsa数字签名方法
CN110011803A (zh) * 2019-02-27 2019-07-12 武汉大学 一种轻量级sm2两方协同生成数字签名的方法
CN110535636A (zh) * 2019-07-19 2019-12-03 北京向芯力科技有限公司 一种轻量级的基于sm2算法的协同签名方法与装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Mengbo Hou.Constructing Secure Two-Party Authenticated Key Agreement Protocol Based on Certificateless Public Key Encryption Scheme.IEEE.2009,全文. *
冯朝胜 ; 袁丁 ; .一种基于椭圆曲线密码机制的门限代理签名方案.计算机应用研究.2006,(07),全文. *
左黎明.基于国密SM2 数字签名的网络摄像头保护技术.信息网络安全.2018,全文. *
范琳琳.基于SM2门限密钥分散的电子签名系统研究与实现.中国优秀硕士学位论文全文数据库信息科技辑.2018,全文. *

Also Published As

Publication number Publication date
CN111010285A (zh) 2020-04-14

Similar Documents

Publication Publication Date Title
CN109474422B (zh) 一种多方协同产生sm2数字签名的方法
CN111010285B (zh) 一种适用于轻量级客户端的sm2两方协同签名方法及介质
CN108292402B (zh) 用于信息的安全交换的公共秘密的确定和层级确定性密钥
CN107707358B (zh) 一种ec-kcdsa数字签名生成方法及系统
CN107733648B (zh) 一种基于身份的rsa数字签名生成方法及系统
CN108667627B (zh) 基于两方协同的sm2数字签名方法
CN110011803B (zh) 一种轻量级sm2两方协同生成数字签名的方法
CN109639439B (zh) 一种基于两方协同的ecdsa数字签名方法
CN109547199B (zh) 一种多方联合生成sm2数字签名的方法
Wang et al. Verifiable threshold scheme in multi-secret sharing distributions upon extensions of ECC
CN111030821B (zh) 一种基于双线性映射技术的联盟链的加密方法
Taraskin et al. Towards isogeny-based password-authenticated key establishment
TW202318833A (zh) 臨界簽章方案
Dolev et al. SodsBC: a post-quantum by design asynchronous blockchain framework
CN111245615B (zh) 一种基于身份的数字签名密码逆向防火墙方法
CN115516817A (zh) 具有秘密共享的(ec)dsa阈值签名
CN108768634A (zh) 可验证加密签名生成方法和系统
Shankar et al. Improved Multisignature Scheme for Authenticity of Digital Document in Digital Forensics Using Edward-Curve Digital Signature Algorithm
CN115473633A (zh) 一种多方协同产生sm2数字签名的方法及装置
CN117917041A (zh) 生成共享加密密钥
CN111274613B (zh) 迭代式sm2数字签名生成方法、系统、介质和设备
Battagliola et al. A provably-unforgeable threshold schnorr signature with an offline recovery party
CN110995441A (zh) 一种多方协同EdDSA数字签名生成方法与介质
Jiang et al. Efficient authentication protocol with anonymity and key protection for mobile Internet users
Zhao et al. Privacy preserving search services against online attack

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