当前位置: 首页 > 专利查询>武汉大学专利>正文

一种对称环境下多方联合生成SM9数字签名的方法技术

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

A Method of Multi-party Joint Generation of SM9 Digital Signature in Symmetric Environment

The invention discloses a method for multi-party joint generation of SM9 digital signatures in a symmetrical environment. The method includes multiple participants. The steps are as follows: key generation center KGC generates master public and private keys; KGC distributes part of private keys for all participants; all participants joint signatures, and then verifies the generated signatures using SM9 digital signature verification algorithm, and publishes the message M if passed. SM9 signature. The method realizes multi-party joint generation of SM9 digital signature, ensures that all participants will not expose part of the private key in the signature process, and the digital signature must be participated by all participants at the same time, thus realizing the security and fairness of multi-party signature.

【技术实现步骤摘要】
一种对称环境下多方联合生成SM9数字签名的方法
本专利技术涉及信息安全技术,尤其涉及一种对称环境下多方联合生成SM9数字签名的方法。
技术介绍
数字签名是信息安全技术的重要组成部分。与物理签名或印章的功能类似,数字签名实际上就是一组只有发送者才能产生的电子数据,在身份认证、数据完整性、不可否认性以及匿名性等方面有重要应用。利用数字签名一方面可以验证信息的发送者是合法的且不可抵赖的,即实体认证;另一方面还可以验证发送消息内容的完整性和实效性,即通信数据安全。在数字签名系统中,实现身份认证的基础是公/私钥与用户物理身份的绑定。当前数字签名的部署主要依托于公钥密码基础设施,但是随着网络规模和应用范围的扩大,公钥密码基础设施必须花费大量的时间和成本发放和管理证书。为了简化公钥证书的传输和验证,科研人员提出了基于身份的密码体制,公钥直接从用户的身份信息里获取,自然绑定公钥与实体,可以解决证书管理的难题。基于身份的数字签名中,公钥来自于用户公开的信息,因此签名的安全性完全依赖于签名密钥的安全性,签名密钥的保管至关重要。一种方式是使用秘密共享方案分散管理签名密钥,例如(k,n)门限签名方案。此方案中签名密钥被映射为n个子密钥,分别交由n位参与者保管。由k个或多于k个参与者所持有的部分信息可重构签名密钥,而少于k个参与者所持有的部分信息得不到关于签名密钥的任何信息。因此,利用秘密共享方案很容易在数据安全、银行网络管理或导弹控制与发射等方面实现权限分配。但是秘密共享方案都是一次性的,在每次签名密钥的恢复过程中,k个或k个以上的参与者都要初始各自的子密钥,从而暴露了所有秘密信息,特别是在只有两个参与方的情况下,某一方恢复并持有完整签名密钥,就可以在另一方不知情的情况下,独立地进行数字签名。即存在以下缺陷:1、关于私钥的安全性,目前现有的门限秘密共享方案,虽然可以将私钥进行分割,但在签名阶段,私钥会被恢复并被某一方掌握,造成了私钥的泄露,这样降低了多方签名的安全性。2、关于签名的公平性,目前现有的门限秘密共享方案,最终持有完整私钥的一方可以独立进行签名,不需要全部参与方共同参加,这样降低了多方签名的公平性。由此可见,基于秘密共享的实现方法对签名密钥的保护较弱,存在密钥泄露的隐患。针对这种情况,需要设计了一种对称环境下多方联合生成SM9数字签名的方案,此方案在实现多方联合生成签名的情况下,既能保证签名的正确性,又能保证签名的私钥不被泄露,且生成签名的过程中必须由所有参与方同时执行操作。SM9是由国家密码管理局颁布的一种基于标识的公钥密码算法(参见《SM9标识密码算法》规范,国家密码管理局,2016年3月),基于此算法能实现基于身份的数字签名、密钥交换及数据加密。在这里,不同于各种普通的密钥分割或门限秘密分割。本专利提出的多方联合产生SM9数字签名的方法与系统,只有所有参与者共同参与运算的情况下,才能产生合法签名,同时任何一方都无法得到原始的私钥。
技术实现思路
本专利技术要解决的技术问题在于针对现有技术中的缺陷,提供一种对称环境下多方联合生成SM9数字签名的方法。本专利技术解决其技术问题所采用的技术方案是:一种对称环境下多方联合生成SM9数字签名的方法,所述多方有τ(τ≥2)个参与方,表示为包括以下步骤:1)初始化步骤:密钥生成中心KGC产生随机数ks∈{1,…,q-1}作为主私钥,计算中的元素Ppub-s=[ks]P2作为主公钥;KGC秘密保存ks,公开Ppub-s;然后,KGC选择并公开用一个字节表示的签名私钥生成函数识别符hid;其中,q为素数,均是阶为q的加法循环群,是阶为q的乘法循环群,P1是的生成元,P2是的生成元;2)密钥分发步骤:由KGC为所有参与方分发部分私钥,具体如下:2.1)KGC计算临时变量t1=H1(IDA||hid,q)+ks,若t1=0,则返回步骤1)重新产生签名主私钥,计算和公开签名主公钥,并更新已有用户的签名私钥;否则,转入步骤2.2);其中,IDA为参与数字签名的拥有共同的身份标识符;2.2)KGC计算临时变量并生成基于身份的私钥DID=[t2]P1;2.3)由KGC产生τ个上的随机点Q1,…,Qτ,并使其满足2.4)KGC设置每个参与方的私钥为2.5)KGC为每个参与方生成一对用于分量转化协议的公私钥对(xi,Pubi),即交互私钥xi∈{1,…,q-1}以及对应的交互公钥Pubi=xi·P1;2.6)KGC将生成的部分私钥,以及用于分量转化协议的公私钥对,分别安全地发送给对应的参与方3)联合签名步骤:3.1)每个参与方计算中的元素g=e(P1,Ppub-s),产生部分随机数ri∈{1,…,q-1}并计算第一个临时变量广播wi;3.2)当收到所有参与方发来的wl(l=1,…,τ)后,计算第二个临时变量并使用w计算签名的第一部分h=H2(M||w,q),其中M是待签名的消息;3.3)计算第三个临时变量δi=(ri-h/τ)modq,与所有分别执行分量转化协议输入得到第四组临时变量Dij,j∈{1,…,τ}/{i};所述分量转化协议为针对群运算的交叉相乘算法,该算法由任意两个参与方共同完成,假设的输入为的输入为δj,其中δi,δj∈{1,…,q-1},最终双方得到各自的加法分量Dij和Dji,使其满足3.4)计算部分加法碎片最后,将Di广播给其他参与方;3.5)当收到所有参与方发来的Dl(l=1,…,τ)后,计算第二部分签名3.6)利用SM9的数字签名验证算法验证产生的签名,若通过,则公布关于消息M的SM9签名Sig=(h,S),否则终止协议。按上述方案,所述步骤3.3)中,分量转化协议表示双方的交互过程的具体如下:对任意两个参与方产生随机数si∈{1,…,q-1},计算两个中的随机因子Ri=si·P1和并把(Ri,Si)发送给同样地,产生随机数sj∈{1,…,q-1},计算两个中的随机因子Rj=sj·P1和Sj=sj·随后发送(Rj,Sj)给产生中的随机元素作为自己的第一部分加法分量,根据收到的(Rj,Sj)计算两个中间变量R′j=δi·Rj和并把(R′j,S′j)发送给同样地,产生中的随机元素作为自己的第一部分加法分量,并根据收到的(Ri,Si)计算两个中间变量R′i=δj·Ri和随后发送(R′i,S′i)发送给利用收到的(R′i,S′i)计算自己的第二部分加法分量最后计算完整的加法分量同样地,利用收到的(R′j,S′j)计算第二部分加法分量最后计算完整的加法分量假设的输入为δi,的输入为δj,其中δi,δj∈{1,…,q-1},则双方得到的加法分量Dij和Dji满足本专利技术产生的有益效果是:1、本专利技术实现了多方联合生成SM9数字签名,签名过程中保证各参与方都不会暴露部分私钥,同时数字签名必须由所有参与方同时参与,这样实现了多方签名的安全性和公平性。2、本专利技术基于数学难题,保证即使有一方的私钥丢失,也不会泄露关于完整私钥或其他参与方持有的部分私钥的任何信息。附图说明下面将结合附图及实施例对本专利技术作进一步说明,附图中:图1是本专利技术实施例的交叉相乘算法流程示意图。图2是本专利技术实施例的联合生成完整签名的交互流程示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合实施例,对本本文档来自技高网
...

【技术保护点】
1.一种对称环境下多方联合生成SM9数字签名的方法,其特征在于,所述多方有τ个参与方,表示为

【技术特征摘要】
1.一种对称环境下多方联合生成SM9数字签名的方法,其特征在于,所述多方有τ个参与方,表示为包括以下步骤:1)初始化步骤:密钥生成中心KGC产生随机数ks∈{1,…,q-1}作为主私钥,计算中的元素Ppub-s=[ks]P2作为主公钥;KGC秘密保存ks,公开Ppub-s;然后,KGC选择并公开用一个字节表示的签名私钥生成函数识别符hid;其中,q为素数,均是阶为q的加法循环群,是阶为q的乘法循环群,P1是的生成元,P2是的生成元;2)密钥分发步骤:由KGC为所有参与方分发部分私钥,具体如下:2.1)KGC计算临时变量t1=H1(IDA||hid,q)+ks,若t1=0,则返回步骤1)重新产生签名主私钥,计算和公开签名主公钥,并更新已有用户的签名私钥;否则,转入步骤2.2);其中,IDA为参与数字签名的拥有共同的身份标识符;2.2)KGC计算临时变量并生成基于身份的私钥DID=[t2]P1;2.3)由KGC产生τ个上的随机点Q1,…,Qτ,并使其满足2.4)KGC设置每个参与方的私钥为2.5)KGC为每个参与方生成一对用于分量转化协议的公私钥对(xi,Pubi),其中,交互私钥xi,xi∈{1,…,q-1},对应的交互公钥Pubi=xi·P1;2.6)KGC将生成的部分私钥,以及用于分量转化协议的公私钥对,分别安全地发送给对应的参与方3)联合签名步骤:3.1)每个参与方计算中的元素g=e(P1,Ppub-s),产生部分随机数ri∈{1,…,q-1}并计算第一个临时变量广播wi;3.2)当收到所有参与方发来的wl后,l=1,…,τ,每个参与方计算第二个临时变量并使用w计算签名的第一部分h=H2(M||w,q),其中M是待签名的消息;3.3)每个...

【专利技术属性】
技术研发人员:何德彪冯琦王婧林超张语荻
申请(专利权)人:武汉大学
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1