CN109951292B - 精简的sm9数字签名分离交互生成方法及系统 - Google Patents

精简的sm9数字签名分离交互生成方法及系统 Download PDF

Info

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
Application number
CN201910126538.XA
Other languages
English (en)
Other versions
CN109951292A (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 CN201910126538.XA priority Critical patent/CN109951292B/zh
Publication of CN109951292A publication Critical patent/CN109951292A/zh
Application granted granted Critical
Publication of CN109951292B publication Critical patent/CN109951292B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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数字签名分离交互生成方法及系统。
背景技术
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的数字签名。
CN201910126538.XA 2019-02-20 2019-02-20 精简的sm9数字签名分离交互生成方法及系统 Active CN109951292B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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数字签名分离交互生成方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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