CN110166235A - 增强安全的sm9数字签名协同生成方法及系统 - Google Patents

增强安全的sm9数字签名协同生成方法及系统 Download PDF

Info

Publication number
CN110166235A
CN110166235A CN201910425471.XA CN201910425471A CN110166235A CN 110166235 A CN110166235 A CN 110166235A CN 201910425471 A CN201910425471 A CN 201910425471A CN 110166235 A CN110166235 A CN 110166235A
Authority
CN
China
Prior art keywords
digital signature
devices
calculates
zero
generation method
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.)
Granted
Application number
CN201910425471.XA
Other languages
English (en)
Other versions
CN110166235B (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 of Technology WUT
Original Assignee
Wuhan University of Technology WUT
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 of Technology WUT filed Critical Wuhan University of Technology WUT
Priority to CN201910425471.XA priority Critical patent/CN110166235B/zh
Publication of CN110166235A publication Critical patent/CN110166235A/zh
Application granted granted Critical
Publication of CN110166235B publication Critical patent/CN110166235B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

发明涉及SM9数字签名生成方法:用户私钥dA被分成dA1、dA2且dA1+dA2=dA;装置1有秘密dA1,装置2有整数秘密c;预先有PB=[b]dA,PA2=[c‑1]dA2,gB=g^b,其中b是装置1、2都不知的秘密,^为幂运算,g=e(P1,Ppub);需用dA对消息M签名时,两个装置计算w=gB^(r1r2),r1、r2是装置1、2在[1,n‑1]中随机选取的整数,n为SM9群的阶;计算h=H2(M||w,n);装置1计算S1=[(r1)‑1]PA2;装置2计算S2=[r2]PB+[‑hc]S1;装置1计算S=[r1]S2+[‑h]dA1;(h,S)为生成的针对消息M的数字签名。

Description

增强安全的SM9数字签名协同生成方法及系统
技术领域
本发明属于信息安全技术领域,特别是增强安全的SM9数字签名协同生成方法及系统。
背景技术
SM9是由国家密码管理局颁布的一种基于双线性映射(配对运算)的标识密码算法,其中的双线性映射(配对运算)为:
e:G1×G2→GT时,其中G1、G2是加法循环群,GT是一个乘法循环群, G1、G2、GT的阶是素数n(注:在SM9规范中,G1、G2、GT的阶用的是大写字母N,本专利申请采用小写n),即若P、Q、R分别为G1、G2中的元,则 e(P,Q)为GT中的元,且:
e(P+R,Q)=e(P,Q)e(R,Q),
e(P,Q+R)=e(P,Q)e(P,R),
e(aP,bQ)=e(P,Q)ab
基于SM9密码算法能实现基于标识的数字签名、密钥交换及数据加密。在SM9密码算法中,使用用户的SM9私钥dA针对消息M生成数字签名的过程如下:
计算得到w=g^r,这里符号^表示幂运算(g的r次幂),r是在[1,n-1] 区间内随机选择的整数,n是SM9密码算法的群G1、G2、GT的阶,g=e(P1,Ppub), P1为G1中的生成元,Ppub为主公钥(即Ppub=[s]P2,s为主私钥或主密钥, P2为G2中的生成元,参见SM9规范);
然后,计算h=H2(M||w,n),其中H2为SM9中规定的散列函数,M||w 表示M和w的字串合并,n为G1、G2、GT的阶(参见SM9规范);
若r≠h,计算S=[r-h]dA,则(h,S)为生成的数字签名;若r=h,则重新选择r,重新计算w、h,直到r≠h。
针对一些特殊的需求,比如,为了保证非硬件环境下用户私钥使用的安全性,人们提出了一些基于秘密共享(分享)的SM9数字签名生成方法。在这些方法中,多个装置分别保存有用户SM9私钥的秘密份额,或者分别保存有与私钥有关的秘密的秘密份额;在需要使用用户私钥针对一个消息M生成数字签名时,每个装置利用自己的秘密份额与其他装置交互、协同运算,生成针对消息的数字签名。
现有的基于秘密共享的SM9数字签名协同生成方案,通常在密码运算的过程中计算w=g^(a1r1+…+amrm),其中ri是第i个装置在[1,n-1]中随机选择的整数,而ai是常数,i=1,…,m(假设有m个装置);然后计算 h=H2(M||w,n),最后m个装置通过协同计算得到S=[(a1r1+…+amrm)-h]dA。这种方案通常是没有问题的,但也可能出现一种情况,就是恰好出现(a1r1+…+amrm)mod n=0,而出现这样情况恰好被其中一个装置观测到(比如通过检查w是否是单位元),但却不报告,则这个装置就有可能从最终得到的数字签名(h,S)中得到用户的SM9私钥。出现这种情况的概率虽然极小,但是仍然有可能发生,尤其是在ri很难做到是真正随机选择的情况下。
如果基于秘密共享的数字签名协同生成方案能做到所采用的方案是 w=g^(ar1…rm),S=[(a1r1…rm)-h]dA,即这里的r1,…,rm以及一个常数a 是以乘积的形式出现,则不会出现(ar1…rm)mod n=0的情况,这样的方案具有更高的安全性。我们在这里把r1,…,rm以及常数a是以乘积形式出现的情形称为乘积r参数的情形,而把生成数字签名过程中r1,…,rm以及常数a以乘积形式出现的SM9数字签名协同生成方法,称为具有乘积r参数的SM9数字签名协同生成方法。
发明内容
本发明的目的是提出增强安全的数字签名协同生成技术方案,即具有乘积r参数的数字签名协同生成技术方案。
针对本发明的目的,本发明提出的技术方案包括两种增强安全的SM9 数字签名协同生成方法及相应的系统。
在以下对本发明技术方案的描述中,若P、Q是加法群G1、G2中的元,则P+Q表示P、Q在加法群上的加,P-Q表示P加上Q的逆元(加法逆元), [k]P表示k个P在加法群上的加,即P+P+...+P(共有k个P)(若k是负数,则是|k|个P相加的结果的加法逆元;这里[]符号的使用与SM9规范一致);
省略号“...”,表示多个同样(类型)的数据项或多个同样的运算;
若a、b是乘法群GT中的元,则ab或a·b表示a、b在乘法群GT上的乘(只要不产生无二义性,“·”可以省略),a-1表示a在乘法群中逆元 (乘法逆元),at表示t个a在乘法群GT上相乘(t是负数,则是|t|个a 相乘的结果的乘法逆元),即幂运算,at的另一种表达方式是a^t;
若c为整数,则c-1表示整数c的模n乘法逆(即cc-1mod n=1);如无特别说明,本专利发明中整数的乘法逆都是针对群G1、G2、GT的阶n的模n乘法逆;
多个整数相乘(包括整数符号相乘、常数与整数符号相乘),在不产生二义性的情况下,省略掉乘号“·”,如k1·k2简化为k1k2,3·c,简化为3c;
mod n表示模n运算(modulo operation),对应于SM9规范中的modN;还有,模n运算的算子mod n的优先级是最低的,如a+b mod n等同于 (a+b)mod n,a-b mod n等同于(a-b)mod n,ab mod n等同于(ab)mod n。
本发明提出的两个增强安全的SM9数字签名协同生成方法具体如下。
方案一、
方案一确定的具有增强安全的SM9数字签名协同生成方法如下:
方法涉及两个分别标号为第1号和第2号的装置;
用户的身份标识IDA所对应的SM9标识私钥dA被分成了两份,分别是 dA1、dA2,且满足关系dA1+dA2=dA
第1号装置保存有秘密(份额)dA1,第2号装置保存有[1,n-1]区间内的整数秘密c(第2号装置不必保存dA2),其中n为SM9密码算法中群 G1、G2、GT的阶(为素数);两个装置都不保存有dA;([1,n-1]中的整数秘密通常是在[1,n-1]中随机选择的一个整数,或者是从[1,n-1]中随机选择的整数所导出的整数)
在初始化阶段计算有:
PB=[b]dA,其中b是[1,n-1]中的第1号、第2号装置都没有保存的整数秘密;
PA2=[c-1]dA2,其中c-1是c的模n乘法逆(即(c-1c)mod n=1);
gB=g^b,其中,符号^表示针对符号^前面的元素进行幂运算,符号^ 后面的元素是幂运算的次数,g=e(P1,Ppub),其中P1为G1中的生成元,Ppub为主公钥(即Ppub=[s]P2,s为主私钥或主密钥,P2为G2中的生成元,参见SM9规范);
当需要使用用户的SM9标识私钥dA针对消息M进行数字签名时,两个装置按如下方式进行数字签名的生成(需要使用用户的SM9标识私钥dA、针对消息M进行数字签名的主体可以是调用这两个装置的密码应用程序、系统或密码模块,或者两个装置之一中的密码应用程序、系统):
首先,两个装置通过交互计算得到w=gB^(r1r2),其中r1是第1号装置在[1,n-1]区间内随机选择的整数,r2是第2号装置在[1,n-1]区间内随机选择的整数;
然后,(第1号或第2号装置或其他装置)计算h=H2(M||w,n),其中 H2为SM9中规定的散列函数,M||w表示M和w的字串合并,n为G1、G2、 GT的阶;
(h无需保密,可根据需要自由传送)
(第1号或第2号装置或其他装置)检查w与g^h是否相等,若w=g^h,则两个装置重新进行w的计算,直到w≠g^h;
第1号装置计算S1=[(r1)-1]PA2或S1=[(r1)-1h]PA2,将S1发送给第2号装置;
(此时S1=[(cr1)-1]dA2或S1=[(cr1)-1h]dA2)
第2号装置接收到S1后,按如下方式计算S2
若S1的计算式是S1=[(r1)-1]PA2,则S2=[r2]PB+[-hc]S1
若S1的计算式是S1=[(r1)-1h]PA2,则S2=[r2]PB+[-c]S1
(此时S2=[r2b]dA+[-(r1)-1h]dA2)
第2号装置将S2发送给第1号装置;
接收到S2后,第1号装置检查S2是否为零元,若S2为零元,则第1 号装置报错,中止计算或两个装置重新开始计算,否则(S2不为零元),第1号装置计算S=[r1]S2+[-h]dA1
(此时S=[(r1r2)b-h]dA)
则(h,S)为生成的针对消息M的数字签名。
可选地,第1号装置或其他装置可以利用用户的身份标识IDA、消息 M,验证(h,S)作为消息M的数字签名的有效性,但这不是必须的。
对于以上所述方案一确定的方法,(初始化阶段)将用户的身份标识 IDA所对应的SM9标识私钥dA分成(秘密份额)dA1、dA2的方法包括:
知道dA的装置在[1,n-1]中随机选择两个整数c1、c2且(c1+c2)mod n ≠0,然后计算dA1=[c1(c1+c2)-1]dA,dA2=[c2(c1+c2)-1]dA,其中(c1+c2)-1是(c1+c2) 的模n乘法逆,则dA1、dA2为所求;
或者,知道dA的装置在[2,n-1]中随机选择一个整数t,然后计算 dA1=[t]dA,dA2=dA-dA1,则dA1、dA2为所求;
或者,知道dA的装置在[1,n-1]中随机选择一个整数t,然后计算 dA1=[t]P1,dA2=dA-dA1,其中P1是SM9双线性映射中的群G1的生成元;若 dA2不是零元,则dA1、dA2为所求,若dA2是零元,则重新选择t,重新计算 dA1、dA2,直到dA2不是零元;
所述知道dA的装置是第1号装置、第2号装置中的一个装置,或者两个装置之外的一个装置(比如标识私钥生成系统,或其他密钥服务系统)。
对于以上所述方案一确定的方法,两个装置按如下方式计算得到 w=gB^(r1r2):
第2号装置计算g2=gB^r2,将g2发送第1号装置;
第1号装置计算w=g2^r1
或者,
第1号装置计算g1=gB^r1,将g1发送第2号装置;
第2号装置计算w=g1^r2,之后将w发送第1号装置。
对于以上所述方案一确定的方法,若在计算得到S之前,未检查w 与g^h是否相等,则在计算得到S后,若(计算S的装置或其他装置) 检查发现S为零元,则两个装置重新进行数字签名的生成。
方案二、
方案二确定的具有增强安全的SM9数字签名协同生成方法如下:
方法同样涉及两个分别标号为第1号和第2号的装置;
同样地,用户的身份标识IDA所对应的SM9标识私钥dA被分成了两份,分别是dA1、dA2,且满足关系dA1+dA2=dA
第1号装置保存有秘密(份额)dA1,第2号装置保存有秘密(份额) dA2;两个装置都不保存有dA
在初始化阶段计算有:
PB=[b]dA,其中b是[1,n-1]中的第1号、第2号装置都没有保存的整数秘密,n为SM9密码算法中群G1、G2、GT的阶(为素数);([1,n-1] 中的整数秘密通常是在[1,n-1]中随机选择的一个整数,或者是从[1,n-1] 中随机选择的整数所导出的整数)
gB=g^(2b),其中,符号^表示针对符号^前面的元素进行幂运算,符号^后面的元素是幂运算的次数,g=e(P1,Ppub),其中P1为G1中的生成元, Ppub为主公钥(即Ppub=[s]P2,s为主私钥或主密钥,P2为G2中的生成元,参见SM9规范);
当需要使用用户的SM9标识私钥dA针对消息M进行数字签名时,两个装置按如下方式进行数字签名的生成(需要使用用户的SM9标识私钥 dA、针对消息M进行数字签名的主体可以是调用这两个装置的密码应用程序、系统或密码模块,或者两个装置之一中的密码应用程序、系统):
首先,两个装置通过交互计算得到w=gB^(r1r2),其中r1是第1号装置在[1,n-1]区间内随机选择的整数,r2是第2号装置在[1,n-1]区间内随机选择的整数;
然后,(第1号或第2号装置或其他装置)计算h=H2(M||w,n),其中 H2为SM9中规定的散列函数,M||w表示M和w的字串合并,n为G1、G2、 GT的阶;
(h无需保密,可根据需要自由传送)
(第1号或第2号装置或其他装置)检查w与g^h是否相等,若w=g^h,则两个装置重新进行w的计算,直到w≠g^h;
第1号装置计算S1=[r1]PB,将S1发送给第2号装置;
(此时S1=[(r1b]dA)
第2号装置计算S2=[r2]PB,将S2发送给第1号装置;
(此时S2=[(r2b]dA)
接收到S2后,第1号装置检查S2是否为零元,若S2为零元,则第1 号装置报错,中止计算或两个装置重新开始计算,否则(S2不为零元),第1号装置计算S3=[r1]S2+[-h]dA1
(此时S3=[(r2r1)b]dA+[-h]dA1)
接收到S1后,第2号装置检查S1是否为零元,若S1为零元,则第2 号装置报错,中止计算或两个装置重新开始计算,否则(S1不为零元),第2号装置计算S4=[r2]S1+[-h]dA2
(此时S4=[(r2r1)b]dA+[-h]dA2)
之后,第1号或第2号装置或其他装置计算S=S3+S4
(此时S=[2(r2r1)b]dA+[-h]dA)
则(h,S)为生成的针对消息M的数字签名。
可选地,第1号或第2号装置或其他装置可利用用户的身份标识IDA、消息M,验证(h,S)作为消息M的数字签名的有效性,但这不是必须的。
对于以上所述方案二确定的方法,(初始化阶段)将用户的身份标识 IDA所对应的SM9标识私钥dA分成(秘密份额)dA1、dA2的方法与方案一相同。
对于以上所述方案二确定的方法,两个装置得到w=gB^(r1r2)的方式与方案一相同。
对于以上所述方案二确定的方法,同样地,若在计算得到S之前,未检查w与g^h是否相等,则在计算得到S后,若(计算S的装置或其他装置)检查发现S为零元,则两个装置重新进行数字签名的生成。
对于以上方案一、二,可构建相应的SM9数字签名协同生成系统,系统包括两个装置,两个装置按前述具有乘积r参数的SM9数字签名协同生成方法的方案一或方案二生成针对消息的数字签名。
从以上描述可以看到,通过本发明的方法和系统,当需要使用用户标识私钥dA对消息进行数字签名时,两个装置可以通过交互协同生成针对消息的数字签名,且协同计算过程采用的是具有乘积r参数的方案,而且对于本发明方法,利用用户的标识私钥、消息M对生成的数字签名的有效性进行验证不是必须的(不会造成秘密泄露),而对于某些类似的方法,进行这种验证是必须的(否则会造成秘密泄露),因此,相对于采用非乘积r参数的方法,本发明的方法具有增强的安全性。
具体实施方式
下面结合实施例对本发明作进一步的描述。以下实施例仅是本发明列举的几个可能的实施例,不代表全部可能的实施例,不作为对本发明的限定。
实施例1、
此实施例涉及两个分别标号为第1号和第2号的装置。
在初始化阶段,知道dA的装置在[1,n-1]中随机选取一个整数c、一个整数b,计算PB=[b]dA,gB=g^b;
之后,在[1,n-1]中随机选择两个整数c1、c2且(c1+c2)mod n≠0,然后计算dA1=[c1(c1+c2)-1]dA,dA2=[c2(c1+c2)-1]dA,其中(c1+c2)-1是(c1+c2)的模n乘法逆;
或者,知道dA的装置在[2,n-1]中随机选择一个整数t,然后计算 dA1=[t]dA,dA2=dA-dA1
或者,知道dA的装置在[1,n-1]中随机选择一个整数t,然后计算 dA1=[t]P1,dA2=dA-dA1,其中P1是SM9双线性映射中的群G1的生成元;若 dA2是零元,则重新选择t,重新计算dA1、dA2,直到dA2不是零元;
得到dA1、dA2后,计算PA2=[c-1]dA2
然后将dA1作为秘密由第1号装置保存,将c作为秘密由第2号装置保存;
之后,将b、dA、dA2销毁;PA2、PB和gB由需要使用的装置使用。
这里知道dA的装置是第1号、第2号两个装置中的一个装置,或两个装置之外的一个装置(如标识私钥生成系统、密钥服务系统)。
当需要使用用户的SM9标识私钥dA针对消息M进行数字签名时,两个装置按前述SM9数字签名协同生成方法的方案一生成针对消息M的数字签名。
实施例2、
此实施例同样涉及两个分别标号为第1号和第2号的装置。
在初始化阶段,知道dA的装置在[1,n-1]中随机选取一个整数b,计算PB=[b]dA,gB=g^b;
之后,在[1,n-1]中随机选择两个整数c1、c2且(c1+c2)mod n≠0,然后计算dA1=[c1(c1+c2)-1]dA,dA2=[c2(c1+c2)-1]dA,其中(c1+c2)-1是(c1+c2)的模 n乘法逆;
或者,知道dA的装置在[2,n-1]中随机选择一个整数t,然后计算 dA1=[t]dA,dA2=dA-dA1
或者,知道dA的装置在[1,n-1]中随机选择一个整数t,然后计算dA1=[t]P1,dA2=dA-dA1,其中P1是SM9双线性映射中的群G1的生成元;若 dA2是零元,则重新选择t,重新计算dA1、dA2,直到dA2不是零元;
然后将dA1作为秘密由第1号装置保存,将dA2作为秘密由第2号装置保存;
之后,将b、dA销毁;PB和gB由需要使用的装置使用。
这里知道dA的装置是第1号、第2号两个装置中的一个装置,或两个装置之外的一个装置(如标识私钥生成系统、密钥服务系统)。
当需要使用用户的SM9标识私钥dA针对消息M进行数字签名时,两个装置按前述SM9数字签名协同生成方法的方案二生成针对消息M的数字签名。
依据本发明的方法可以构建相应的SM9数字签名协同生成系统,系统包括两个装置,其中一个被标号为第1号装置,另一个被标号为第2 号装置,这两个装置可以都是提供密码服务的密码服务器,或者两个装置中的一个装置是用户装置,另一个是提供密码服务的密码服务器,或者两个装置都是用户装置(比如一个是台式计算机,一个是移动终端),两个装置通过实施本发明的SM9数字签名协同生成方法的方案一或方案二,包括实施前述实施例1-2,通过交互协同生成使用用户的SM9标识私钥dA、针对消息的数字签名。
其他未说明的具体技术实施,对于相关领域的技术人员而言是众所周知,不言自明的。

Claims (10)

1.一种增强安全的SM9数字签名协同生成方法,其特征是:
所述方法涉及两个分别标号为第1号和第2号的装置;
用户的身份标识IDA所对应的SM9标识私钥dA被分成了两份,分别是dA1、dA2,且满足关系dA1+dA2=dA
第1号装置保存有秘密dA1,第2号装置保存有[1,n-1]区间内的整数秘密c,其中n为SM9密码算法中群G1、G2、GT的阶;两个装置都不保存有dA
在初始化阶段计算有:
PB=[b]dA,其中b是[1,n-1]中的第1号、第2号装置都没有保存的整数秘密;
PA2=[c-1]dA2,其中c-1是c的模n乘法逆;
gB=g^b,其中,符号^表示针对符号^前面的元素进行幂运算,符号^后面的元素是幂运算的次数,g=e(P1,Ppub),其中P1为G1中的生成元,Ppub为主公钥;
当需要使用用户的SM9标识私钥dA针对消息M进行数字签名时,两个装置按如下方式进行数字签名的生成:
首先,两个装置通过交互计算得到w=gB^(r1r2),其中r1是第1号装置在[1,n-1]区间内随机选择的整数,r2是第2号装置在[1,n-1]区间内随机选择的整数;
然后,计算h=H2(M||w,n),其中H2为SM9中规定的散列函数,M||w表示M和w的字串合并,n为G1、G2、GT的阶;
检查w与g^h是否相等,若w=g^h,则两个装置重新进行w的计算,直到w≠g^h;
第1号装置计算S1=[(r1)-1]PA2或S1=[(r1)-1h]PA2,将S1发送给第2号装置;
第2号装置接收到S1后,按如下方式计算S2
若S1的计算式是S1=[(r1)-1]PA2,则S2=[r2]PB+[-hc]S1
若S1的计算式是S1=[(r1)-1h]PA2,则S2=[r2]PB+[-c]S1
第2号装置将S2发送给第1号装置;
接收到S2后,第1号装置检查S2是否为零元,若S2为零元,则第1号装置报错,中止计算或两个装置重新开始计算,否则,第1号装置计算S=[r1]S2+[-h]dA1
则(h,S)为生成的针对消息M的数字签名。
2.根据权利要求1所述的增强安全的SM9数字签名协同生成方法,其特征是:将用户的身份标识IDA所对应的SM9标识私钥dA分成dA1、dA2的方法包括:
知道dA的装置在[1,n-1]中随机选择两个整数c1、c2且(c1+c2)mod n≠0,然后计算dA1=[c1(c1+c2)-1]dA,dA2=[c2(c1+c2)-1]dA,其中(c1+c2)-1是(c1+c2)的模n乘法逆,则dA1、dA2为所求;
或者,知道dA的装置在[2,n-1]中随机选择一个整数t,然后计算dA1=[t]dA,dA2=dA-dA1,则dA1、dA2为所求;
或者,知道dA的装置在[1,n-1]中随机选择一个整数t,然后计算dA1=[t]P1,dA2=dA-dA1,其中P1是SM9双线性映射中的群G1的生成元;若dA2不是零元,则dA1、dA2为所求,若dA2是零元,则重新选择t,重新计算dA1、dA2,直到dA2不是零元;
所述知道dA的装置是第1号装置、第2号装置中的一个装置,或者两个装置之外的一个装置。
3.根据权利要求1所述的增强安全的SM9数字签名协同生成方法,其特征是:两个装置按如下方式计算得到w=gB^(r1r2):
第2号装置计算g2=gB^r2,将g2发送第1号装置;
第1号装置计算w=g2^r1
或者,
第1号装置计算g1=gB^r1,将g1发送第2号装置;
第2号装置计算w=g1^r2,之后将w发送第1号装置。
4.根据权利要求1所述的增强安全的SM9数字签名协同生成方法,其特征是:
若在计算得到S之前,未检查w与g^h是否相等,则在计算得到S后,若检查发现S为零元,则两个装置重新进行数字签名的生成。
5.一种基于权利要求1-4中任一项所述的增强安全的SM9数字签名协同生成方法的SM9数字签名协同生成系统,其特征是:
所述系统包括两个分别标号为第1号、第2号的装置;当需要使用用户的SM9标识私钥dA针对消息M进行数字签名时,两个装置按所述SM9数字签名协同生成方法生成针对消息M的数字签名。
6.一种增强安全的SM9数字签名协同生成方法,其特征是:
所述方法涉及两个分别标号为第1号和第2号的装置;
用户的身份标识IDA所对应的SM9标识私钥dA被分成了两份,分别是dA1、dA2,且满足关系dA1+dA2=dA
第1号装置保存有秘密dA1,第2号装置保存有秘密dA2;两个装置都不保存有dA
在初始化阶段计算有:
PB=[b]dA,其中b是[1,n-1]中的第1号、第2号装置都没有保存的整数秘密,n为SM9密码算法中群G1、G2、GT的阶;
gB=g^(2b),其中,符号^表示针对符号^前面的元素进行幂运算,符号^后面的元素是幂运算的次数,g=e(P1,Ppub),其中P1为G1中的生成元,Ppub为主公钥;
当需要使用用户的SM9标识私钥dA针对消息M进行数字签名时,两个装置按如下方式进行数字签名的生成:
首先,两个装置通过交互计算得到w=gB^(r1r2),其中r1是第1号装置在[1,n-1]区间内随机选择的整数,r2是第2号装置在[1,n-1]区间内随机选择的整数;
然后,计算h=H2(M||w,n),其中H2为SM9中规定的散列函数,M||w表示M和w的字串合并,n为G1、G2、GT的阶;
检查w与g^h是否相等,若w=g^h,则两个装置重新进行w的计算,直到w≠g^h;
第1号装置计算S1=[r1]PB,将S1发送给第2号装置;
第2号装置计算S2=[r2]PB,将S2发送给第1号装置;
接收到S2后,第1号装置检查S2是否为零元,若S2为零元,则第1号装置报错,中止计算或两个装置重新开始计算,否则,第1号装置计算S3=[r1]S2+[-h]dA1
接收到S1后,第2号装置检查S1是否为零元,若S1为零元,则第2号装置报错,中止计算或两个装置重新开始计算,否则,第2号装置计算S4=[r2]S1+[-h]dA2
之后,第1号或第2号装置或其他装置计算S=S3+S4
则(h,S)为生成的针对消息M的数字签名。
7.根据权利要求6所述的增强安全的SM9数字签名协同生成方法,其特征是:将用户的身份标识IDA所对应的SM9标识私钥dA分成dA1、dA2的方法包括:
知道dA的装置在[1,n-1]中随机选择两个整数c1、c2且(c1+c2)mod n≠0,然后计算dA1=[c1(c1+c2)-1]dA,dA2=[c2(c1+c2)-1]dA,其中(c1+c2)-1是(c1+c2)的模n乘法逆,则dA1、dA2为所求;
或者,知道dA的装置在[2,n-1]中随机选择一个整数t,然后计算dA1=[t]dA,dA2=dA-dA1,则dA1、dA2为所求;
或者,知道dA的装置在[1,n-1]中随机选择一个整数t,然后计算dA1=[t]P1,dA2=dA-dA1,其中P1是SM9双线性映射中的群G1的生成元;若dA2不是零元,则dA1、dA2为所求,若dA2是零元,则重新选择t,重新计算dA1、dA2,直到dA2不是零元;
所述知道dA的装置是第1号装置、第2号装置中的一个装置,或者两个装置之外的一个装置。
8.根据权利要求6所述的增强安全的SM9数字签名协同生成方法,其特征是:两个装置按如下方式计算得到w=gB^(r1r2):
第2号装置计算g2=gB^r2,将g2发送第1号装置;
第1号装置计算w=g2^r1
或者,
第1号装置计算g1=gB^r1,将g1发送第2号装置;
第2号装置计算w=g1^r2,之后将w发送第1号装置。
9.根据权利要求6所述的增强安全的SM9数字签名协同生成方法,其特征是:
若在计算得到S之前,未检查w与g^h是否相等,则在计算得到S后,若检查发现S为零元,则两个装置重新进行数字签名的生成。
10.一种基于权利要求6-9中任一项所述的增强安全的SM9数字签名协同生成方法的SM9数字签名协同生成系统,其特征是:
所述系统包括两个分别标号为第1号、第2号的装置;当需要使用用户的SM9标识私钥dA针对消息M进行数字签名时,两个装置按所述SM9数字签名协同生成方法生成针对消息M的数字签名。
CN201910425471.XA 2019-05-21 2019-05-21 增强安全的sm9数字签名协同生成方法及系统 Active CN110166235B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910425471.XA CN110166235B (zh) 2019-05-21 2019-05-21 增强安全的sm9数字签名协同生成方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910425471.XA CN110166235B (zh) 2019-05-21 2019-05-21 增强安全的sm9数字签名协同生成方法及系统

Publications (2)

Publication Number Publication Date
CN110166235A true CN110166235A (zh) 2019-08-23
CN110166235B CN110166235B (zh) 2020-08-11

Family

ID=67631809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910425471.XA Active CN110166235B (zh) 2019-05-21 2019-05-21 增强安全的sm9数字签名协同生成方法及系统

Country Status (1)

Country Link
CN (1) CN110166235B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110943842A (zh) * 2019-11-18 2020-03-31 武汉理工大学 一种sm9数字签名安全协同生成方法及系统
CN112019352A (zh) * 2020-09-07 2020-12-01 北京三未信安科技发展有限公司 一种sm9快速签名方法、系统及电子设备
CN115314208A (zh) * 2022-07-04 2022-11-08 武汉理工大学 一种安全可控的sm9数字签名生成方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102761413A (zh) * 2011-04-27 2012-10-31 航天信息股份有限公司 p元域SM2椭圆曲线公钥密码算法的实现系统
US8971528B2 (en) * 2013-01-29 2015-03-03 Certicom Corp. Modified elliptic curve signature algorithm for message recovery
CN106850229A (zh) * 2017-01-22 2017-06-13 武汉理工大学 基于乘积秘密分割的sm2数字签名生成方法及系统
CN107248909A (zh) * 2017-03-16 2017-10-13 北京百旺信安科技有限公司 一种基于sm2算法的无证书安全签名方法
CN107968710A (zh) * 2017-11-27 2018-04-27 武汉理工大学 Sm9数字签名分离交互生成方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102761413A (zh) * 2011-04-27 2012-10-31 航天信息股份有限公司 p元域SM2椭圆曲线公钥密码算法的实现系统
US8971528B2 (en) * 2013-01-29 2015-03-03 Certicom Corp. Modified elliptic curve signature algorithm for message recovery
CN106850229A (zh) * 2017-01-22 2017-06-13 武汉理工大学 基于乘积秘密分割的sm2数字签名生成方法及系统
CN107248909A (zh) * 2017-03-16 2017-10-13 北京百旺信安科技有限公司 一种基于sm2算法的无证书安全签名方法
CN107968710A (zh) * 2017-11-27 2018-04-27 武汉理工大学 Sm9数字签名分离交互生成方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110943842A (zh) * 2019-11-18 2020-03-31 武汉理工大学 一种sm9数字签名安全协同生成方法及系统
CN110943842B (zh) * 2019-11-18 2023-03-28 武汉理工大学 一种sm9数字签名安全协同生成方法及系统
CN112019352A (zh) * 2020-09-07 2020-12-01 北京三未信安科技发展有限公司 一种sm9快速签名方法、系统及电子设备
CN112019352B (zh) * 2020-09-07 2024-02-27 三未信安科技股份有限公司 一种sm9快速签名方法、系统及电子设备
CN115314208A (zh) * 2022-07-04 2022-11-08 武汉理工大学 一种安全可控的sm9数字签名生成方法及系统
CN115314208B (zh) * 2022-07-04 2024-04-02 武汉理工大学 一种安全可控的sm9数字签名生成方法及系统

Also Published As

Publication number Publication date
CN110166235B (zh) 2020-08-11

Similar Documents

Publication Publication Date Title
CN107819585B (zh) Sm9数字签名协同生成方法及系统
CN107968710B (zh) Sm9数字签名分离交互生成方法及系统
CN110213057B (zh) 具有乘积r参数的SM9数字签名协同生成方法及系统
US8429408B2 (en) Masking the output of random number generators in key generation protocols
CN107707358B (zh) 一种ec-kcdsa数字签名生成方法及系统
CN107733648B (zh) 一种基于身份的rsa数字签名生成方法及系统
CN106603246B (zh) 一种sm2数字签名分割生成方法及系统
CN110120939B (zh) 一种基于异构系统的可否认认证的加密方法和系统
CN106850229B (zh) 基于乘积秘密分割的sm2数字签名生成方法及系统
CN109951292B (zh) 精简的sm9数字签名分离交互生成方法及系统
CN107872322A (zh) 基于同态加密的数字签名协同生成方法及系统
CN110166235B (zh) 增强安全的sm9数字签名协同生成方法及系统
CN107104793B (zh) 一种数字签名生成方法及系统
CN101626364A (zh) 一类可基于口令、抗秘密数据泄露的认证和密钥交换方法
CN109905229B (zh) 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和系统
CN110519051B (zh) r参数和秘密双乘积的SM9签名协同生成方法及系统
CN109962783B (zh) 基于递进计算的sm9数字签名协同生成方法及系统
CN110380855B (zh) 支持多方协同增强安全的sm9数字签名生成方法及系统
CN110299998B (zh) 借助中间参数的sm9数字签名协同生成方法及系统
CN110266486B (zh) 基于乘积秘密共享的sm9数字签名简捷生成方法及系统
EP2395698B1 (en) Implicit certificate generation in the case of weak pseudo-random number generators
CN109905236B (zh) 基于私钥池的抗量子计算Elgamal加解密方法和系统
Meng et al. A secure and efficient on-line/off-line group key distribution protocol
Chen et al. Blockchain as a CA: A provably secure signcryption scheme leveraging blockchains
CN110166256B (zh) 具有乘积r参数的SM9数字签名多方协同生成方法及系统

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