CN107017993B - 一种多方联合密钥产生和数字签名方法及系统 - Google Patents

一种多方联合密钥产生和数字签名方法及系统 Download PDF

Info

Publication number
CN107017993B
CN107017993B CN201710212498.1A CN201710212498A CN107017993B CN 107017993 B CN107017993 B CN 107017993B CN 201710212498 A CN201710212498 A CN 201710212498A CN 107017993 B CN107017993 B CN 107017993B
Authority
CN
China
Prior art keywords
party
signature
joint
component
parties
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
CN201710212498.1A
Other languages
English (en)
Other versions
CN107017993A (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.)
BEIJING JN TASS TECHNOLOGY CO LTD
Original Assignee
BEIJING JN TASS TECHNOLOGY 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 BEIJING JN TASS TECHNOLOGY CO LTD filed Critical BEIJING JN TASS TECHNOLOGY CO LTD
Priority to CN201710212498.1A priority Critical patent/CN107017993B/zh
Publication of CN107017993A publication Critical patent/CN107017993A/zh
Application granted granted Critical
Publication of CN107017993B publication Critical patent/CN107017993B/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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种多方联合密钥产生和数字签名方法及系统,联合签名私钥d由m份私钥因子di组成,i=[1,m],其中m≥3,m份私钥因子di由联合各方在密钥生成时独立秘密产生并秘密保存在各自的设备中;联合数字签名完成需要各方按照一定顺序,使用各自秘密保存的私钥因子di通过计算共同参与完成。系统包括m个联合方,每个联合方各自具有独立的子系统,每个子系统由三部分组成,分别为联合密钥生成模块、联合签名第一分量计算模块、联合签名第二分量计算模块。本发明实现了SM2密码算法的多方联合密钥产生和数字签名的方法及组成的多种系统,包括无中心和有中心的系统,使得数字签名不再是单独个体完成,而是由多方共同完成。

Description

一种多方联合密钥产生和数字签名方法及系统
技术领域
本发明涉及信息安全技术领域,尤其涉及一种多方联合密钥产生和数字签名方法及系统。
背景技术
使用非对称或公钥密码体系可根据应用,产生密钥对(d,P),包括一个公钥P和一个私钥d。其中私钥d被秘密保存,主要应用于对特定数据的数字签名S。鉴于互联网的日益广泛应用,手机APP,服务中心、签名中心及多个服务实体与终端联合进行用户签名成为可能。
传统的方法是签名设备独立秘密生产一组密钥对(d,P),并秘密保存私钥d。需要数字签名时,签名设备独立使用私钥d进行运算出数字签名值Sign=(r,s)。数据M的数字签名最终结果S由两个签名分量r和s组成,使用用户私钥d对数据e运算,得到最终的数字签名;
即:Sign(M)=Digital_Sign(e,k,d)=(r,s),其中k为随机数,数据e为密码杂凑函数作用于消息M的输出值。
数字签名是使用私钥d对待签名数据进行运算的结果,对于诸如笔记本、智能手机、电视机顶盒等终端设备缺乏专门的安全部件时,私钥将很难做到秘密保存,特别是在使用时,更容易遭到蠕虫、木马等恶意软件的攻击,造成私钥泄露。
另一方面,很多场景需要多方数字签名的场景,需要各方具有独立的私钥,签名时各方使用各自的密钥进行运算,最终得到多方联合数字签名值。如果签名时将各方的各自私钥合成为签名私钥再进行签名运算,或各方密钥是先产生签名私钥再分解后由各方保管,则存在显著的私钥安全泄露隐患。
发明内容
基于此,本发明的目的在于提供一种多方联合密钥产生和数字签名方法及系统,将标准数字签名结果扩展到由多个独立个体组成的联合体的情况,并在各方联合完成数字签名运算的情况下,才可以实现该联合体的数字签名,进一步提高数字签名的安全性。为实现上述目的,本发明的技术方案如下:
一种多方联合密钥产生和数字签名方法,联合签名私钥d由m份私钥因子di组成,i=[1,m],其中m≥3,m份私钥因子di由联合各方在密钥生成时独立秘密产生并秘密保存在各自的设备中;联合数字签名完成需要各方按照一定顺序,使用各自秘密保存的私钥因子di通过计算共同参与完成,且m方联合使用各自私钥因子di的联合签名结果与单独使用私钥d进行签名的结果一致。
根据本发明的一个方面,提供一种多方联合密钥产生和多方联合数字签名方法,其中多方联合密钥产生包括以下步骤:
m个联合方按照预设顺序产生随机数ki∈(0,n-1],并使用密钥产生函数fd()计算Pi=fd(G,ki)和Qi=fd(Qi-1,ki -1),然后将计算出的公钥因子Pi和临时变量Qi发送至下一个联合方并删除临时变量Qi;所述下一个联合方重复上述步骤,以此类推,直至计算出所述预设顺序中最后一个联合方的公钥因子Pm和Qm。最终根据Qm计算出联合公钥P=fP(Qm),其中fP为联合公钥计算函数。具体的流程可为:
步骤K1:第一顺序方产生随机数k1∈(0,n-1]作为私钥因子,并计算P1=fd(G,k1),Q1=fd(Q0,k1 -1),然后将计算出的公钥因子P1和临时变量Q1,将Q1发送至第二顺序方;其中fd()为密钥产生函数,Q0为fd()初值,G为椭圆曲线的基点,n为SM2的椭圆曲线基点G的阶。
步骤K2:第二顺序方产生随机数k2∈(1,n-1]作为私钥因子,并计算P2=fd(G,k2),Q2=fd(Q1,k2 -1),然后将计算出的公钥因子P2和临时变量Q2,将Q2发送至第三顺序方;
以此类推。
步骤Ki:第i顺序方产生随机数ki∈(0,n-1]作为私钥因子,并计算Pi=fd(G,ki),Qi=fd(Qi-1,ki -1),然后将计算出的公钥因子Pi和临时变量Qi,将Qi发送至第i+1顺序方;
直至计算出所述预设顺序中最后一个联合方:第m顺序方;
步骤Km:第m顺序方产生随机数km∈(0,n-1]作为私钥因子,并计算Pm=fd(G,km),Qm=fd(Qm-1,km -1);并计算联合公钥P=fp(Qm),其中fp为联合公钥计算函数。
第m顺序方需验证联合公钥P的合法性,如果P是一个合法公钥,则联合密钥产生结束,如P不是一个合法公钥,第m顺序方需重新产生随机数km计算Pm、Qm和联合公钥P,直至联合公钥P合法,密钥产生结束。
经过上述步骤,m个联合方均各自独立地产生出私钥因子di=ki和公钥钥因子Pi,同时也最终计算出联合公钥P。
上述密钥产生过程的有益结果是,各方均秘密地产生用于数字签名使用的生出私钥因子di同时妥善保存,产生过程中其它各方均无法也无需知道其它参与方的私钥信息。最终结果可以表述为联合签名私钥d=f(d1,d2,…,dm)和联合公钥P,同时保证了(d,P)为一个合法的密钥对。
上述步骤生成的联合签名私钥d由m份私钥因子di组成,i=[1,m],其中m≥3。私钥因子di是在密钥生成时由m个联合方各自分别产生并秘密保存在各自的设备中。
根据本发明的另一个方面,提供一种多方联合密钥产生和数字签名方法,其中多方联合数字签名包括以下步骤:
m个联合方按照预设顺序产生随机数组Ki,计算Ri=fr(Ri-1,Ki),其中fr()为联合签名第一分量计算函数。得出所述预设顺序中最后一个联合方的Rm=(x,y),计算出联合数字签名第一分量r=f1(Rm,e);其中,f1()第一分量取值计算函数,e为密码杂凑函数作用于消息M的输出值;
m个联合方依据与所述预设顺序相反的顺序恢复各自的私钥因子di,计算Si=fs(Si+1,Ki,di),其中Ki为计算联合签名第一分量时第i个联合方秘密产生的随机数组,fs()为联合签名第二分量计算函数;得出所述预设顺序中第一个联合方的S1,并计算出联合签名的第二分量s=f2(S1,r);其中,f2()为第二分量取值计算函数,r为联合数字签名第一分量。
最终,根据联合签名第一分量r和签名第二分量s得到多方联合的数字签名值Sign(M)=(r,s)。
计算多方联合数字签名的联合签名第一分量r具体流程为:
步骤R1:第一顺序方产生随机数组K1,计算R1=fr(R0,K1),将R1发送至第二顺序方;其中R0为函数fr的初值。
步骤R2:第二顺序方产生随机数组K2,计算R2=fr(R1,K2),将R2发送至第三顺序方;
以此类推。
步骤RI:第i顺序方产生随机数组Ki,计算Ri=fr(Ri-1,Ki),将Ri发送至第i+1顺序方;直至计算出所述预设顺序中最后一个联合方:第m顺序方;
步骤Rm:第m顺序方产生随机数组Km,计算Rm=fr(Rm-1,Km)=(x,y)。
步骤R:最终计算出联合签名第一分量r=f1(Rm,e);其中,f1()为第一分量取值计算函数,e为密码杂凑函数作用于消息M的输出值;
计算多方联合数字签名的联合签名第二分量s具体流程为:
步骤Sm:第m顺序方使用私钥因子dm计算Sm=fs(Sm+1,Km,dm),将Sm发送至第m-1顺序方;其中Sm+1为函数fs()的初值,dm是第m顺序方的私钥因子,Km是第m顺序方在计算联合签名第一分量r时所产生的随机数组;
步骤Sm-1:第m-1顺序方使用私钥因子dm-1计算Sm-1=fs(Sm,Km-1,dm-1),将Sm-1发送至第m-2顺序方;其中dm-1是第m-1顺序方的私钥因子,Km-1是第m-1顺序方在计算联合签名第一分量r时所产生的随机数组;
以此类推。
步骤Si:第i顺序方使用私钥因子di计算Si=fs(Si+1,Ki,di),将Si发送至第i-1顺序方;其中di是第i顺序方的私钥因子,Ki是第i顺序方在计算联合签名第一分量r时所产生的随机数组;
直至计算出所述预设顺序中第一个联合方:第1顺序方;
步骤S1:第1顺序方使用私钥因子d1计算S1=fs(S2,K1,d1),其中d1是第1顺序方的私钥因子,K1是第1顺序方在计算联合签名第一分量r时所产生的随机数组;
步骤S:最终计算出联合数字签名第二分量s=f2(S1,r);其中f2()是第二分量取值计算函数,r是联合签名第一分量值。
最终,根据联合签名第一分量r和联合签名第二分量s得到多方联合的数字签名值Sign(M)=(r,s)。
经过上述步骤,m个联合方均各自独立地产生随机数组,并使用各自独立秘密保存的私钥因子di进行运算,最终得到联合数字签名值。
上述联合数字签名过程的有益结果是,各方均秘密地使用各自的私钥因子进行运算,同时仅将运算送至下一顺序方,私钥无需外送。很好地保证了各自私钥因子的安全性,同时,通过联合运算得到联合数字签名值。由于m方联合签名的结果与单独使用私钥d进行数字签名的结果完全一样,因此,该联合数字签名值(r,s)可使用联合公钥P进行签名验证。
优选地,所述的多方联合密钥产生和数字签名方法还包括m个联合方根据各自的私钥因子di和公钥因子Pi进行数据签名和验证,其中第i顺序方使用签名私钥因子di对数据进行签名,公钥因子Pi在联合密钥产生时发送相关方或所有其它各方,用于对数据进行验证;具体步骤如下:
计算多方联合数字签名的联合签名第一分量r具体流程为:
步骤R1’:第一顺序方产生随机数组K1,计算R1=fr(R0,K1),同时使用私钥因子d1对数据R1进行数字签名Sign1(R1),将R1及签名值Sign1(R1)发送至第二顺序方;其中R0为函数fr()的初值。
步骤R2’:第二顺序方使用第一方公钥因子P1对签名值Sign1(R1)进行签名验证,如验证通过,产生随机数组K2,计算R2=fr(R1,K2),同时使用私钥因子d2对数据R2进行数字签名Sign2(R2),将R2及签名值Sign2(R2)发送至第三顺序方;
以此类推。
步骤Ri’:第i顺序方使用第i-1顺序方公钥因子Pi-1对签名值Signi-1(Ri-1)进行签名验证,如验证通过,产生随机数组Ki,计算Ri=fr(Ri-1,Ki),同时使用私钥因子di对数据Ri进行数字签名Signi(Ri),将Ri及签名值Signi(Ri)发送至第i+1顺序方;直至计算出所述预设顺序中最后一个联合方:第m顺序方;
步骤Rm’:第m顺序方使用第m-1方公钥因子Pm-1对签名值Signm-1(Rm-1)进行签名验证,如验证通过,产生随机数组Km,计算Rm=fr(Rm-1,Km)。
步骤R’:最终计算出联合数字签名第一分量r=f1(Rm,e);其中,f1()为第一分量取值计算函数,e为密码杂凑函数作用于消息M的输出值。
计算多方联合数字签名的联合签名第二分量s具体流程为:
步骤Sm’:第m顺序方使用私钥因子dm计算Sm=fs(Sm+1,Km,dm),同时使用私钥因子dm对数据Sm进行数字签名Signm(Sm),将Sm及签名值Signm(Sm)发送至第m-1顺序方;其中Sm+1为函数fs的初值。
步骤Sm-1’:第m-1顺序方使用第m方公钥因子Pm对签名值Signm(Sm)进行签名验证。如验证通过,使用私钥因子dm-1计算Sm-1=fs(Sm,Km-1,dm-1),同时使用私钥因子dm-1对数据Sm-1进行数字签名Signm-1(Sm-1),将Sm-1及签名值Signm-1(Sm-1)发送至第m-2顺序方;
以此类推。
步骤Si’:第i顺序方使用第i+1方公钥因子Pi+1对签名值Signi+1(Si+1)进行签名验证。如验证通过,使用私钥因子di计算Si=fs(Si+1,Ki,di),同时使用私钥因子di对数据Si进行数字签名Signi(Si),将Si及签名值Signi(Si)发送至第i-1顺序方;直至计算出所述预设顺序中第一个联合方:第1顺序方;
步骤S1’:第1顺序方使用第2方公钥因子P2对签名值Sign2(S2)进行签名验证。如验证通过,使用私钥因子d1计算S1=fs(S2,K1,d1);
步骤S’:最终计算出联合数字签名的联合签名第二分量s=f2(S1,r),其中f2()是第二分量取值计算函数,r是联合数字签名的第一分量值。
最终,根据联合签名第一分量r和联合签名第二分量s得到多方联合的数字签名值Sign(M)=(r,s)。
上述联合数字签名过程的有益结果是,联合签名各方使用各自秘密保存的私钥因子进行数字签名,而数据接收方使用发送方的公钥因子对数字签名进行签名验证,从而保证数据的真实性和有效性。这对于数据传输网络不是很安全的情况下,增强了整个联合数字签名过程的安全性和可靠性。
进一步地,所述的多方联合密钥产生和数字签名方法还包括m个联合方根据各自的公钥因子Pi和私钥因子di进行数据加密和解密,其中第i方使用公钥因子Pk对数据进行数据加密并发送给相关方k,相关方k使用私钥因子dk对接收的密文进行解密。步骤如下:
计算多方联合数字签名的联合签名第一分量r具体流程为:
步骤R1”:第一顺序方产生随机数组K1,计算R1=fr(R0,K1),同时使用第二顺序方公钥因子P2对数据R1进行加密,得到密文R1”。将R1”发送至第二顺序方;其中R0为函数fr的初值。
步骤R2”:第二顺序方使用秘密保存的私钥因子d2对R1”解密得到明文R1。产生随机数组K2,计算R2=fr(R1,K2),同时使用第三顺序方公钥因子P3对数据R2进行加密,得到密文R2”。将R2”发送至第三顺序方;
以此类推。
步骤Ri”:第i顺序方使用秘密保存的私钥因子di对Ri-1”解密得到明文Ri-1。产生随机数组Ki,计算Ri=fr(Ri-1,Ki),同时使用第i+1顺序方公钥因子Pi+1对数据Ri进行加密,得到密文Ri”。将Ri”发送至第i+1顺序方;直至计算出所述预设顺序中最后一个联合方:第m顺序方;
步骤Rm”:第m顺序方使用秘密保存的私钥因子dm对Rm-1”解密得到明文Rm-1。产生随机数组Km,计算Rm=fr(Rm-1,Km)=(x,y)。
步骤R”:最终计算出联合数字签名的联合签名第一分量r=f1(Rm,e);其中,f1()为第一分量取值计算函数,e为密码杂凑函数作用于消息M的输出值;
计算多方联合数字签名的联合签名第二分量s具体流程为:
步骤Sm”:第m顺序方使用私钥因子dm计算Sm=fs(Sm+1,Km,dm),同时使用m-1顺序方公钥因子Pm-1对数据Sm加密,得到密文Sm”。将Sm”发送至第m-1顺序方;其中Sm+1为函数fs的初值。
步骤Sm-1”:第m-1顺序方使用私钥因子dm-1解密密文Sm”,得到明文数据Sm。计算Sm-1=fs(Sm,Km-1,dm-1),同时使用m-2顺序方公钥因子Pm-2对数据Sm-1加密,得到密文Sm-1”。将Sm-1”发送至第m-2顺序方;
以此类推。
步骤Si”:第i顺序方使用私钥因子di解密密文Si+1”,得到明文数据Si+1。计算Si=fs(Si+1,Ki,di),同时使用i-1顺序方公钥因子Pi-1对数据Si加密,得到密文Si”。将Si”发送至第i-1顺序方;直至计算出所述预设顺序中第一个联合方:第1顺序方;
步骤S1”:第1顺序方使用私钥因子d1解密密文S2”,得到明文数据S2。计算S1=fs(S2,K1,d1);
步骤S”:最终计算出联合数字签名第二分量s=f2(S1,r),其中f2()是第二分量取值计算函数,r是联合签名第一分量值。
最终,根据联合签名第一分量r和联合签名第二分量s得到多方联合的数字签名值Sign(M)=(r,s)。
上述联合数字签名过程的有益结果是,联合签名各方使用相关方的公钥因子进行数据加密,并将密文发送给下一个顺序方;而数据接收方使用自己的私钥因子对密文解密得到明文并进行联合数字签名运算,从而保证数据的私密性和安全性。同时,对数据加解密的密钥使用非对称密码算法,也不需要使用额外的密钥。这对于数据传输网络不是很安全的情况下,增强了整个联合数字签名过程的私密性和安全性。
更进一步地,所述的多方联合密钥产生和数字签名方法还可以包括有服务中心的m个联合方进行多方联合密钥产生和数字签名系统。具体步骤如下:
m个联合方进行多方联合密钥产生过程如下:
步骤CK1:服务中心设定初值Q0,发送Q0至第一方;
步骤KC1:第一方产生随机数k1∈(0,n-1]作为私钥因子d1,并计算公钥因子P1=fd(G,k1)和临时变量Q1=fd(Q0,k1 -1),将P1和Q1发送至服务中心;其中fd()为密钥产生函数,G为椭圆曲线的基点,n为SM2的椭圆曲线基点G的阶;
步骤CK2:服务中心发送Q1至第二方;
步骤KC2:第二方产生随机数k2∈(0,n-1]作为私钥因子d2,并计算公钥因子P2=fd(G,k2)和临时变量Q2=fd(Q1,k2 -1),将P2和Q2发送至服务中心;
以此类推。
步骤KCi:第i方产生随机数ki∈(0,n-1]作为私钥因子di,并计算公钥因子Pi=fd(G,ki)和临时变量Qi=fd(Qi-1,ki -1),将Pi和Qi发送至服务中心;
步骤CKi:服务中心发送Qi至第i+1方;
直至计算出所述预设顺序中最后一个联合方:第m方;
步骤KCm:第m方产生随机数km∈(0,n-1]作为私钥因子dm,并计算公钥因子Pm=fp(G,km)和临时变量Qm=fd(Qm-1,km -1),将Pm和Qm发送至服务中心;
步骤CKm:服务中心计算联合公钥P=fP(Qm),其中fP为联合公钥计算函数。并将联合公钥P发送给m各方;
计算有中心m个联合方进行多方联合数字签名的联合签名第一分量r具体流程为:
步骤CR0:服务中心根据待签名消息M和联合公钥P计算密码杂凑函数作用于消息M的输出值e,设定函数fr的初值R0;将M、e、R0发送到第一方;
步骤RC1:第一方检查签名数据M和e的正确性,产生随机数组K1,计算R1=fr(R0,K1),将R1发送至服务中心;
步骤CR1:服务中心将M、e、R1发送至第二方;
步骤RC2:第二方检查签名数据M和e的正确性,产生随机数组K2,计算R2=fr(R1,K2),将R2发送至服务中心;
步骤CR2:服务中心将M、e、R2发送至第三方;
以此类推。
步骤RCi:第i方检查签名数据M和e的正确性,产生随机数组Ki,计算Ri=fr(Ri-1,Ki),将M、e、Ri发送至服务中心;
步骤CRi:服务中心将M、e、Ri发送至第i+1方;
直至计算出所述预设顺序中最后一个联合方:第m方;
步骤RCm:第m方检查签名数据M和e的正确性,产生随机数组Km,计算Rm=fr(Rm-1,Km),将Rm发送至服务中心;
步骤CRm:服务中心接收Rm。最终计算出联合签名第一分量r=f1(Rm,e);其中,f1()为第一分量取值计算函数,e为密码杂凑函数作用于消息M的输出值;
计算有中心m个联合方进行多方联合数字签名的联合签名第二分量s具体流程为:
步骤CSm+1:服务中心第m方设定函数fs()初值Sm+1,将Sm+1发送至第m方;
步骤SCm:第m方使用私钥因子dm计算Sm=fs(Sm+1,Km,dm),将Sm发送服务中心;
步骤CSm:服务中心将Sm发送至第m-1方;
步骤SCm-1:第m-1方使用私钥因子dm-1计算Sm-1=fs(Sm,Km-1,dm-1),将Sm-1发送至服务中心;
以此类推。
步骤CSi:服务中心将Si+1发送至第i方;
步骤SCi:第i方使用私钥因子di计算Si=fs(Si+1,Ki,di),将Si发送至服务中心;
直至计算出所述预设顺序中第一个联合方:第1方;
步骤CS1:服务中心将S2发送至第1方;
步骤SC1:第1方使用私钥因子d1计算S1=fs(S2,K1,d1),将S1发送至服务中心;
步骤CS0:服务中心接收S1,最终计算出联合签名第二分量s=f2(S1,r),其中f2()是第二分量取值计算函数,r是联合签名第一分量值。
最终,根据联合签名第一分量r和联合签名第二分量s得到多方联合的数字签名值Sign(M)=(r,s)。
上述有中心联合数字签名过程的有益结果是,在服务中心的协调下,m个联合方各方仅与服务中心通信,彼此之间不需要互通;同时m个联合方均不需要关心自己是第几顺序方,各方的运算函数及步骤相同。
进一步,由于服务中心具有m个联合方各方的公钥因子;因此对各方发送给服务中心的数据可以使用各方的私钥因子进行数字签名,服务中心使用对应的公钥因子进行签名验证,以保证数据的可靠性。
更进一步,服务中心可以通过产生一个中心加密密钥对,将中心加密公钥发送给m个联合方各方。这样服务中心发送的数据通过各方的公钥因子进行加密,各方使用各自的私钥因子进行解密。而各方发送的数据,通过中心加密公钥进行加密,中心通过中心加密私钥进行解密,以保证通信过程中的私密性和安全性。
更进一步,服务中心也可以是m个联合方的一方,即服务中心也有用于数字签名的私钥因子和公钥因子,并在数字签名过程中,除了协调和转发数据,同时也产生随机数组,并使用私钥因子进行运算。由于服务中心设施到位,防控措施更加有效,可以更好地保护联合签名私钥。
根据本发明的另一方面,提供了一种多方联合密钥产生和数字签名系统,包括m个联合方,每个联合方各自具有独立的子系统,每个子系统包括:
联合密钥生成模块,用于生成用户私钥因子di,m方联合签名私钥d由m份私钥因子di组成,i=[1,m],其中m≥3,该联合用户签名私钥d是在密钥生成时由m个联合方各自分别产生并秘密保存在各自的设备中;
联合签名第一分量计算模块,用于根据m个联合方按照预设顺序秘密产生随机数组Ki而计算Ri=fr(Ri-1,Ki),得出所述预设顺序中最后一方的Rm=(x,y),并通过第一分量取值函数f1()计算签名第一分量r=f1(Rm,e),e为密码杂凑函数作用于消息M的输出值,fr()为单向函数;
联合签名第二分量计算模块,用于根据m个联合方依据与所述预设顺序相反的顺序恢复各自的私钥因子di而计算Si=fs(Si+1,Ki,di),得出所述预设顺序中第一方的S1,从而通过第二分量取值函数f2()计算出签名第二分量s=f2(S1,r),fs()为非单向函数;
系统还可包括数字签名值计算模块,用于根据签名第一分量r值和签名第二分量s值求出到多方联合的数字签名值Sign(M)=(r,s)。
本发明的有益效果是:
本发明的多方联合密钥产生和数字签名方法及系统,其显著的效果是单个或多个签名单元的信息泄露并不会造成最终用户私钥的泄露。即只要不是所有的签名单元均被攻破,攻击者并不能达到使用用户私钥签名的目的,而相对集中的签名服务中心,由于设施到位,防控措施有效,可以更好地保护用户私钥。
本发明提出的多方联合数字签名的方法,改变了过去标准的数字签名只能由个体进行数字签名的限制,将数字签名扩展到由多个独立个体组成的联合体的情况,并在各方联合完成数字签名运算的情况下,才可以实现该联合体的数字签名。在联合签名的过程中,每个个体使用公钥加密或私钥签名的手段,进一步保证信息传递的私密性或真实性,有效防止信息传递过程中的信息泄露或信息伪造等攻击。
附图说明
图1为本发明多方联合密钥产生和数字签名系统一实施例的构成示意图;
图2为本发明的多方联合密钥产生和数字签名方法的密钥产生流程示意图;
图3为本发明的多方联合密钥产生和数字签名方法的数字签名第一分量r产生流程示意图;
图4为本发明的多方联合密钥产生和数字签名方法的数字签名第二分量s产生流程示意图;
图5为本发明的多方联合密钥产生和数字签名方法一实施例的三方数字签名流程示意图;
图6为本发明的多方联合密钥产生和数字签名方法一实施例的四方无中心联合密钥生成及数字签名示意图;
图7为本发明的多方联合密钥产生和数字签名方法一实施例的四方有中心联合密钥生成及数字签名示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明的多方联合密钥产生和数字签名方法及系统进行进一步详细说明。需要说明的是,在不冲突的情况下,以下各实施例及实施例中的特征可以相互组合。应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。
参照图1,本发明一实施例的多方联合密钥产生和数字签名的系统由m个联合方组成,m个联合方的各方均由联合密钥产生模块、联合签名第一分量计算模块和联合签名第二分量计算模块组成。其中:
联合密钥产生模块用于联合签名密钥的产生,即按照预定的次序,接收前一方计算结果,产生各自的私钥因子和公钥因子,并将计算结果传送至下一方。其中第一方为发起方,需设定初始值。第m方为最后一级,计算结果无需再传送,并计算出最终联合签名的公钥结果。
联合签名第一分量计算模块,用于联合数字签名时,计算数字签名的第一分量,即按照预定的顺序接收前一方计算的结果Qi-1,计算本方的Qi,并将计算结果传送至下一方。其中第一方为发起方,需设定fr()函数的初始值Q0。第m方为最后一级,计算结果无需再传送,并计算出最终联合签名的第一分量r。
联合签名第二分量计算模块,用于联合数字签名时,计算数字签名的第二分量,即按照第一分量计算顺序的相反顺序,接收前一方计算结果Si+1,计算本方的Si,并将计算结果传送至下一方。其中第m方为第二分量计算的发起方,需设定fs()函数的初始值Sm+1。第一方为最后一级,计算结果无需再传送,并计算出最终联合签名的第二分量s。
服务中心为可选模块,其功能为按照预定的顺序与联合签名各方进行通信,由于各方之间无需再相互通信,m个联合方的各方仅需要与服务中心通信即可,所以简化联合各方的密钥产生流程和联合数字签名的流程。图1中服务中心包括密钥产生模块、签名及验证计算模块、加密及解密计算模块。
同时,服务中心还可以为该m个联合方的服务过程产生中心密钥对。其中,中心公钥传送给联合各方,服务中心秘密保存中心私钥,同时m各方在密钥产生时,除秘密产生并保存自己的私钥因子外,还可以将公钥因子传送给服务中心。这样,服务中心与联合各方可以通过数字签名技术或加密解密技术保护数字签名过程中的通信数据的安全性。
参照图2至图4,本发明实施例的多方联合密钥产生和数字签名方法,包括以下步骤:
生成m个联合方的联合签名私钥d,联合签名私钥d由m份私钥因子di组成,i=[1,m],其中m≥3,该用户签名私钥d是在密钥生成时,由m个联合方各自分别产生并秘密保存在各自的设备中,即每个联合方秘密产生并保存一份私钥因子di。m个联合方联合签名密钥的产生过程为:
设定初始值Q0,并按照预设顺序使用单向函数fd()进行计算:
首先第一方产生秘密产生私钥因子d1,并计算Q1=fd(Q0,d1);将Q1传送给第二方;
第二方产生秘密产生私钥因子d2,并计算Q2=fd(Q1,d2);将Q2传送给第三方;
以此类推。一般地,第i方产生秘密产生私钥因子di,并计算Qi=fd(Qi-1,di);将Qi传送给第i+1方,直至最后第m方;
第m方产生秘密产生私钥因子dm,并计算Qm=fd(Qm-1,dm);并计算出联合签名公钥P=fp(Qm)。
m个联合方的各方使用各自秘密保存的私钥因子di的联合签名过程分为第一分量r和第二分量s的计算流程,并按照预设顺序分别使用单向函数fr()和非单向函数fs()进行计算,为保护各私钥因子的安全性,计算过程中使用了随机数组Ki,一般地,Ki表述为两个不同的随机数。
m个联合方按照预设顺序产生随机数组Ki,计算Ri=fr(Ri-1,Ki),得出所述预设顺序中最后一个联合方的Rm,计算联合签名第一分量r=f1(Rm,e);
m个联合方依据与所述预设顺序相反的顺序恢复各自的私钥因子di,计算Si=fs(Si+1,Ki,di),得出所述预设顺序中第一个联合方的S1,计算出联合签名第二分量s=f2(S1,r);
根据联合签名第一分量r和联合签名第二分量s得到多方联合的数字签名值Sign(M)=(r,s)。
以上方案的显著效果是单个或多个签名单元的信息泄露并不会造成最终用户私钥的泄露。即只要不是所有的签名单元均被攻破,攻击者并不能达到使用用户私钥签名的目的。
采用SM2密码算法时,各函数定义及初值定义为:
函数fd(P,d)为SM2椭圆曲线的倍点运算,初值P0=G,G为SM2椭圆曲线的基点,即:
Pi=fd(Pi-1,di)=[di]Pi-1 (公式1)
公钥计算函数fp()为SM2椭圆曲线点所定义的减法:
fp(Q)=Q-G (公式2)
第一分量计算函数fr()为SM2定义的椭圆曲线上的倍点运算的混合运算,初值R0=0,K=(k1,k2):
Ri=fr(Ri-1,K)=[k1]Ri-1+[k2]G (公式3)
上述公式中Pi、Ri、Q均为SM2算法定义的椭圆曲线上的点,并定义如果R=O,则对任何正整数k有[k]R=O。
第二分量计算函数fs()为模运算:
S=fs(Y,K,d) (公式4)
s1=dk1y1(mod n)
s2=d(k2y1+y2)(mod n)
上式中:S=(s1,s2),Y=(y1,y2),K=(k1,k2),初值Ym+1=(1,r),n为SM2椭圆曲线的阶。
联合多方数字签名第一分量取值函数f1(R,e)定义为:如果R=(x,y)是最后一方的运算结果,e是数据M和联合公钥P计算密码杂凑函数作用于消息M的输出值,则联合数字签名的第一分量r值为:
r=f1(R,e)=x+e(mod n) (公式5)
联合多方数字签名第二分量取值函数f2(R,e)定义为,如果S=(s1,s2)是循环运算的最后一方运算结果,则联合数字签名的第二分量s值为:
s=f2(S,r)=s2-r(mod n) (公式6)
r为联合签名第一份值.
实例一
本实施例涉及的是三方密钥产生流程及数字签名的实现,一种典型的应用是一个合伙人公司有三个主要领导,分别是第一方:财务总监,第二方:总经理和第三方:董事长。公司重要文件需要三方共同对该文件进行数字签名,三方各自具有公司签名私钥的一个私钥因子,只有三方联合签名才会完成公司重要文件的数字签名。并约定签名的顺序为财务总监、总经理、董事长,即顺序为第一方、第二方、第三方。三方的签名设备可以是他们使用的个人电脑、手机或专用签名设备,如USB-KEY。
如图5所示,以下实例以SM2非对称密码算法为例,说明三方(m=3)联合密钥产生流程及数字签名的实现。同时,为保障消息来源的真实性,多方签名消息过程中增加了消息签名,以确定消息的真伪。
1、三方密钥产生流程
步骤1:第一方产生随机数作为本方私钥因子d1∈(0,n-1],并计算P1=fd(G,d1),Q1=fd(Q0,d1 -1),并将第一方公钥因子P1和临时变量Q1发送至第二方;
步骤2:第二方产生随机数作为本方私钥因子d2∈(0,n-1],并计算P2=fd(G,d2),Q2=fd(Q1,d2 -1),删除Q1并将第二方公钥因子P2和临时变量Q2发送至第三方;将第二方公钥因子P2发送至第一方;
步骤3:第三方产生随机数作为本方私钥因子d3∈(0,n-1],并计算P3=fd(G,d3),Q3=fd(Q2,d3 -1),计算P=fp(Q3)并验证P适合为合法公钥,如果是,则密钥对产生结束,删除Q2和Q3并将第三方公钥因子P3发送至第二方;否则重复步骤3。
其结果是:第一方产生并秘密保存私钥因子d1,得到第二方的公钥因子P2;第二方产生并秘密保存私钥因子d2和第一方及第三方的公钥因子P1和P3;第三方产生并秘密保存私钥因子d3和第二方的公钥因子P2
验证通过的公钥P即为联合签名私钥所对应的公钥。
由于函数fd()为单向函数,所以三方的私钥因子di仅为产生方所有并秘密保存,其它两方及无关方无法得知。
2、三方联合数字签名流程
令随机数组Ki=(ki1,ki2),其中ki1∈(0,n-1],ki2∈(0,n-1]为两个相互独立的随机数。
设Sign(X,d)为使用私钥d对X的数字签名结果。
已知e为密码杂凑函数作用于消息M的输出值,R0=O。则三方联合数字签名第一分量r的计算流程为:
步骤1:第一方产生随机数组K1=(k11,k12),并计算R1=fr(R0,K1),并使用私钥因子d1对R1进行数字签名SR1=Sign(R1,d1),然后将R1及SR1发送至第二方;
步骤2:第二方使用第一方公钥因子P1对SR1进行验签,确定R1的真实性。若R1真实可靠,则产生随机数组K2=(k21,k22),并计算R2=fr(R1,K2),并使用私钥因子d2对R2进行数字签名SR2=Sign(R2,d2),然后将R2及SR2发送至第三方;
步骤3:第三方使用第二方公钥因子P2对SR2进行验签,确定R2的真实性。若R2真实可靠,则产生随机数组K3=(k31,k32),并计算R3=fr(R2,K3)。计算数字签名第一分量:r=f1(R3,e)。
步骤4:令初值S4=(1,r),第三方计算S3=fs(S4,K3,d3),并使用私钥因子d3对S3进行数字签名SS3=Sign(S3,d3),然后将S3及SS3发送至第二方;
步骤5:第二方使用第三方公钥因子P3对SS3进行验签,确定S3的真实性。若S3真实可靠,计算S2=fs(S3,K2,d2),并使用私钥因子d2对S2进行数字签名SS2=Sign(S2,d2),然后将S2及SS2=Sign(S2,d2)发送至第一方;
步骤6:第一方使用第二方公钥因子P2对SS2进行验签,确定S2的真实性。若S2真实可靠,计算S1=fs(S2,K1,d1);计算数字签名第二分量:s=f2(S1,r)。
其结果是:三方联合并使用各自秘密保管的私钥因子di通过多个步骤,共同完成数字签名Sign(M)=(r,s)。同时该签名可以使用三方密钥产生流程所共同产生的公钥P进行标准SM2签名验证。三方在消息传递过程中,发送方使用了私钥因子进行消息签名,接收方使用对方的公钥因子进行签名验证,保证了消息的真实性。如果任何一方的签名验证失败,则说明该消息不是对方的真实消息,而返回失败结果。
实例二
本实施例涉及的是无中心四方密钥产生流程及数字签名的实现,本发明的另一个特点是对等性,即m个联合签名方相互平等,可以不存在上下级的关联关系。本实例以4个联合签名方组成的例子来说明其对等的密钥产生流程及数字签名的实现。
参照图6,图6是m=4的四方无中心联合密钥生成及数字签名流程示意图。为表示其地位相等起见,假定四个联合方分别为A方、B方、C方、D方。本实例仅为说明各方的对等关系,因此忽略各方公钥因子的产生和传递过程。
1、无中心四方密钥产生流程
事先假定密钥产生的顺序为A方→B方→C方→D方,记为[A,B,C,D],如图5的虚线所示,其密钥生产过程流程为:
步骤1:A方由于是初始方,令Q0=G,秘密产生私钥因子dA;计算QA=fd(Q0,dA -1);将QA发送至B方。
步骤2:B方接收QA,秘密产生私钥因子dB;计算QB=fd(QA,dB);将QB发送至C方。
步骤3:C方接收QB,秘密产生私钥因子dC;计算QC=fd(QB,dC);将QC发送至D方。
步骤4:D方接收QC,秘密产生私钥因子dD;计算QD=fd(QC,dD);由于D方是密钥产生的最后一方,需计算四方联合公钥P=PD–G。并验证公钥P的合法性,如不合法重新产生私钥因子dD,计算并验证公钥直至公钥P合法。
实际上,上述步骤是按照[A,B,C,D]的顺序进行的,也可以是[B,C,A,D],也可以是[D,B,A,C],其结果是一样的,即假设四个联合方的私钥因子di不变,其最终联合签名私钥d和公钥是一致的。即:密钥产生顺序不会影响密钥产生的效果。
2、无中心四方数字签名流程
四方联合数字签名同样是与顺序无关,图6的实线标注的顺序是本实例的四方联合数字顺序[D,B,C,A],其联合数字签名步骤为:
步骤1:D方由于是初始方,令R0=O。产生随机数组KD;计算RD=fr(R0,KD);将RD发送至B方。
步骤2:B方接收RD;产生随机数组KB;计算RB=fr(RD,KB);将RB发送至C方。
步骤3:C方接收RB;产生随机数组KC;计算RC=fr(RB,KC);将RC发送至A方。
步骤4:A方接收RC;产生随机数组AA;计算RA=fr(RC,KA)=(x,y);计算联合签名第一分量r=f1(RA,e)。
步骤5:A方恢复私钥因子dA,令初值S0=(1,r),计算SA=fs(S0,KA,dA),然后将SA发送至C方;
步骤6:C方接收SA,C方恢复私钥因子dC,计算SC=fs(SA,KC,dC),然后将SC发送至B方;
步骤7:B方接收SC,B方恢复私钥因子dB,计算SB=fs(SC,KB,dB),然后将SB发送至D方;
步骤8:D方接收SB,D方恢复私钥因子dD,计算SD=fs(SB,KD,dD)=(sD1,sD2)。
计算数字签名第二分量s=f2(SD,r)。
实际上,上述数字签名过程的步骤是按照[D,B,C,A]的顺序进行的,也可以是[B,C,A,D],也可以是[D,A,B,C]等等,其结果是一样的,签名值Sign=(r,s)均为杂凑值e的四方联合数字签名的有效结果。
实施例三
本实施例涉及的是有中心四方密钥产生流程及数字签名的实现。
多方联合密钥产生和数字签名方法,也可以是有中心的系统构成,其特点是中心负责与联合的各个联络及通信,使得各方不需相互发送消息或结果。在中心的协调下,各方使用各自的私钥因子完成联合密钥产生和数字签名。在有中心的情况下,联合签名的各方与中心之间还可以具有相互独有的加密密钥对即可以对各方与中心之间的信息进行加密,也可以对该信息进行签名以保证各方与中心之间信息的机密性和真实性。
一种典型的应用是一个股份公司A有四个股东,A公司的重要文件需要各股东方对该文件进行数字签名,四个股东各自具有公司签名私钥的一个私钥因子,只有四个股东联合签名才会完成公司的数字签名。而服务中心可以是一个公众服务机构,在该服务中心的配合下完成各方的联合签名工作,同时该服务中心具有A公司的签名公钥PA,用于鉴定公司签名的有效性或合法性。
参照图7,图7是四方有中心联合密钥生成及数字签名示意图。
1、有中心四方密钥产生流程
有中心的多方密钥产生流程需在服务中心的指挥下完成,由于各联合方地位平等,所以服务中心流程可以任意制定该流程中各方的先后次序。为方便起见,假定服务中心按照[1,2,3,4]的顺序进行。其步骤为:
步骤1:服务中心产生一个随机数d作为中心私钥,并计算中心公钥P=fd(G,d);并将P和fr()初值R0发送给第一方;
步骤2:第一方接收服务中心公钥P,产生随机数d1作为本方的私钥因子,并计算P1=fd(G,d1),Q1=fd(Q0,d1 -1),并将计算结果P1和Q1发送给中心。
服务中心得到P1和Q1。这样,第一方具有私钥因子d1和中心公钥P,中心除具有中心私钥d外,还具有第一方的公钥因子P1和临时变量Q1
服务中心将中心公钥P和Q1发给第二方,并删除Q1
步骤3:第二方接收服务中心公钥P和Q1,产生随机数d2作为本方的私钥因子,并计算P2=fd(G,d2),Q2=fd(Q1,d2 -1),并将计算结果P2和Q2发送给服务中心。
服务中心得到P2和Q2。这样,第二方具有私钥因子d2和中心公钥P,服务中心除具有中心私钥d外,还具有第二方的公钥因子P2和临时变量Q2
服务中心将中心公钥P和Q2发给第三方,并删除Q2
步骤4:第三方接收服务中心公钥P和Q2,产生随机数d3作为本方的私钥因子,并计算P3=fd(G,d3),Q3=fd(Q2,d3 -1),并将计算结果P3和Q3发送给服务中心。
服务中心得到P3和Q3。这样,第三方具有私钥因子d3和中心公钥P,服务中心除具有中心私钥d外,还具有第三方的公钥因子P3和临时变量Q3
服务中心将中心公钥P和Q3发送给第四方,并删除Q3
步骤5:第四方接收服务中心公钥P和Q3,产生随机数d4作为本方的私钥因子,并计算P4=fd(G,d4),Q4=fd(Q3,d4 -1),并将计算结果P4和Q4发送给服务中心。
服务中心得到P4和Q4。这样,第四方具有私钥因子d4和中心公钥P,服务中心除具有中心私钥d外,还具有第四方的公钥因子P4和临时变量Q4
服务中心计算该四方联合验签公钥PA=fp(Q4)。中心保存四方联合验签公钥PA,并删除Q4
通过以上5个步骤,四方各自秘密获得签名私钥因子di,(i=1,2,3,4)和中心公钥P,而服务中心获得并保存了与该四方使用的通信私钥d和与各方通信专用的公钥Pi,i=(1,2,3,4)及四方联合签名公钥PA
2、有中心四方数字签名产生流程
有中心的多方数字签名流程需在服务中心的指挥下完成,由于各联合方地位平等,所以服务中心流程可以任意制定该流程中各方的先后次序。为方便起见,假定服务中心按照[1,2,3,4]的顺序进行。其步骤为:
步骤1a:服务中心获得待签名文件M,使用该四方签名公钥PA、该四方的标识IDA和文件M,计算密码杂凑函数作用于消息M的输出值e。
步骤1b:服务中心中心使用与第一方公钥因子P1对R0进行加密,并将密文R”0发送给第一方。
步骤2a:第一方使用私钥因子d1解密密文R”0,得到明文R0
步骤2b:第一方产生随机数组K1;计算R1=fr(R0,K1);
步骤2c:第一方使用中心公钥P对R1进行加密,并将密文R’1发送给服务中心。
步骤3a:服务中心使用中心私钥d对R’1进行解密,获得R1明文,再使用第二方公钥因子P2对R1进行再加密,并将密文R”1发送给第二方。
步骤3b:第二方使用私钥因子d2解密密文R”1,得到明文R1
步骤3c:第二方产生随机数组K2;计算R2=fr(R1,K2);
步骤3d:第二方使用中心公钥P对R2进行加密,并将密文R’2发送给服务中心。
步骤4a:服务中心使用中心私钥d对R’2进行解密,获得R2明文,再使用第三方公钥因子P3对R2进行再加密,并将密文R”2发送给第三方。
步骤4b:第三方使用私钥因子d3解密密文R”2,得到明文R2
步骤4c:第三方产生随机数组K3;计算R3=fr(R2,K3);
步骤4d:第三方使用中心公钥P对R3进行加密,并将密文R’3发送给服务中心。
步骤5a:服务中心使用中心私钥d对R’3进行解密,获得R3明文,再使用第四方公钥因子P4对R3进行再加密,并将密文R”3发送给第四方。
步骤5b:第四方使用私钥因子d4解密密文R”3,得到明文R3
步骤5c:第四方产生随机数组K4;计算R4=fr(R3,K4);
步骤5d:第四方使用中心公钥P对R4进行加密,并将密文R’4发送给服务中心。
步骤6:服务中心使用中心私钥d对R’4进行解密,获得R4明文,计算四方联合数字签名第一分量r=f1(R4,e)。
步骤7a:服务中心使用第四方公钥因子P4对S5=(1,r)进行加密,并将密文S”5发送给第四方。
步骤7b:第四方使用私钥因子d4解密密文S”5,得到明文S0
步骤7c:第四方计算S4=fs(S5,K4,d4)。
步骤7d:第四方使用中心公钥P对S4进行加密,并将密文S’4发送给服务中心。
步骤8a:服务中心使用中心私钥d对S’4进行解密,获得S4明文,再使用第三方公钥因子P3对S4进行再加密,并将密文S”4发送给第三方。
步骤8b:第三方使用私钥因子d3解密密文S”4,得到明文S4
步骤8c:第三方计算S3=fs(S4,K4,d3)。
步骤8d:第三方使用中心公钥P对S3进行加密,并将密文S’3发送给服务中心。
步骤9a:服务中心使用中心私钥d对S’3进行解密,获得S3明文,再使用第二方公钥因子P2对S3进行再加密,并将密文S”3发送给第二方。
步骤9b:第二方使用私钥因子d2解密密文S’3,得到明文S3
步骤9c:第二方计算S2=fs(S3,K2,d2)。
步骤9d:第二方使用中心公钥P对S2进行加密,并将密文S’2发送给服务中心。
步骤10a:服务中心使用中心私钥d对S’2进行解密,获得S2明文,再使用第一方公钥因子P1对S2进行再加密,并将密文S”2发送给第一方。
步骤10b:第一方使用私钥因子d1解密密文S”2,得到明文S2
步骤10c:第一方计算S1=fs(S2,K1,d1)。
步骤10d:第一方使用中心公钥P对S1进行加密,并将密文S’1发送给服务中心。
步骤11:服务中心使用中心私钥d对S’1进行解密,获得S1明文。计算四方联合数字签名第二分量s=f2(S1,r)。
通过以上步骤,在服务中心指挥下,四方联合的数字签名Sign=(r,s)完成,服务中心还可以使用该四方联合验签公钥PA对签名值(r,s)进行验证。
上述通信过程均使用了非对称密码算法对通信内容进行了加密,其优点是,由于使用了公钥加密,只有具有私钥的一方才可以正确解密并获得正确明文。
以上各实施方式的多方联合密钥产生和数字签名方法及系统,将数字签名扩展到由多个独立个体组成的联合体的情况,并在各方联合完成数字签名运算的情况下,才可以实现该联合体的数字签名。在联合签名的过程中,每个个体使用公钥加密或私钥签名的手段,进一步保证信息传递的私密性或真实性,有效防止信息传递过程中的信息泄露或信息伪造等攻击。
以上各实施例的多方联合密钥产生和数字签名方法及系统,其显著的效果是单个或多个签名单元的信息泄露并不会造成最终用户私钥的泄露。即只要不是所有的签名单元均被攻破,攻击者并不能达到使用用户私钥签名的目的。而相对集中的签名服务中心,由于设施到位,防控措施有效,可以更好地保护用户私钥因子。
本发明的主要特点为:
多方各自产生并保管自己的私钥因子di,并计算各自的公钥因子Pi;其中私钥因子除进行联合数字签名外,还可以出于安全的目的进行本方的独立的数字签名或数据加密,并且具有其公钥因子的其它方可以进行签名验证或数据解密。
数字签名时需由多方共同联合进行运算,各自按照顺序使用自己秘密保存的私钥di进行运算,最终得到多方联合的数字签名值Sign(M)。数字签名Sign(M)由相互独立的多方共同才可以完成,缺失任何一方都无法完成数字签名。多方各自秘密保存独立的私钥因子di,多方各自使用独立的私钥因子di进行运算,相互配合最终结果完成多方联合数字签名Sign(M)。
私钥d可以表述为私钥因子的函数,即d=g(d1,d2,…dm)。任何一方、多方或网络监听者均不能获取完整私钥d。任何一方的私钥因子di,网络监听者及其它方均不能获取。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种多方联合密钥产生和数字签名方法,其基于SM2密码算法,其特征在于,联合签名私钥d由m份私钥因子di组成,i=[1,m],其中m≥3,m份私钥因子di由联合各方在密钥生成时独立秘密产生并秘密保存在各自的设备中;联合数字签名完成需要各方按照一定顺序,使用各自秘密保存的私钥因子di通过计算共同参与完成,且m方联合使用各自私钥因子di的联合签名结果与单独使用私钥d进行签名的结果一致;
还包括计算联合签名第一分量r和联合签名第二分量s的步骤,联合签名第一分量r是由m个联合方按照一定顺序,通过计算共同参与完成;联合签名第二分量s是由m个联合方按照与计算第一分量r时的相反顺序,通过计算共同参与完成;
其中,m个联合方按照预设顺序秘密产生随机数组Ki而计算Ri=fr(Ri-1,Ki)=[ki1]Ri-1+[ki2]G,得出所述预设顺序中最后一方的Rm=(x,y),并通过第一分量取值函数f1()计算签名第一分量r=f1(Rm,e)=x+e(mod n),e为密码杂凑函数作用于消息M的输出值,fr()为单向函数;Ri为SM2算法定义的椭圆曲线上的点,初值R0=0;随机数组Ki=(ki1,ki2),G为SM2椭圆曲线的基点,n为SM2椭圆曲线的阶;
m个联合方依据与所述预设顺序相反的顺序恢复各自的私钥因子di而计算Si=fs(Si+1,Ki,di),得出所述预设顺序中第一方的S1=(s11,s12),从而通过第二分量取值函数f2()计算出签名第二分量s=f2(S1,r)=s12–r(mod n),fs()为非单向函数;
Si=(si1,si2)=fs(Yi,Ki,di)
si1=diki1yi1(mod n)
si2=di(ki2yi1+yi2)(mod n)
式中:Yi=(yi1,yi2)=Si+1;初值Ym=Sm+1=(1,r)。
2.根据权利要求1所述的多方联合密钥产生和数字签名方法,其特征在于,联合签名第一分量r是由m个联合方按照一定顺序,通过计算共同参与完成,具体步骤为:
第一顺序方产生随机数组K1,同时使用单向函数fr()计算R1=fr(R0,K1),并将结果R1发送给第二顺序方,其中R0为函数fr()的初值;
第二顺序方接收R1,产生随机数组K2,计算R2=fr(R1,K2),并将结果R2发送给第三顺序方;
以此类推,直至到m个联合方的最后顺序方;
最后顺序方接收Rm-1,产生随机数组Km,计算Rm=fr(Rm-1,Km,),并最终根据Rm计算出m个联合方的联合签名第一分量r=f1(Rm,e),其中,f1()为第一分量取值计算函数,e为密码杂凑函数作用于消息M的输出值。
3.根据权利要求1所述的多方联合密钥产生和数字签名方法,其特征在于,联合签名第二分量s是由m个联合方按照与计算联合签名第一分量r时的相反顺序,并使用各自的私钥因子di通过计算共同参与完成,具体步骤为:
第m顺序方使用函数fs()计算Sm=fs(Sm+1,Km,dm),并将结果Sm发送给第m-1顺序方;其中Sm+1为函数fs()的初值,dm是第m顺序方的私钥因子,Km是第m顺序方在计算联合签名第一分量r时所产生的随机数组;
第m-1顺序方接收Sm,计算Sm-1=fs(Sm,Km-1,dm-1),并将结果Sm-1发送给第m-2顺序方;其中dm-1是第m-1顺序方的私钥因子,Km-1是第m-1顺序方在计算联合签名第一分量r时所产生的随机数组;
以此类推,直至到m个联合方的第一顺序方;
第一顺序方接收S2,计算S1=fs(S2,K1,d1),并最终根据S1和联合签名第一分量r值,使用第二分量取值计算函数f2()计算出m个联合方的联合签名第二分量s=f2(S1,r);其中d1是第一顺序方的私钥因子,K1是第一顺序方在计算联合签名第一分量r时所产生的随机数组。
4.根据权利要求2或3所述的多方联合密钥产生和数字签名方法,其特征在于,联合签名计算过程需按照一定顺序进行计算联合签名第一分量r,并按照相反的顺序计算联合签名第二分量s,其计算过程是每一个联合方均产生各自的随机数组Ki并使用各自的私钥因子参与计算,顺序为任意顺序,只要遍历m个联合方即可,且各联合方均参与且仅参与一次,计算联合签名第二分量s的顺序必须是计算r顺序的相反顺序。
5.根据权利要求1-3任一项所述的多方联合密钥产生和数字签名方法,其特征在于,还包括m个联合方根据各自的私钥因子di计算出各自的公钥因子Pi的步骤,该公钥因子和私钥因子可用于m个联合方之间信息传递中的信息加密和解密,也可以用于信息的签名和验证。
6.根据权利要求1-3任一项所述的多方联合密钥产生和数字签名方法,其特征在于,还包括计算用于联合签名验证的公钥P的步骤,用于联合签名验证的公钥P是由m个联合方按照一定顺序,使用各自秘密保存的私钥因子di通过计算共同参与完成,具体步骤为:
第一顺序方使用单向函数fd()计算Q1=fd(Q0,d1),并将结果Q1发送给第二顺序方,其中Q0为函数fd()的初值;
第二顺序方接收Q1,计算Q2=fd(Q1,d2),并将结果Q2发送给第三顺序方;
以此类推,直至到m个联合方的最后顺序方;
最后顺序方接收Qm-1,计算Qm=fd(Qm-1,dm),并最终计算出m个联合方的用于联合签名验证的公钥P=fp(Qm),其中fp()为用于联合签名验证的公钥计算函数。
7.根据权利要求6所述的多方联合密钥产生和数字签名方法,其特征在于,所述用于联合签名验证的公钥P的计算由m个联合方按照一定顺序进行,其计算过程是每一个联合方均使用各自的私钥因子参与计算,顺序为任意顺序,只要遍历m个联合方即可,且各联合方均参与且仅参与一次。
8.根据权利要求1所述的多方联合密钥产生和数字签名方法,其特征在于,还包括通过服务中心协调各联合方来完成联合数字签名的步骤,在该步骤中,各联合方仅与服务中心通信,该步骤包括:
服务中心制定m个联合方的联合密钥产生和联合数字签名的计算顺序,以及各预设的计算函数初值的赋值;
各联合方按照服务中心制定的第一顺序,使用单向函数fr()依次计算出各自的Ri=fr(Ri-1,Ki),并发送至服务中心,i=1~m;服务中心根据最后一方的Rm计算出m个联合方的联合签名第一分量r=f1(Rm,e);其中,f1()为第一分量取值计算函数,e为密码杂凑函数作用于消息M的输出值,Ki为第i方运算时秘密产生的随机数组;
各联合方按照服务中心制定的第二顺序,使用非单向函数fs()依次计算出各自的Si=fs(Si-1,Ki,di),并将Si发送服务中心,i=1~m;服务中心根据第二顺序最后一方的S1计算出联合数字签名第二分量s=f2(S1,r),其中f2()是第二分量取值计算函数,第二顺序与第一顺序相反。
9.一种多方联合密钥产生和数字签名系统,其基于SM2密码算法,其特征在于,包括m个联合方,每个联合方各自具有独立的子系统,每个子系统包括:
联合密钥生成模块,用于联合各方生成用户签名私钥d,用户签名私钥d由m份私钥因子di组成,i=[1,m],其中m≥3,该用户签名私钥di是在密钥生成时由m个联合方各自分别产生并秘密保存在各自的设备中;
联合签名第一分量计算模块,用于联合数字签名时计算联合数字签名第一分量r;联合签名第一分量r是由m个联合方按照一定顺序,通过计算共同参与完成;其中,m个联合方按照预设顺序秘密产生随机数组Ki而计算Ri=fr(Ri-1,Ki)=[ki1]Ri-1+[ki2]G,得出所述预设顺序中最后一方的Rm=(x,y),并通过第一分量取值函数f1()计算签名第一分量r=f1(Rm,e)=x+e(mod n),e为密码杂凑函数作用于消息M的输出值,fr()为单向函数;Ri为SM2算法定义的椭圆曲线上的点,初值R0=0;随机数组Ki=(ki1,ki2),G为SM2椭圆曲线的基点,n为SM2椭圆曲线的阶;
联合签名第二分量计算模块,用于联合数字签名时计算联合数字签名的第二分量s,联合签名第二分量s是由m个联合方按照与计算第一分量r时的相反顺序,通过计算共同参与完成;其中,m个联合方依据与所述预设顺序相反的顺序恢复各自的私钥因子di而计算Si=fs(Si+1,Ki,di),得出所述预设顺序中第一方的S1=(s11,s12),从而通过第二分量取值函数f2()计算出签名第二分量s=f2(S1,r)=s12–r(mod n),fs()为非单向函数;
Si=(si1,si2)=fs(Yi,Ki,di)
si1=diki1yi1(mod n)
si2=di(ki2yi1+yi2)(mod n)
式中:Yi=(yi1,yi2)=Si+1;初值Ym=Sm+1=(1,r)。
CN201710212498.1A 2017-04-01 2017-04-01 一种多方联合密钥产生和数字签名方法及系统 Active CN107017993B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710212498.1A CN107017993B (zh) 2017-04-01 2017-04-01 一种多方联合密钥产生和数字签名方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710212498.1A CN107017993B (zh) 2017-04-01 2017-04-01 一种多方联合密钥产生和数字签名方法及系统

Publications (2)

Publication Number Publication Date
CN107017993A CN107017993A (zh) 2017-08-04
CN107017993B true CN107017993B (zh) 2020-05-05

Family

ID=59445438

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710212498.1A Active CN107017993B (zh) 2017-04-01 2017-04-01 一种多方联合密钥产生和数字签名方法及系统

Country Status (1)

Country Link
CN (1) CN107017993B (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483212B (zh) * 2017-08-15 2021-04-30 武汉信安珞珈科技有限公司 一种双方协作生成数字签名的方法
CN107682151B (zh) * 2017-10-30 2021-02-02 武汉大学 一种gost数字签名生成方法及系统
CN107872322B (zh) * 2017-11-02 2020-08-04 武汉理工大学 基于同态加密的数字签名协同生成方法及系统
CN107819585B (zh) * 2017-11-17 2020-08-25 武汉理工大学 Sm9数字签名协同生成方法及系统
CN107968710B (zh) * 2017-11-27 2020-08-25 武汉理工大学 Sm9数字签名分离交互生成方法及系统
CN108199835B (zh) * 2018-01-19 2021-11-30 北京江南天安科技有限公司 一种多方联合私钥解密方法
CN108449348B (zh) * 2018-03-22 2021-03-26 西安电子科技大学 一种支持用户身份隐私保护的在线认证系统及方法
CN108768634B (zh) * 2018-05-30 2021-03-23 数安时代科技股份有限公司 可验证加密签名生成方法和系统
CN109086624A (zh) * 2018-08-03 2018-12-25 北京海泰方圆科技股份有限公司 登录方法和装置
CN110941834B (zh) * 2018-09-21 2023-06-23 阿里巴巴集团控股有限公司 多方计算、数据审计、数据处理方法、系统及设备
CN109245903B (zh) * 2018-09-29 2021-10-01 北京信安世纪科技股份有限公司 双方协同生成sm2算法的签名方法、装置及存储介质
CN109547209B (zh) * 2018-11-19 2020-09-08 北京大学 一种两方sm2数字签名生成方法
CN109743171B (zh) * 2018-12-06 2022-04-12 广州博士信息技术研究院有限公司 一种解决多方数字签名、时间戳及加密的密钥串联方法
CN109743166B (zh) * 2018-12-10 2023-06-23 普华诚信信息技术有限公司 多方签名生成方法及安全信息验证系统
CN109472906B (zh) * 2018-12-26 2020-11-10 上海银基信息安全技术股份有限公司 数字钥匙生成方法、应用方法、装置、系统、终端及介质
CN111435911B (zh) * 2019-01-14 2023-02-17 海南自贸区图灵区块链科技有限公司 一种在线多方安全数据处理方法及装置
CN111447065B (zh) * 2019-01-16 2021-03-09 中国科学院软件研究所 一种主动安全的sm2数字签名两方生成方法
CN109872155A (zh) * 2019-02-22 2019-06-11 矩阵元技术(深圳)有限公司 数据处理方法和装置
CN109787762B (zh) * 2019-02-28 2021-09-21 矩阵元技术(深圳)有限公司 服务器各自生成密钥分量的密钥管理方法、电子设备
CN109981592B (zh) * 2019-02-28 2021-07-16 矩阵元技术(深圳)有限公司 多客户端多服务器联合生成密钥的方法和电子设备
CN109714165B (zh) * 2019-02-28 2021-12-07 矩阵元技术(深圳)有限公司 客户端各自生成密钥分量的密钥管理方法和电子设备
CN109787998B (zh) * 2019-02-28 2022-06-10 矩阵元技术(深圳)有限公司 数据处理方法、装置、智能卡、终端设备和服务器
CN109981666B (zh) * 2019-04-01 2020-08-04 北京纬百科技有限公司 一种接入方法、接入系统和接入服务器
CN110213057B (zh) * 2019-05-23 2021-01-08 武汉理工大学 具有乘积r参数的SM9数字签名协同生成方法及系统
CN110505061B (zh) * 2019-09-06 2022-05-03 北京天诚安信科技股份有限公司 一种数字签名算法及系统
CN110943829A (zh) * 2019-11-08 2020-03-31 中国电子科技网络信息安全有限公司 一种三方协同生成sm2签名的方法
CN111241017B (zh) * 2020-01-08 2021-07-09 北京江南天安科技有限公司 多通道psam卡的数据传输方法、装置及多通道psam卡
CN111314089B (zh) * 2020-02-18 2023-08-08 数据通信科学技术研究所 一种基于sm2的两方协同签名方法及解密方法
CN111147246B (zh) * 2020-02-18 2023-08-08 数据通信科学技术研究所 一种基于sm2的多方协同签名方法及系统
CN113541926A (zh) * 2020-04-14 2021-10-22 成都天瑞芯安科技有限公司 Sm2三方联合签名方法与系统
CN111754233B (zh) * 2020-06-29 2023-11-07 兴唐通信科技有限公司 基于多方签名的电子支付方法和系统
CN112003693B (zh) * 2020-07-31 2021-08-27 大陆云盾电子认证服务有限公司 一种基于sm2的多方参与数字签名方法及系统
CN112019335B (zh) * 2020-09-18 2023-12-29 上海市数字证书认证中心有限公司 一种基于sm2算法的多方协同加解密方法及装置、系统、介质
CN112152808B (zh) * 2020-09-27 2022-11-11 成都国泰网信科技有限公司 一种基于sm2算法的多方协同数字签名方法
CN112287364A (zh) * 2020-10-22 2021-01-29 同盾控股有限公司 数据共享方法、装置、系统、介质及电子设备
CN116260594B (zh) * 2023-05-09 2023-07-18 北京天辰信科技有限公司 一种电子签名文件的签署方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192928A (zh) * 2006-12-01 2008-06-04 华为技术有限公司 移动自组织网络的认证方法、网络和系统
CN102223629A (zh) * 2009-11-26 2011-10-19 中国人民解放军空军工程大学 一种移动自组网门限密钥分发方法
CN104821880A (zh) * 2015-05-05 2015-08-05 九江学院 一种无证书广义代理签密方法
CN106533698A (zh) * 2016-12-15 2017-03-22 北京三未信安科技发展有限公司 一种基于rsa的分布式门限签名方法与系统
CN106549770A (zh) * 2017-01-13 2017-03-29 武汉理工大学 Sm2数字签名生成方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013031151A (ja) * 2011-06-20 2013-02-07 Renesas Electronics Corp 暗号通信システムおよび暗号通信方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192928A (zh) * 2006-12-01 2008-06-04 华为技术有限公司 移动自组织网络的认证方法、网络和系统
CN102223629A (zh) * 2009-11-26 2011-10-19 中国人民解放军空军工程大学 一种移动自组网门限密钥分发方法
CN104821880A (zh) * 2015-05-05 2015-08-05 九江学院 一种无证书广义代理签密方法
CN106533698A (zh) * 2016-12-15 2017-03-22 北京三未信安科技发展有限公司 一种基于rsa的分布式门限签名方法与系统
CN106549770A (zh) * 2017-01-13 2017-03-29 武汉理工大学 Sm2数字签名生成方法及系统

Also Published As

Publication number Publication date
CN107017993A (zh) 2017-08-04

Similar Documents

Publication Publication Date Title
CN107017993B (zh) 一种多方联合密钥产生和数字签名方法及系统
CN108199835B (zh) 一种多方联合私钥解密方法
US10659223B2 (en) Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
CN107707358B (zh) 一种ec-kcdsa数字签名生成方法及系统
US9509506B2 (en) Quantum key management
CN109309569B (zh) 基于sm2算法的协同签名的方法、装置及存储介质
CN107947913B (zh) 一种基于身份的匿名认证方法与系统
US8447036B2 (en) Multi-party key agreement method using bilinear map and system therefor
Gorantla et al. Modeling key compromise impersonation attacks on group key exchange protocols
US20070186109A1 (en) Authenticated group key agreement in groups such as ad-hoc scenarios
CN110545169B (zh) 基于非对称密钥池和隐式证书的区块链方法和系统
CN112039883A (zh) 一种区块链的数据分享方法及装置
Wei et al. Efficient certificateless authenticated asymmetric group key agreement protocol
CN116132118A (zh) 一种基于区块链技术的加密通讯方法和系统
Ain A novel approach for secure multi-party secret sharing scheme via quantum cryptography
US20230188330A1 (en) System and method for identity-based key agreement for secure communication
Mehta et al. Group authentication using paillier threshold cryptography
KR102304831B1 (ko) 순열그룹 기반의 암호화 기술을 적용한 암호화시스템 및 방법
CN111526131B (zh) 基于秘密共享和量子通信服务站的抗量子计算的电子公文传输方法和系统
TW510107B (en) A coding system and method of secure data transmission
RU2654122C2 (ru) Способ доставки ключа с проверкой подлинности корреспондента радиосети
Lou et al. A chaos-based quantum group signature scheme in quantum cryptosystem
Prakasha et al. Design of an efficient user authentication mechanism using enhanced version of Otway-Rees protocol
CN118114265A (zh) 联邦学习的安全聚合方法、装置、设备、系统及介质
Reddy et al. Deniable Encryption Key

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