CN109951292B - 精简的sm9数字签名分离交互生成方法及系统 - Google Patents
精简的sm9数字签名分离交互生成方法及系统 Download PDFInfo
- Publication number
- CN109951292B CN109951292B CN201910126538.XA CN201910126538A CN109951292B CN 109951292 B CN109951292 B CN 109951292B CN 201910126538 A CN201910126538 A CN 201910126538A CN 109951292 B CN109951292 B CN 109951292B
- Authority
- CN
- China
- Prior art keywords
- digital signature
- devices
- generation method
- interaction generation
- calculates
- 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
Links
Landscapes
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
Abstract
发明涉及SM9数字签名的分离交互生成方法:装置1有[1,n‑1]内的整数秘密c,n为G1、G2、GT的阶;装置2有秘密PA=[c‑1]dA,dA是用户的SM9私钥;当需使用dA针对消息M数字签名时,两装置先协同计算w=g^(c‑1(r2+r1))或w=g^(c‑1r2+r1)),其中g=e(P1,Ppub),r1、r2是装置1、2在[1,n‑1]中任选的整数,^为幂运算;装置1或2计算h=H2(M||w,n);装置1计算s1=(r1‑ch)mod n(对应w第一个算式)或s1=(cr1‑ch)mod n,将s1发送给装置2;装置2计算S=(r2+s1)PA,则(h,S)为生成的数字签名。
Description
技术领域
本发明属于信息安全技术领域,特别是一种精简的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数字签名分离交互生成方法及系统”(专利申请号:201711206787.7)中提出了一种基于秘密分割的数字签名分离交互生成方案,基于此方案,在需要使用用户SM9私钥针对一个消息生成数字签名时,两个分享有用户SM9私钥秘密的装置,通过在线交互协同生成针对消息的数字签名。专利申请201711206787.7的技术方案可以进一步简化,以提高计算效率。
发明内容
本发明的目的是对现有的SM9数字签名分离交互生成技术方案进行进一步地简化,以提高计算效率。
针对本发明的目的,本发明提出的技术方案是一种精简的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;
若a为整数,则a-1表示整数c的模n乘法逆(即aa-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数字签名分离交互生成方法具体如下。
所述方法涉及两个分别标号为第1号和第2号的装置;第1号装置保存有[1,n-1]区间内的整数秘密c,其中n为SM9密码算法中群G1、G2、GT的阶(为素数);第2号装置保存有秘密PA=[c-1]dA(第2号装置没有保存c和dA),其中dA是用户的身份标识IDA所对应的SM9标识私钥,c-1为c的模n乘法逆;
当需要使用用户的SM9标识私钥dA针对消息M进行数字签名时,两个装置按如下方式进行数字签名的生成(需要使用用户的SM9标识私钥dA、针对消息M进行数字签名的主体可以是调用这两个装置的密码应用程序、系统或密码模块,或者两个装置之一中的密码应用程序、系统):
首先,两个装置协同计算得到w=g^(c-1(r2+r1))或w=g^(c-1r2+r1),其中r1、r2分别是第1号、第2号装置在[1,n-1]区间内随机选择的整数,^表示(对符号左边的群元g进行)幂运算,g=e(P1,Ppub),P1为G1中的生成元,Ppub为主公钥(即Ppub=[s]P2,s为主私钥或主密钥,P2为G2中的生成元,参见SM9规范);
之后,第1号或第2号装置计算h=H2(M||w,n),其中H2为SM9中规定的散列函数,M||w表示M和w的字串合并,n为G1、G2、GT的阶;
(h无需保密,可自由传送)
然后,第1号装置按如方式计算s1:
若w的计算式为w=g^(c-1(r2+r1)),则s1=(r1-ch)mod n;
若w的计算式为w=g^(c-1r2+r1),则s1=(cr1-ch)mod n;
第1号装置将s1发送给第2号装置;
第2号装置接收到s1后,计算S=[(r2+s1)mod n]PA;
则(h,S)为生成的针对消息M的数字签名。
对于以上所述SM9数字签名分离交互生成方法,两个装置协同计算得到w=g^(c-1(r2+r1))或w=g^(c-1r2+r1)的一种方式如下:
在初始化阶段,(第1号装置或其他装置)预先计算得到gc=g^(c-1),第2号装置保存gc;若gc是由第1号装置之外的其他装置计算,则计算gc的装置在完成gc计算后将c销毁;
若要计算w=g^(c-1(r2+r1)),则第1号装置计算w1=gc^r1;
若要计算w=g^(c-1r2+r1),则第1号装置计算w1=g^r1;
第2号装置计算w2=gc^(r2);
之后,第1号或第2号装置计算w=w2w1。
对于以上所述SM9数字签名分离交互生成方法,可选地,在第1号或第2号装置完成计算h=H2(M||w,n)后,在第1号装置计算s1前,第1号或第2号装置检查w与g^h是否相等,若w=g^h,则两个装置重新进行w的计算,直到w≠g^h;
或者,若第2号装置在计算S之前,若检查发现(r2+s1)mod n的值为零,则两个装置重新开始计算w,直到(r2+s1)mod n不为零。
对于以上所述SM9数字签名分离交互生成方法,可选地,在返回或接受数字签名(h,S)前,第2号装置利用用户的身份标识IDA、消息M,验证(h,S)作为消息M的数字签名的有效性,若有效,则(h,S)是针对消息M的数字签名,返回或接受数字签名(h,S),否则,第2号装置报错,或者两个装置重新进行生成针对消息M的数字签名。
对于以上所述SM9数字签名分离交互生成方法,在初始化阶段,预先知道dA的装置(可以是两个装置中的一个装置或两个装置之外的一个装置)在[1,n-1]区间内随机选择一个整数c,计算得到PA=[c-1]dA,然后将dA销毁,c由第1号装置保存,PA由第2号装置保存;若PA是由第1号装置计算,则第1号装置完成PA计算后将PA销毁;若PA是由第2号装置计算,则第2号装置完成PA计算后将c销毁。
基于以上所述SM9数字签名分离交互生成方法,可构建相应的SM9数字签名分离交互生成系统,系统包括两个装置,其中一个装置作为前面所述第1号装置,另一个装置作为前面所述第2号装置,当需要使用用户的SM9私钥dA针对消息M生成数字签名时,所述两个装置按所述SM9数字签名分离交互生成方法生成针对消息M的数字签名。
从以上描述可以看到,通过本发明的方法,当需要使用用户标识私钥dA对消息进行数字签名时,两个装置可以分离交互生成针对消息的数字签名;相对于现有技术,本发明的方法使用了更少的参数,更简单的计算式,这些都提高了计算效率。
附图说明
无。
具体实施方式
下面结合实施例对本发明作进一步的描述。以下实施例仅是本发明列举的几个可能的实施例,不代表全部可能的实施例,不作为对本发明的限定。
实施例1、
此实施例涉及两个装置,其中一个装置是移动或微小智能装置,比如,智能移动终端、智能穿戴装置、智能传感器等,此移动或微小智能装置作为第1号装置,另一个装置是位于网络上的密码服务器;第1号装置保存有[1,n-1]内的整数秘密c,第2号装置保存有秘密PA=[c-1]dA,其中dA是用户SM9私钥。
当第1号装置或第1号装置中的应用程序需要使用用户SM9私钥dA对消息M进行数字签名时,所述第1号装置和第2号装置采用前面所述的精简的SM9数字签名分离交互生成方法,通过网络交互,协同生成针对消息M的数字签名。
实施例2、
此实施例涉及两个装置,其中一个移动或微小智能装置,比如,智能移动终端、智能穿戴装置、智能传感器等,此移动或微小智能装置作为一个便携式密码装置实施SM9密码运算,此移动或微小智能装置作为第1号装置,另一个装置是位于网络上的密码服务器;第1号装置保存有[1,n-1]内的整数秘密c,第2号装置保存有秘密PA=[c-1]dA,其中dA是用户SM9私钥。
当一个应用程序或系统调用作为便携式密码装置的第1号装置,使用用户SM9私钥dA对消息M进行数字签名时,所述第1号装置和第2号装置采用前面所述的精简的SM9数字签名分离交互生成方法,通过网络交互,协同生成针对消息M的数字签名。
实施例3、
此实施例涉及两个装置,其中一个装置是用户计算装置(如台式计算机、服务器),此用户计算装置作为第1号装置,另一个装置是位于网络上的密码服务器;第1号装置保存有[1,n-1]内的整数秘密c,第2号装置保存有秘密PA=[c-1]dA,其中dA是用户SM9私钥。
当第1号装置或第1号装置中的应用程序需要使用用户SM9私钥dA对消息M进行数字签名时,所述第1号装置和第2号装置采用前面所述的精简的SM9数字签名分离交互生成方法,通过网络交互,协同生成针对消息M的数字签名。
实施例4、
此实施例涉及两个装置,两个装置都是位于网络上的密码服务器,其中一个是第1号密码服务器,另一个作为第2号密码服务;第1号装置保存有[1,n-1]内的整数秘密c,第2号装置保存有秘密PA=[c-1]dA,其中dA是用户SM9私钥。
当一个应用程序或系统调用第1号装置或第2号装置,使用用户SM9私钥dA对消息M进行数字签名时,所述第1号装置和第2号装置采用前面所述的精简的SM9数字签名分离交互生成方法,通过网络交互,协同生成针对消息M的数字签名。
依据本发明的方法可以构建相应的SM9数字签名分离交互生成系统,系统包括两个装置,这两个装置可以都是提供密码服务的密码服务器,或者两个装置中的一个装置是用户装置,另一个是提供密码服务的密码服务器,其中用户装置是一个移动或微小智能装置,或者是一个计算装置(如台式计算机、服务器);两个装置中的一个被标号为第1号装置,另一个被标号为第2号装置,若两个装置中的一个装置是资源受限装置,则此资源受限装置作为第1号装置;第1号装置保存有[1,n-1]内的整数秘密c,第2号装置保存有秘密PA=[c-1]dA,其中dA是用户SM9私钥;当需要使用用户的SM9私钥dA对消息M生成数字签名时,两个装置通过实施本发明的精简的SM9数字签名分离交互生成方法,交互协同生成使用用户的SM9标识私钥dA针对消息M的数字签名。
其他未说明的具体技术实施,对于相关领域的技术人员而言是众所周知,不言自明的。
Claims (5)
1.一种精简的SM9数字签名分离交互生成方法,其特征是:
所述方法涉及两个分别标号为第1号和第2号的装置;第1号装置保存有[1,n-1]区间内的整数秘密c,其中n为SM9密码算法中群G1、G2、GT的阶;第2号装置保存有秘密PA=[c-1]dA,其中dA是用户的身份标识IDA所对应的SM9标识私钥,c-1为c的模n乘法逆;
当需要使用用户的SM9标识私钥dA针对消息M进行数字签名时,两个装置按如下方式进行数字签名的生成:
首先,两个装置协同计算得到w=g^(c-1(r2+r1))或w=g^(c-1r2+r1),其中r1、r2分别是第1号、第2号装置在[1,n-1]区间内随机选择的整数,^表示幂运算,g=e(P1,Ppub),P1为G1中的生成元,Ppub为主公钥;
之后,第1号或第2号装置计算h=H2(M||w,n),其中H2为SM9中规定的散列函数,M||w表示M和w的字串合并,n为G1、G2、GT的阶;
然后,第1号装置按如方式计算s1:
若w的计算式为w=g^(c-1(r2+r1)),则s1=(r1-ch)mod n;
若w的计算式为w=g^(c-1r2+r1),则s1=(cr1-ch)mod n;
第1号装置将s1发送给第2号装置;
第2号装置接收到s1后,计算S=[(r2+s1)mod n]PA;
则(h,S)为生成的针对消息M的数字签名。
2.根据权利要求1所述的精简的SM9数字签名分离交互生成方法,其特征是:
两个装置协同计算得到w=g^(c-1(r2+r1))或w=g^(c-1r2+r1)的一种方式如下:
在初始化阶段,预先计算得到gc=g^(c-1),第2号装置保存gc;若gc是由第1号装置之外的其他装置计算,则计算gc的装置在完成gc计算后将c销毁;
若要计算w=g^(c-1(r2+r1)),则第1号装置计算w1=gc^r1;
若要计算w=g^(c-1r2+r1),则第1号装置计算w1=g^r1;
第2号装置计算w2=gc^(r2);
之后,第1号或第2号装置计算w=w2w1。
3.根据权利要求1所述的精简的SM9数字签名分离交互生成方法,其特征是:
在第1号或第2号装置完成计算h=H2(M||w,n)后,在第1号装置计算s1前,第1号或第2号装置检查w与g^h是否相等,若w=g^h,则两个装置重新进行w的计算,直到w≠g^h;
或者,若第2号装置在计算S之前,若检查发现(r2+s1)mod n的值为零,则两个装置重新开始计算w,直到(r2+s1)mod n不为零。
4.根据权利要求1所述的精简的SM9数字签名分离交互生成方法,其特征是:
在初始化阶段,预先知道dA的装置在[1,n-1]区间内随机选择一个整数c,计算得到PA=[c-1]dA,然后将dA销毁,c由第1号装置保存,PA由第2号装置保存;若PA是由第1号装置计算,则第1号装置完成PA计算后将PA销毁;若PA是由第2号装置计算,则第2号装置完成PA计算后将c销毁。
5.一种基于权利要求1-4中任一项所述的精简的SM9数字签名分离交互生成方法的SM9数字签名分离交互生成系统,其特征是:
所述系统包括两个装置,其中一个装置作为所述第1号装置,另一个装置作为所述第2号装置,当需要使用用户的SM9私钥dA针对消息M生成数字签名时,所述两个装置按所述SM9数字签名分离交互生成方法生成针对消息M的数字签名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910126538.XA CN109951292B (zh) | 2019-02-20 | 2019-02-20 | 精简的sm9数字签名分离交互生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910126538.XA CN109951292B (zh) | 2019-02-20 | 2019-02-20 | 精简的sm9数字签名分离交互生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109951292A CN109951292A (zh) | 2019-06-28 |
CN109951292B true CN109951292B (zh) | 2020-08-04 |
Family
ID=67008014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910126538.XA Active CN109951292B (zh) | 2019-02-20 | 2019-02-20 | 精简的sm9数字签名分离交互生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109951292B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110266486B (zh) * | 2019-07-02 | 2021-06-04 | 武汉理工大学 | 基于乘积秘密共享的sm9数字签名简捷生成方法及系统 |
CN110299998B (zh) * | 2019-07-04 | 2020-09-04 | 武汉理工大学 | 借助中间参数的sm9数字签名协同生成方法及系统 |
CN110557260B (zh) * | 2019-08-26 | 2020-08-04 | 武汉理工大学 | 一种sm9数字签名生成方法及装置 |
CN111082932B (zh) * | 2019-12-25 | 2023-03-28 | 武汉理工大学 | 一种抗抵赖的标识私钥生成和数字签名方法及系统和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395368A (zh) * | 2017-08-18 | 2017-11-24 | 北京无字天书科技有限公司 | 无介质环境中的数字签名方法及解密封方法与解密方法 |
CN107438005A (zh) * | 2017-06-21 | 2017-12-05 | 深圳奥联信息安全技术有限公司 | Sm9联合数字签名方法和装置 |
CN107819585A (zh) * | 2017-11-17 | 2018-03-20 | 武汉理工大学 | Sm9数字签名协同生成方法及系统 |
CN107968710A (zh) * | 2017-11-27 | 2018-04-27 | 武汉理工大学 | Sm9数字签名分离交互生成方法及系统 |
-
2019
- 2019-02-20 CN CN201910126538.XA patent/CN109951292B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107438005A (zh) * | 2017-06-21 | 2017-12-05 | 深圳奥联信息安全技术有限公司 | Sm9联合数字签名方法和装置 |
CN107395368A (zh) * | 2017-08-18 | 2017-11-24 | 北京无字天书科技有限公司 | 无介质环境中的数字签名方法及解密封方法与解密方法 |
CN107819585A (zh) * | 2017-11-17 | 2018-03-20 | 武汉理工大学 | Sm9数字签名协同生成方法及系统 |
CN107968710A (zh) * | 2017-11-27 | 2018-04-27 | 武汉理工大学 | Sm9数字签名分离交互生成方法及系统 |
Non-Patent Citations (1)
Title |
---|
Study on Secret Sharing for SM2 Digital Signature and Its Application;Fan Ding 等;《2018 14th International Conference on Computational Intelligence and Security (CIS)》;20181206;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109951292A (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107819585B (zh) | Sm9数字签名协同生成方法及系统 | |
CN109951292B (zh) | 精简的sm9数字签名分离交互生成方法及系统 | |
US20180359097A1 (en) | Digital signing by utilizing multiple distinct signing keys, distributed between two parties | |
CN107733648B (zh) | 一种基于身份的rsa数字签名生成方法及系统 | |
CN107968710B (zh) | Sm9数字签名分离交互生成方法及系统 | |
CN106603246B (zh) | 一种sm2数字签名分割生成方法及系统 | |
CN110120939B (zh) | 一种基于异构系统的可否认认证的加密方法和系统 | |
CN110545279A (zh) | 兼具隐私和监管功能的区块链交易方法、装置及系统 | |
CN110213057B (zh) | 具有乘积r参数的SM9数字签名协同生成方法及系统 | |
CN106850229B (zh) | 基于乘积秘密分割的sm2数字签名生成方法及系统 | |
CN107104793B (zh) | 一种数字签名生成方法及系统 | |
Saranya et al. | Cloud based efficient authentication for mobile payments using key distribution method | |
CN110166235B (zh) | 增强安全的sm9数字签名协同生成方法及系统 | |
Malina et al. | Efficient security solution for privacy-preserving cloud services | |
CN109962783B (zh) | 基于递进计算的sm9数字签名协同生成方法及系统 | |
US9641333B2 (en) | Authentication methods, systems, devices, servers and computer program products, using a pairing-based cryptographic approach | |
Liao et al. | Security analysis of a certificateless provable data possession scheme in cloud | |
CN108055134B (zh) | 椭圆曲线点数乘及配对运算的协同计算方法及系统 | |
CN110519051B (zh) | r参数和秘密双乘积的SM9签名协同生成方法及系统 | |
CN110266486B (zh) | 基于乘积秘密共享的sm9数字签名简捷生成方法及系统 | |
CN110798313B (zh) | 基于秘密动态共享的包含秘密的数的协同生成方法及系统 | |
CN110380855B (zh) | 支持多方协同增强安全的sm9数字签名生成方法及系统 | |
EP2395698B1 (en) | Implicit certificate generation in the case of weak pseudo-random number generators | |
Meng et al. | A secure and efficient on-line/off-line group key distribution protocol | |
WO2023055371A1 (en) | Replicated secret share generation for distributed symmetric cryptography |
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 |