CN103427997A - 一种生成数字签名的方法及装置 - Google Patents
一种生成数字签名的方法及装置 Download PDFInfo
- Publication number
- CN103427997A CN103427997A CN2013103633497A CN201310363349A CN103427997A CN 103427997 A CN103427997 A CN 103427997A CN 2013103633497 A CN2013103633497 A CN 2013103633497A CN 201310363349 A CN201310363349 A CN 201310363349A CN 103427997 A CN103427997 A CN 103427997A
- Authority
- CN
- China
- Prior art keywords
- digital signature
- parameter
- signature parameter
- elliptic curve
- generating
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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/3252—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种生成数字签名的方法及装置。其方法包括:装置生成满足有效性判定条件的数字签名参数r;利用私钥dA、随机数k、r和椭圆曲线参数n,按照如下公式生成数字签名参数s:s=((1+dA)-1·(r+k)-r)modn,其中,k的取值范围为(1,n-1);判断生成的s是否为0,如果为0,重新生成满足有效性判定条件的r,并利用dA、重新生成的取值范围为(1,n-1)的k、重新生成的r、和n,重新生成s,直至s不为0;将r和不为0的s的数据类型转换为字节串,得到数字签名(r,s)。本发明实施例提供的技术方案,通过使用简化的计算公式获取数字签名参数s,可以减少大整数运算的次数,从而提高了基于SM2数字签名生成算法生成数字签名的运算效率。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种生成数字签名的方法及装置。
背景技术
SM2数字签名算法作为SM2密码算法的一个组成部分,其在用户身份认证和信息完整性校验功能领域得到很好的应用。在SM2数字签名算法应用过程中,算法运算效率一直是算法应用者们所关注的重点。SM2数字签名算法由SM2数字签名生成算法和SM2数字签名验证算法构成。
设待签名的消息为M,为了获取消息M的数字签名(r,s),当用户A需要使用数字签名时,可通过如下SM2数字签名生成算法实现:
A1:置
其中,‖表示级联运算,ZA为通过密码杂凑函数求得的上述生成数字签名的用户A的杂凑值。
A2:计算并将e的数据类型由比特串转换为整数。
其中,Hv()为消息摘要长度为v比特的密码杂凑函数,如SM3密码杂凑算法。
A3:用随机数发生器产生随机数k∈[1,n-1]。
其中,n为椭圆曲线参数。
A4:计算椭圆曲线点(x1,y1)=[k]G,结果x1为域元素,将x1的数据类型转换为整数。
其中,G为椭圆曲线的基点,[k]G表示k与G点乘。
使用的椭圆曲线方程,其类型可选择素数域方程y2=x3+ax+b或二元扩域方程y2+xy=x3+ax2+b。
A5:计算r=(e+x1)modn 公式一
即使用(e+x1)对n求模。
若r=0或r+k=n则返回A3。
A6:计算s=((1+dA)-1·(k-r·dA))modn 公式二
若s=0则返回A3。
其中,dA为上述用户A的私钥。
A7:将r、s的数据类型由整数转换为字节串,消息M的数字签名为(r,s)。
用户A可以是系统或设备,执行上述SM2数字签名生成算法的可以是设置于用户A内部的子系统、硬件模块、在用户A内可执行的软件模块等等,也可以是与用户A有通信连接、被用户A调用的系统或设备。
用户A具有长度为entlenA比特的可辨别标识IDA,记ENTLA是由整数entlenA转换而成的两个字节。在上述SM2数字签名生成算法中,将G的坐标xG、yG和PA的坐标xA、yA的数据类型转换为比特串,则上述ZA=H256(ENTLA‖IDA‖a‖b‖xG‖yG‖xA‖yA)。其中,PA为用户A的公钥,H256()为消息摘要长度为256比特的密码杂凑函数,如SM3密码杂凑算法。
另外,在具体工程实现过程中,本领域技术人员通常会对公式二采用公式三和公式四两种变形,将公式二中(1+dA)-1求负整数指数幂运算转换为(1+dA)-1modn求模逆运算,便于工程实现。
s=(((1+dA)-1modn)·((k-r·dA)modn))modn 公式三
s=(((1+dA)-1modn)·((k-(r·dA)modn)modn))modn 公式四
SM2数字签名生成算法是基于ECC算法理论实现的,实现过程中大整数乘法、大整数模乘运算等大整数运算是影响算法运算效率最为主要的因素,现有的SM2数字签名生成算法虽然能够满足一定的运算效率的需求,但如果希望进一步提高运算效率,现有技术中还没有相应的解决方案。
发明内容
本发明的目的是提供一种生成数字签名的方法及装置,以进一步提高基于SM2数字签名生成算法生成数字签名的运算效率。
本发明的目的是通过以下技术方案实现的:
一种生成数字签名的方法,包括:
装置生成满足有效性判定条件的数字签名参数r;
所述装置利用私钥dA、取值范围为(1,n-1)的随机数k、所述数字签名参数r和椭圆曲线参数n,基于如下公式生成数字签名参数s:
s=((1+dA)-1·(r+k)-r)modn;
所述装置判断生成的数字签名参数s是否为0,如果为0,重新生成满足有效性判定条件的数字签名参数r,并利用所述私钥dA、重新生成的取值范围为(1,n-1)的随机数k、所述重新生成的数字签名参数r、和所述椭圆曲线参数n,重新生成数字签名参数s,直至所述数字签名参数s不为0;
所述装置将最终得到的数字签名参数r和不为0的数字签名参数s的数据类型转换为字节串,得到数字签名(r,s)。
本发明实施例提供的方法,获取数字签名参数s时可以减少大整数运算的次数,从而提高基于SM2数字签名生成算法生成数字签名的运算效率。
较佳地,所述装置基于s=((1+dA)-1·(r+k)-r)modn,生成数字签名参数s,包括:
所述装置将数字签名参数r与随机数k进行大整数加法运算后,使用大整数加法运算结果对椭圆曲线参数n进行求模运算;
所述装置将私钥dA加1后对椭圆曲线参数n进行求模逆运算;
所述装置将求模运算与求模逆运算的运算结果进行大整数乘法运算;
所述装置将该大整数乘法运算结果减去数字签名参数r后对椭圆曲线参数n进行求模运算,得到数字签名参数s。
通过上述处理过程生成数字签名参数s,可减少1次大整数乘法或1次大整数模乘运算。
在上述任意实施例基础上,较佳地,生成数字签名参数s之前,该方法还可以包括:
所述装置获取r的有效性判定条件运算结果r+k,以便利用私钥dA、r的有效性判定条件运算结果r+k、所述数字签名参数r、和椭圆曲线参数n生成数字签名参数s。
生成数字签名参数s时,可以直接使用r的有效性判定条件运算结果(r+k),进一步提高运算效率。
在上述任意实施例基础上,较佳地,生成数字签名参数s之前,该方法还可以包括:
所述装置获取r的有效性判定条件运算结果(r+k)modn,以便利用私钥dA、r的有效性判定条件运算结果(r+k)modn、所述数字签名参数r、和椭圆曲线参数n生成数字签名参数s。
由于避免了(r·dA)modn的运算,因此,可以减少1次大整数模乘运算。
一种生成数字签名的装置,包括:
参数输入接口单元,用于获取杂凑值ZA和待签名的消息M;
随机数发生器,用于生成取值范围为(1,n-1)的随机数k;
ECC算法运算单元,用于根据所述随机数发生器生成的随机数k进行椭圆曲线算法点乘运算(x1,y1)=kG,得到椭圆曲线点横坐标x1,其中G为椭圆曲线参数;
数据类型转换单元,用于将所述密码杂凑算法运算单元生成的消息摘要信息e的数据类型转换为整数类型,还用于将所述ECC算法运算单元生成的椭圆曲线点横坐标x1的数据类型转换为整数类型;
大整数运算单元,用于利用所述数据类型转换单元进行数据类型转换的消息摘要信息e和椭圆曲线点横坐标x1,生成数字签名参数r;
有效性判定单元,用于对所述大整数运算单元生成的数字签名参数r进行有效性判定;
如果所述数字签名参数r不满足有效性判定条件,所述随机数发生器重新生成取值范围为(1,n-1)的随机数k;所述ECC算法运算单元根据所述随机数发生器重新生成的随机数k重新得到椭圆曲线点横坐标x1;所述数据类型转换单元对重新得到的椭圆曲线点横坐标x1进行数据类型转换;所述大整数运算单元根据所述消息摘要信息e和重新生成的椭圆曲线点横坐标x1,重新生成数字签名参数r,并利用重新生成的数字签名参数r和重新生成的随机数k,所述有效性判定单元对重新生成的数字签名参数r进行有效性判定;
所述大整数运算单元还用于,利用私钥dA、所述随机数发生器生成的所述随机数k、所述数字签名参数r、和椭圆曲线参数n,基于如下公式生成数字签名参数s:s=((1+dA)-1·(r+k)-r)modn;
所述有效性判定单元还用于,判断所述大整数运算单元生成的数字签名参数s是否为0;
如果为0,所述随机数发生器重新生成取值范围为(1,n-1)的随机数k,所述大整数运算单元重新生成数字签名参数r,并在所述重新生成的数字签名参数r满足有效性判定条件时,利用所述私钥dA、重新生成的取值范围为(1,n-1)的随机数k、所述重新生成的数字签名参数r、和所述椭圆曲线参数n,重新生成数字签名参数s;
所述数据类型转换单元还用于,将所述大整数运算单元最终生成的数字签名参数r和不为0的数字签名参数s的数据类型转换为字节串,得到数字签名(r,s);
参数输出接口单元,用于输出数字签名(r,s)。
本发明实施例提供的装置,获取数字签名参数s时可以减少大整数运算的次数,从而提高基于SM2数字签名生成算法生成数字签名的运算效率。
较佳地,生成数字签名参数s时,所述大整数运算单元具体用于:
将所述数字签名参数r与所述随机数发生器生成的所述随机数k进行大整数加法运算后,使用大整数加法运算结果对椭圆曲线参数n进行求模运算;
将私钥dA加1后对椭圆曲线参数n进行求模逆运算;
将所述求模运算结果与所述求模逆运算结果进行大整数乘法运算;
将所述大整数乘法运算结果减去所述数字签名参数r后对椭圆曲线参数n进行求模运算,得到数字签名参数s。
通过上述处理过程生成数字签名参数s,可减少1次大整数乘法或1次大整数模乘运算。
在上述任意装置实施例基础上,较佳地,如果所述有效性判定单元使用数字签名参数r的有效性判定条件运算结果r+k对数字签名参数r的有效性进行判定,所述大整数运算单元在生成所述数字签名参数r后,还用于利用生成的数字签名参数r和所述随机数发生器生成的所述随机数k,生成数字签名参数r的有效性判定条件运算结果r+k;
生成数字签名参数s时,所述大整数运算单元用于:
使用所述r的有效性判定条件运算结果r+k对椭圆曲线参数n进行求模运算;
将私钥dA加1后对椭圆曲线参数n进行求模逆运算;
将所述求模运算结果与所述求模逆运算结果进行大整数乘法运算;
将所述大整数乘法运算结果减去所述数字签名参数r后对椭圆曲线参数n进行求模运算,得到数字签名参数s。
生成数字签名参数s时,可以直接使用r的有效性判定条件运算结果(r+k),进一步提高运算效率。
在上述任意装置侧实施例基础上,较佳地,如果所述有效性判定单元使用数字签名参数r的有效性判定条件运算结果(r+k)modn对数字签名参数r的有效性进行判定,所述大整数运算单元在生成所述数字签名参数r后,还用于利用生成的数字签名参数r、所述随机数发生器生成的所述随机数k和椭圆曲线参数n,生成数字签名参数r的有效性判定条件运算结果(r+k)modn;
生成数字签名参数s时,所述大整数运算单元用于:
将私钥dA加1后对椭圆曲线参数n进行求模逆运算;
将所述r的有效性判定条件运算结果(r+k)modn与所述求模逆运算结果进行大整数乘法运算;
将所述大整数乘法运算结果减去所述数字签名参数r后对椭圆曲线参数n进行求模运算,得到数字签名参数s。
由于避免了(r·dA)modn的运算,因此,可以减少1次大整数模乘运算。
在上述任意实施例基础上,大整数运算单元所使用的私钥,既可以由该装置生成,也可以从外部获取。下面举例说明:
方式一:
所述装置还包括:
密钥生成单元,用于生成所述私钥dA;
密钥存储单元,用于保存所述密钥生成单元生成的所述私钥dA;所述大整数运算单元从所述密钥存储单元中获取所述私钥dA以生成数字签名参数s。
方式二:
所述参数输入接口单元还用于获取所述私钥dA;所述大整数运算单元从所述参数输入接口单元获取所述私钥dA以生成数字签名参数s。
方式三:
所述装置还包括密钥存储单元;所述参数输入接口单元还用于获取所述私钥dA;所述密钥存储单元用于保存所述参数输入接口单元获取的所述私钥dA;所述大整数运算单元从所述密钥存储单元获取所述私钥dA以生成数字签名参数s。
附图说明
图1为本发明实施例提供的第一种方法流程图;
图2为本发明实施例提供的第二种方法流程图;
图3为本发明实施例提供的第三种方法流程图;
图4为本发明实施例提供的装置结构示意图。
具体实施方式
本发明实施例提供了一种生成数字签名的技术方案,装置在生成满足有效性判定条件的数字签名参数r后,利用私钥dA、取值范围为(1,n-1)的随机数k、数字签名参数r和椭圆曲线参数n,基于如下公式生成数字签名参数s:s=((1+dA)-1·(r+k)-r)modn,判断生成的数字签名参数s是否为0,如果为0,重新生成满足有效性判定条件的数字签名参数r,并利用所述私钥dA、重新生成的取值范围为(1,n-1)的随机数k、所述重新生成的数字签名参数r、和所述椭圆曲线参数n,重新生成数字签名参数s,直至所述数字签名参数s不为0,将最终得到的数字签名参数r和不为0的数字签名参数s的数据类型转换为字节串后,得到数字签名(r,s)。获取数字签名参数s时可以减少大整数运算的次数,从而提高了基于SM2数字签名生成算法生成数字签名的运算效率。
下面将结合附图,对本发明实施例提供的技术方案进行详细描述。
本发明实施例提供的一种生成数字签名的方法如图1所示,具体包括如下操作:
步骤100、装置生成满足有效性判定条件的数字签名参数r。
其中,满足有效性判定条件是指,得到的数字签名参数r不为0,并且r+k不为n。n为椭圆曲线参数,k为取值范围是(1,n-1)的随机数。
可以但不仅限于采用SM2数字签名生成算法中计算r的方式生成满足有效性判定条件的数字签名参数r。
步骤110、该装置利用私钥dA、上述随机数k、上述数字签名参数r和上述椭圆曲线参数n,基于如下公式生成数字签名参数s:
s=((1+dA)-1·(r+k)-r)modn 公式五
其中,公式五是上述公式二的简化形式,基于公式五生成数字签名参数s,不用进行r·dA运算,可以减少一次大整数运算。
s=((1+dA)-1·(k-r·dA))modn
公式化简的原理如下:=((1+dA)-1·(k-r·dA+r-r))modn
=((1+dA)-1·((r+k)-r(1+dA)))modn
=((1+dA)-1·(r+k)-r)modn
其中,私钥dA是数字签名使用者(例如上述用户A)的私钥。该数字签名使用者可以是系统或设备,具体的,数字签名使用者可以是用户设备(UE),也可以是参与身份认证的网络节点,如基站、移动性管理实体(MME)等等。
步骤120、该装置判断生成的数字签名参数s是否为0,如果不为0,执行步骤130,如果为0,重新生成满足有效性判定条件的数字签名参数r,并利用上述私钥dA、重新生成的取值范围为(1,n-1)的随机数k、重新生成的数字签名参数r、和上述椭圆曲线参数n,重新生成数字签名参数s,直至生成的数字签名参数s不为0。
步骤130、该装置将最终得到的数字签名参数r和不为0的数字签名参数s的数据类型转换为字节串,得到数字签名(r,s)。
执行上述操作生成数字签名的数字签名生成者可以是设置于数字签名使用者内部的子系统、硬件模块、在数字签名使用者内可执行的软件模块等等,也可以是与数字签名使用者有通信连接、被数字签名使用者调用的系统或设备。
对于数字签名使用者的私钥,如果数字签名生成者是设置于数字签名使用者内部的子系统、硬件模块、在数字签名使用者内可执行的软件模块等等,则数字签名生成者可以生成该密钥并保存。对于数字签名使用者的私钥,数字签名生成者也可以从数字签名使用者处获取并保存,还可以从数字签名使用者处获取并应用,但不保存。
在实际应用过程中,基于公式五,具体可以通过不同的实现方式得到数字签名参数s,从而减少一次大整数乘法运算或者大整数模乘运算。
一种优选的实现方式中,该装置利用私钥dA、随机数k、上述数字签名参数r、和椭圆曲线参数n,按照如下公式生成数字签名参数s:
s=(((1+dA)-1modn)·((r+k)modn)-r)modn 公式六
该公式六是s=((1+dA)-1·(r+k)-r)modn的变形。
也就是说,上述装置将数字签名参数r与随机数k进行大整数加法运算后,使用大整数加法运算结果对椭圆曲线参数n进行求模运算;将私钥dA加1后对椭圆曲线参数n进行求模逆运算,将求模运算与求模逆运算的运算结果进行大整数乘法运算,将该大整数乘法运算结果减去数字签名参数r后对椭圆曲线参数n进行求模运算,得到数字签名参数s。
公式化简的原理如下:
s=((1+dA)-1·(r+k)-r)modn
=((((1+dA)-1modn)·((r+k)modn))modn-rmodn)modn
=(((1+dA)-1modn)·((r+k)modn)-r)modn
在该优选的实现方式中,在计算数字签名参数s时,利用该公式六实现。
应当指出的是,生成数字签名参数s的具体实现方式不仅限于该优选实施例。在本发明实施例提出了简化的公式五后,基于公式五的具体实现公式是本领域技术人员不需要付出创造性劳动即可得到的,也在本发明的保护范围之内。
在上述任一实施例的基础上,为了进一步提高生成数字签名的运算效率,还可以在生成数字签名参数s之前,获取r的有效性判定条件运算结果r+k。该装置可以直接利用r的有效性判定条件运算结果r+k,私钥dA、上述数字签名参数r和椭圆曲线参数n,生成数字签名参数s。
在上述任一实施例的基础上,为了进一步提高生成数字签名的运算效率,还可以在生成数字签名参数s之前,获取r的有效性判定条件运算结果(r+k)modn。该装置可以直接利用r的有效性判定条件运算结果(r+k)modn,私钥dA、上述数字签名参数r和椭圆曲线参数n,生成数字签名参数s。该优选的实现方式中,根据有效性判定条件运算结果(r+k)modn判断r的有效性与根据有效性判定条件运算结果r+k判断r的有效性等效,其等效原理是:在SM2数字签名生成算法中,数字签名参数r和随机数k的取值范围均在(1,n-1)之间,因此r+k的取值范围在(2,2n-2)之间,故(r+k)modn=0与r+k=n等效。相应的,在生成满足判定性条件的数字签名参数r的过程中,可以判断是否(r+k)modn=0代替判断是否r+k=n。
假设待签名的消息为M,下面以公式六为例,结合图2对获取M的数字签名(r,s)的一种实现方式进行详细说明。该实现方式具体包括如下操作:
步骤200、将数字签名使用者的杂凑值与消息M进行级联运算,即:置
步骤220、用随机数发生器产生随机数k∈[1,n-1]。
步骤230、计算椭圆曲线点(x1,y1)=[k]G,结果x1为域元素,将x1的数据类型转换为整数。
步骤240、生成数字签名参数r,即:计算r=(e+x1)modn 公式一
步骤250、对r进行有效性判定:假设t=r+k,判断r和t的取值,如果r=0或t=n,则r不满足有效性判定条件,返回步骤220,如果r≠0且t≠n,则r满足有效性判定条件,执行步骤260。
步骤260、利用数字签名使用者的私钥dA、r的有效性判定条件运算结果r+k、数字签名参数r、和椭圆曲线参数n,按照如下公式生成数字签名参数s:
s=(((1+dA)-1modn)·(tmodn)-r)modn 公式七
应当指出的是,公式七即上述的公式六。区别仅在于,公式七表示的含义是:生成数字签名s时,不需要重复计算r+k,而是利用r的有效性判定条件运算结果r+k。
步骤270、判断s的取值是否为0,若s=0,返回步骤220,否则,执行步骤280。
步骤280、将得到的数字签名参数r、s的数据类型由整数转换为字节串,得到消息M的数字签名为(r,s)。
图2所示的实施例中,利用公式七生成数字签名参数s,可减少1次大整数乘法或1次大整数模乘运算,且在使用公式七生成数字签名参数s时,可以直接使用r的有效性判定条件运算结果(r+k),进一步提高运算效率。
假设待签名的消息为M,下面以公式六为例,结合图3对获取M的数字签名(r,s)的一种实现方式进行详细说明。该实现方式具体包括如下操作:
步骤300、将数字签名使用者的杂凑值与消息M进行级联运算,即:置
步骤320、用随机数发生器产生随机数k∈[1,n-1]。
步骤330、计算椭圆曲线点(x1,y1)=[k]G,结果x1为域元素,将x1的数据类型转换为整数。
步骤340、生成数字签名参数r,即:计算r=(e+x1)modn 公式一
步骤350、对r进行有效性判定:假设t=(r+k)modn,判断r和t的取值,如果r=0或t=0,则r不满足有效性判定条件,返回步骤320,如果r≠0且t≠0,则r满足有效性判定条件,执行步骤360。
步骤360、利用数字签名使用者的私钥dA、r的有效性判定条件运算结果(r+k)modn、数字签名参数r、和椭圆曲线参数n,按照如下公式生成数字签名参数s:
s=(((1+dA)-1modn)·t-r)modn 公式八
应当指出的是,公式八即上述的公式六。区别仅在于,公式八表示的含义是:生成数字签名s时,不需要重复计算(r+k)modn,而是利用r的有效性判定条件运算结果(r+k)modn。
步骤370、判断s的取值是否为0,若s=0,返回步骤320,否则,执行步骤380。
步骤380、将得到的数字签名参数r、s的数据类型由整数转换为字节串,得到消息M的数字签名为(r,s)。
图3所示的实施例中,利用公式八生成数字签名参数s,可减少1次大整数乘法或1次大整数模乘运算,且在使用公式八生成数字签名参数s时,可以直接使用r的有效性判定条件运算结果(r+k)modn,进一步提高运算效率。
另外,需说明,利用本发明方案对生成数字签名的方法进行改进时,相对于公式三将节省一次大整数乘法运算,相对于公式四将节省一次大整数模乘运算。
基于与方法相同的发明构思,本发明实施例还提供一种生成数字签名的装置,其结构如图4所示,具体包括:
参数输入接口单元401,用于获取杂凑值ZA和待签名的消息M。
参数输入接口单元401将获取的杂凑值ZA和待签名的消息M输出给级联运算单元402。
密码杂凑算法运算单元403将生成的消息摘要信息输出给数据类型转换单元406。
随机数发生器404,用于生成取值范围为(1,n-1)的随机数k。
随机数发生器404将生成的随机数发送给ECC算法运算单元405。
ECC算法运算单元405,用于根据所述随机数发生器404生成的随机数k进行椭圆曲线算法点乘运算(x1,y1)=kG,得到椭圆曲线点横坐标x1,其中G为椭圆曲线参数。
ECC算法运算单元405将得到的椭圆曲线点横坐标x1输出给数据类型转换单元406。
数据类型转换单元406,用于将所述密码杂凑算法运算单元403生成的消息摘要信息e的数据类型转换为整数类型,还用于将所述ECC算法运算单元405生成的椭圆曲线点横坐标x1的数据类型转换为整数类型。
数据类型转换单元406将转换类型后的消息摘要信息e和椭圆曲线点横坐标x1输出给大整数运算单元407。
大整数运算单元407,用于利用所述数据类型转换单元406进行数据类型转换的消息摘要信息e和椭圆曲线点横坐标x1,生成数字签名参数r。
大整数运算单元407将生成的数字签名参数r输出给有效性判定单元408。
有效性判定单元408,用于对所述大整数运算单元407生成的数字签名参数r进行有效性判定。
如果所述数字签名参数r不满足有效性判定条件,所述随机数发生器404重新生成取值范围为(1,n-1)的随机数k;所述ECC算法运算单元405根据所述随机数发生器404重新生成的随机数k重新得到椭圆曲线点横坐标x1;所述数据类型转换单元406对重新得到的椭圆曲线点横坐标x1进行数据类型转换;所述大整数运算单元407根据所述消息摘要信息e和重新生成的椭圆曲线点横坐标x1,重新生成数字签名参数r,并利用重新生成的数字签名参数r和重新生成的随机数k,所述有效性判定单元408对重新生成的数字签名参数r进行有效性判定。
其中,如果所述数字签名参数r不满足有效性判定条件,既可以由有效性判定单元408触发随机数发生器404重新生成随机数,也可以通过另外设置的控制单元触发随机数发生器404重新生成随机数。
所述大整数运算单元407还用于,利用私钥dA、所述随机数发生器404生成的所述随机数k、所述数字签名参数r、和椭圆曲线参数n,基于如下公式生成数字签名参数s:s=((1+dA)-1·(r+k)-r)modn;
所述有效性判定单元408还用于,判断所述大整数运算单元407生成的数字签名参数s是否为0;
如果为0,所述随机数发生器404重新生成取值范围为(1,n-1)的随机数k,所述大整数运算单元407重新生成数字签名参数r,并在所述重新生成的数字签名参数r满足有效性判定条件时,利用所述私钥dA、重新生成的取值范围为(1,n-1)的随机数k、所述重新生成的数字签名参数r、和所述椭圆曲线参数n,重新生成数字签名参数s;
所述数据类型转换单元406还用于,将所述大整数运算单元407最终生成的数字签名参数r和不为0的数字签名参数s的数据类型转换为字节串,得到数字签名(r,s);
参数输出接口单元409,用于输出数字签名(r,s)。
较佳地,生成数字签名参数s时,所述大整数运算单元407具体用于:
将所述数字签名参数r与所述随机数发生器404生成的所述随机数k进行大整数加法运算后,使用大整数加法运算结果对椭圆曲线参数n进行求模运算;
将私钥dA加1后对椭圆曲线参数n进行求模逆运算;
将所述求模运算结果与所述求模逆运算结果进行大整数乘法运算;
将所述大整数乘法运算结果减去所述数字签名参数r后对椭圆曲线参数n进行求模运算,得到数字签名参数s。
在基于图4所示的实施例基础上,较佳地,如果所述有效性判定单元408使用数字签名参数r的有效性判定条件运算结果r+k对数字签名参数r的有效性进行判定,所述大整数运算单元407在生成所述数字签名参数r后,还用于利用生成的数字签名参数r和所述随机数发生器404生成的所述随机数k,生成数字签名参数r的有效性判定条件运算结果r+k;
生成数字签名参数s时,所述大整数运算单元407用于:
使用所述r的有效性判定条件运算结果r+k对椭圆曲线参数n进行求模运算;
将私钥dA加1后对椭圆曲线参数n进行求模逆运算;
将所述求模运算结果与所述求模逆运算结果进行大整数乘法运算;
将所述大整数乘法运算结果减去所述数字签名参数r后对椭圆曲线参数n进行求模运算,得到数字签名参数s。
在基于图4所示的实施例基础上,较佳地,如果所述有效性判定单元408使用数字签名参数r的有效性判定条件运算结果(r+k)modn对数字签名参数r的有效性进行判定,所述大整数运算单元407在生成所述数字签名参数r后,还用于利用生成的数字签名参数r、所述随机数发生器404生成的所述随机数k和椭圆曲线参数n,生成数字签名参数r的有效性判定条件运算结果(r+k)modn;
生成数字签名参数s时,所述大整数运算单元407用于:
将私钥dA加1后对椭圆曲线参数n进行求模逆运算;
将所述r的有效性判定条件运算结果(r+k)modn与所述求模逆运算结果进行大整数乘法运算;
将所述大整数乘法运算结果减去所述数字签名参数r后对椭圆曲线参数n进行求模运算,得到数字签名参数s。
在基于图4所示的任意实施例基础上,大整数运算单元407所使用的私钥dA可以由本装置生成,也可以从外部获取。下面举例说明:
方式一:
本发明实施例提供的装置还包括密钥生成单元和密钥存储单元。密钥生成单元用于生成所述私钥dA;密钥存储单元用于保存所述密钥生成单元生成的所述私钥dA。
相应的,所述大整数运算单元407从所述密钥存储单元中获取所述私钥dA以生成数字签名参数s。
方式二:
参数输入接口单元401还用于获取所述私钥dA。
相应的,所述大整数运算单元407从所述参数输入接口单元401获取所述私钥dA以生成数字签名参数s。
方式三:
本发明实施例提供的装置还包括密钥存储单元。
所述参数输入接口单元401还用于获取所述私钥dA;所述密钥存储单元用于保存所述参数输入接口单元401获取的所述私钥dA。
相应的,所述大整数运算单元407从所述密钥存储单元获取所述私钥dA以生成数字签名参数s。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种生成数字签名的方法,其特征在于,包括:
装置生成满足有效性判定条件的数字签名参数r;
所述装置利用私钥dA、取值范围为(1,n-1)的随机数k、所述数字签名参数r、和椭圆曲线参数n,基于如下公式生成数字签名参数s:
s=((1+dA)-1·(r+k)-r)modn;
所述装置判断生成的数字签名参数s是否为0,如果为0,重新生成满足有效性判定条件的数字签名参数r,并利用所述私钥dA、重新生成的取值范围为(1,n-1)的随机数k、所述重新生成的数字签名参数r、和所述椭圆曲线参数n,重新生成数字签名参数s,直至所述数字签名参数s不为0;
所述装置将最终得到的数字签名参数r和不为0的数字签名参数s的数据类型转换为字节串,得到数字签名(r,s)。
2.根据权利要求1所述的方法,其特征在于,所述装置基于s=((1+dA)-1·(r+k)-r)modn,生成数字签名参数s,包括:
所述装置将数字签名参数r与随机数k进行大整数加法运算后,使用大整数加法运算结果对椭圆曲线参数n进行求模运算;
所述装置将私钥dA加1后对椭圆曲线参数n进行求模逆运算;
所述装置将求模运算与求模逆运算的运算结果进行大整数乘法运算;
所述装置将该大整数乘法运算结果减去数字签名参数r后对椭圆曲线参数n进行求模运算,得到数字签名参数s。
3.根据权利要求1或2所述的方法,其特征在于,生成数字签名参数s之前,该方法还包括:
所述装置获取r的有效性判定条件运算结果r+k,以便利用私钥dA、r的有效性判定条件运算结果r+k、所述数字签名参数r、和椭圆曲线参数n生成数字签名参数s。
4.根据权利要求1或2所述的方法,其特征在于,生成数字签名参数s之前,该方法还包括:
所述装置获取r的有效性判定条件运算结果(r+k)modn,以便利用私钥dA、r的有效性判定条件运算结果(r+k)modn、所述数字签名参数r、和椭圆曲线参数n生成数字签名参数s。
5.一种生成数字签名的装置,包括:
参数输入接口单元,用于获取杂凑值ZA和待签名的消息M;
密码杂凑算法运算单元,用于将所述级联运算单元生成的进行密码杂凑运算,生成消息摘要信息e;
随机数发生器,用于生成取值范围为(1,n-1)的随机数k;
ECC算法运算单元,用于根据所述随机数发生器生成的随机数k进行椭圆曲线算法点乘运算(x1,y1)=kG,得到椭圆曲线点横坐标x1,其中G为椭圆曲线参数;
数据类型转换单元,用于将所述密码杂凑算法运算单元生成的消息摘要信息e的数据类型转换为整数类型,还用于将所述ECC算法运算单元生成的椭圆曲线点横坐标x1的数据类型转换为整数类型;
大整数运算单元,用于利用所述数据类型转换单元进行数据类型转换的消息摘要信息e和椭圆曲线点横坐标x1,生成数字签名参数r;
有效性判定单元,用于对所述大整数运算单元生成的数字签名参数r进行有效性判定;
如果所述数字签名参数r不满足有效性判定条件,所述随机数发生器重新生成取值范围为(1,n-1)的随机数k;所述ECC算法运算单元根据所述随机数发生器重新生成的随机数k重新得到椭圆曲线点横坐标x1;所述数据类型转换单元对重新得到的椭圆曲线点横坐标x1进行数据类型转换;所述大整数运算单元根据所述消息摘要信息e和重新生成的椭圆曲线点横坐标x1,重新生成数字签名参数r,并利用重新生成的数字签名参数r和重新生成的随机数k,所述有效性判定单元对重新生成的数字签名参数r进行有效性判定;
其特征在于,所述大整数运算单元还用于,利用私钥dA、所述随机数发生器生成的所述随机数k、所述数字签名参数r、和椭圆曲线参数n,基于如下公式生成数字签名参数s:s=((1+dA)-1·(r+k)-r)modn;
所述有效性判定单元还用于,判断所述大整数运算单元生成的数字签名参数s是否为0;
如果为0,所述随机数发生器重新生成取值范围为(1,n-1)的随机数k,所述大整数运算单元重新生成数字签名参数r,并在所述重新生成的数字签名参数r满足有效性判定条件时,利用所述私钥dA、重新生成的取值范围为(1,n-1)的随机数k、所述重新生成的数字签名参数r、和所述椭圆曲线参数n,重新生成数字签名参数s;
所述数据类型转换单元还用于,将所述大整数运算单元最终生成的数字签名参数r和不为0的数字签名参数s的数据类型转换为字节串,得到数字签名(r,s);
参数输出接口单元,用于输出数字签名(r,s)。
6.根据权利要求5所述的装置,其特征在于,生成数字签名参数s时,所述大整数运算单元具体用于:
将所述数字签名参数r与所述随机数发生器生成的所述随机数k进行大整数加法运算后,使用大整数加法运算结果对椭圆曲线参数n进行求模运算;
将私钥dA加1后对椭圆曲线参数n进行求模逆运算;
将所述求模运算结果与所述求模逆运算结果进行大整数乘法运算;
将所述大整数乘法运算结果减去所述数字签名参数r后对椭圆曲线参数n进行求模运算,得到数字签名参数s。
7.根据权利要求5所述的装置,其特征在于,如果所述有效性判定单元使用数字签名参数r的有效性判定条件运算结果r+k对数字签名参数r的有效性进行判定,所述大整数运算单元在生成所述数字签名参数r后,还用于利用生成的数字签名参数r和所述随机数发生器生成的所述随机数k,生成数字签名参数r的有效性判定条件运算结果r+k;
生成数字签名参数s时,所述大整数运算单元用于:
使用所述r的有效性判定条件运算结果r+k对椭圆曲线参数n进行求模运算;
将私钥dA加1后对椭圆曲线参数n进行求模逆运算;
将所述求模运算结果与所述求模逆运算结果进行大整数乘法运算;
将所述大整数乘法运算结果减去所述数字签名参数r后对椭圆曲线参数n进行求模运算,得到数字签名参数s。
8.根据权利要求5所述的装置,其特征在于,如果所述有效性判定单元使用数字签名参数r的有效性判定条件运算结果(r+k)modn对数字签名参数r的有效性进行判定,所述大整数运算单元在生成所述数字签名参数r后,还用于利用生成的数字签名参数r、所述随机数发生器生成的所述随机数k和椭圆曲线参数n,生成数字签名参数r的有效性判定条件运算结果(r+k)modn;
生成数字签名参数s时,所述大整数运算单元用于:
将私钥dA加1后对椭圆曲线参数n进行求模逆运算;
将所述r的有效性判定条件运算结果(r+k)modn与所述求模逆运算结果进行大整数乘法运算;
将所述大整数乘法运算结果减去所述数字签名参数r后对椭圆曲线参数n进行求模运算,得到数字签名参数s。
9.根据权利要求5~8任一项所述的装置,其特征在于,还包括:
密钥生成单元,用于生成所述私钥dA;
密钥存储单元,用于保存所述密钥生成单元生成的所述私钥dA;所述大整数运算单元从所述密钥存储单元中获取所述私钥dA以生成数字签名参数s。
10.根据权利要求5~8任一项所述的装置,其特征在于:
所述参数输入接口单元还用于获取所述私钥dA;所述大整数运算单元从所述参数输入接口单元获取所述私钥dA以生成数字签名参数s;或者,
还包括密钥存储单元;所述参数输入接口单元还用于获取所述私钥dA;所述密钥存储单元用于保存所述参数输入接口单元获取的所述私钥dA;所述大整数运算单元从所述密钥存储单元获取所述私钥dA以生成数字签名参数s。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310363349.7A CN103427997B (zh) | 2013-08-16 | 2013-08-16 | 一种生成数字签名的方法及装置 |
US14/911,143 US10038561B2 (en) | 2013-08-16 | 2014-08-14 | Method and device for generating digital signature |
KR1020167006251A KR101992270B1 (ko) | 2013-08-16 | 2014-08-14 | 디지털 서명 생성 방법 및 장치 |
JP2016533807A JP6353536B2 (ja) | 2013-08-16 | 2014-08-14 | デジタル署名の生成方法及び装置 |
PCT/CN2014/084380 WO2015021934A1 (zh) | 2013-08-16 | 2014-08-14 | 一种生成数字签名的方法及装置 |
EP14836006.8A EP3035590B1 (en) | 2013-08-16 | 2014-08-14 | Method and device for generating digital signature |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310363349.7A CN103427997B (zh) | 2013-08-16 | 2013-08-16 | 一种生成数字签名的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103427997A true CN103427997A (zh) | 2013-12-04 |
CN103427997B CN103427997B (zh) | 2016-06-22 |
Family
ID=49652205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310363349.7A Active CN103427997B (zh) | 2013-08-16 | 2013-08-16 | 一种生成数字签名的方法及装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10038561B2 (zh) |
EP (1) | EP3035590B1 (zh) |
JP (1) | JP6353536B2 (zh) |
KR (1) | KR101992270B1 (zh) |
CN (1) | CN103427997B (zh) |
WO (1) | WO2015021934A1 (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015021934A1 (zh) * | 2013-08-16 | 2015-02-19 | 西安西电捷通无线网络通信股份有限公司 | 一种生成数字签名的方法及装置 |
CN104683102A (zh) * | 2013-11-29 | 2015-06-03 | 上海复旦微电子集团股份有限公司 | 一种sm2签名计算方法和装置 |
CN106712968A (zh) * | 2017-02-22 | 2017-05-24 | 北京智慧云测科技有限公司 | 密钥获取方法、数字签名方法和装置 |
CN106856431A (zh) * | 2015-12-09 | 2017-06-16 | 上海华虹集成电路有限责任公司 | 改进的椭圆曲线数字签名算法及验签方法 |
FR3045253A1 (fr) * | 2015-12-15 | 2017-06-16 | Oberthur Technologies | Procede et dispositif de traitement cryptographique |
CN106899413A (zh) * | 2017-04-07 | 2017-06-27 | 深圳奥联信息安全技术有限公司 | 数字签名验证方法及系统 |
CN103701598B (zh) * | 2013-12-05 | 2017-07-11 | 武汉信安珞珈科技有限公司 | 一种基于sm2签名算法的复核签名方法和数字签名设备 |
CN107040385A (zh) * | 2017-05-23 | 2017-08-11 | 广东工业大学 | 一种基于sm2椭圆曲线的签名验证算法的实现方法及系统 |
CN108667621A (zh) * | 2018-05-14 | 2018-10-16 | 河南科技大学 | 一种椭圆曲线数字签名方法 |
CN108809658A (zh) * | 2018-07-20 | 2018-11-13 | 武汉大学 | 一种基于sm2的身份基的数字签名方法与系统 |
CN109586912A (zh) * | 2018-11-09 | 2019-04-05 | 天津海泰方圆科技有限公司 | 一种sm2数字签名的生成方法、系统、设备及介质 |
CN109698751A (zh) * | 2018-11-09 | 2019-04-30 | 北京中宇万通科技股份有限公司 | 数字签名生成及验签方法、计算机设备和存储介质 |
WO2019174404A1 (zh) * | 2018-03-14 | 2019-09-19 | 西安西电捷通无线网络通信股份有限公司 | 一种群组数字签名、验证方法及其设备和装置 |
CN110278082A (zh) * | 2018-03-14 | 2019-09-24 | 西安西电捷通无线网络通信股份有限公司 | 一种群组数字签名的群组成员发布方法和设备 |
CN110493003A (zh) * | 2019-06-24 | 2019-11-22 | 广东工业大学 | 一种基于四基二进制底层模运算的快速加密系统 |
CN111147250A (zh) * | 2019-12-18 | 2020-05-12 | 北京江南天安科技有限公司 | 一种数字签名方法、装置、发送端、接收端及系统 |
CN114257380A (zh) * | 2021-12-20 | 2022-03-29 | 湖南国科微电子股份有限公司 | 一种数字签名方法、系统及设备 |
WO2023151171A1 (zh) * | 2022-02-10 | 2023-08-17 | 中国科学院信息工程研究所 | 抗内存信息泄露攻击的椭圆曲线数字签名计算方法及装置 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10503510B2 (en) | 2013-12-27 | 2019-12-10 | Intel Corporation | SM3 hash function message expansion processors, methods, systems, and instructions |
US9317719B2 (en) | 2014-09-04 | 2016-04-19 | Intel Corporation | SM3 hash algorithm acceleration processors, methods, systems, and instructions |
US9658854B2 (en) | 2014-09-26 | 2017-05-23 | Intel Corporation | Instructions and logic to provide SIMD SM3 cryptographic hashing functionality |
FR3035986B1 (fr) * | 2015-05-06 | 2018-07-27 | Morpho | Procede de generation d'une signature de message a partir d'un jeton de signature chiffre a l'aide d'une fonction de chiffrement homomorphique |
US10341098B2 (en) * | 2017-01-24 | 2019-07-02 | Nxp B.V. | Method of generating cryptographic key pairs |
US10951422B2 (en) * | 2017-02-22 | 2021-03-16 | CTIA—The Wireless Association | Mobile message source authentication |
CN107294720A (zh) * | 2017-07-07 | 2017-10-24 | 广东工业大学 | 一种素域Fp下的SM2椭圆曲线公钥加密算法的硬件实现系统 |
CN109936455B (zh) * | 2017-12-19 | 2022-06-07 | 航天信息股份有限公司 | 一种数字签名的方法、装置和系统 |
CN108259184B (zh) * | 2018-01-16 | 2021-06-08 | 飞天诚信科技股份有限公司 | 一种基于用户标识的数字签名、验签方法及装置 |
CN109872155A (zh) * | 2019-02-22 | 2019-06-11 | 矩阵元技术(深圳)有限公司 | 数据处理方法和装置 |
CN111066285B (zh) * | 2019-05-31 | 2023-06-30 | 创新先进技术有限公司 | 基于sm2签名恢复公钥的方法 |
CN110535636B (zh) * | 2019-07-19 | 2022-04-15 | 北京向芯力科技有限公司 | 一种轻量级的基于sm2算法的协同签名方法与装置 |
CN110365487A (zh) * | 2019-07-19 | 2019-10-22 | 北京向芯力科技有限公司 | 一种基于sm2算法的协同签名方法与装置 |
KR102449817B1 (ko) * | 2019-09-17 | 2022-09-30 | (주)라닉스 | 확장함수를 이용한 복수의 묵시적 인증서 발급 시스템 및 그 발급 방법 |
CN110990896B (zh) * | 2019-12-03 | 2023-01-06 | 成都卫士通信息产业股份有限公司 | 基于sm2白盒的数字签名装置、方法、存储介质及设备 |
CN111162907B (zh) * | 2019-12-28 | 2023-05-23 | 飞天诚信科技股份有限公司 | 一种协商密钥的生成方法及智能卡设备 |
CN111475856B (zh) * | 2020-04-03 | 2023-12-22 | 数据通信科学技术研究所 | 数字签名方法和验证数字签名的方法 |
CN111861474A (zh) * | 2020-08-04 | 2020-10-30 | 晋商博创(北京)科技有限公司 | 基于cpk的转账方法、用户终端及云端服务器 |
CN112152807B (zh) * | 2020-09-27 | 2022-11-11 | 成都国泰网信科技有限公司 | 一种基于sm2算法的两方协同数字签名方法 |
CN112152808B (zh) * | 2020-09-27 | 2022-11-11 | 成都国泰网信科技有限公司 | 一种基于sm2算法的多方协同数字签名方法 |
CN112100644B (zh) * | 2020-11-19 | 2021-03-16 | 飞天诚信科技股份有限公司 | 一种生成数据签名的方法及装置 |
CN112737778B (zh) * | 2020-12-30 | 2022-08-12 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 数字签名生成、验证方法及装置、电子设备及存储介质 |
CN114285577B (zh) * | 2021-04-27 | 2024-05-03 | 博雅中科(北京)信息技术有限公司 | 多方协同签名方法及系统 |
CN113190862B (zh) * | 2021-05-10 | 2023-01-06 | 成都卫士通信息产业股份有限公司 | 基于sm2的无证书密钥生成方法、装置、电子设备及介质 |
CN113992329B (zh) * | 2021-10-28 | 2023-04-07 | 深圳前海微众银行股份有限公司 | 一种区块链下基于sm2的交易签名方法、装置、设备及介质 |
CN114205081B (zh) * | 2021-12-03 | 2023-12-19 | 中国科学院大学 | 一种保护用户隐私的盲协同签名方法 |
CN114338049B (zh) * | 2022-03-14 | 2022-07-05 | 山东区块链研究院 | 基于模归约的国密算法sm2的快速实现方法及系统 |
CN115208615B (zh) * | 2022-05-20 | 2023-12-19 | 北京科技大学 | 一种数控系统数据加密传输方法 |
CN116032490B (zh) * | 2023-01-09 | 2023-10-03 | 郑州轻工业大学 | 一种基于改进SM2算法的Fabric区块链构建方法 |
CN117041961B (zh) * | 2023-09-05 | 2024-06-11 | 北京电子科技学院 | 基于sm2无证书的车联网终端认证方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2542556A1 (en) * | 2005-06-03 | 2006-12-03 | Tata Consultancy Services Limited | An authentication system executing an elliptic curve digital signature cryptographic process |
US20090016523A1 (en) * | 2007-07-12 | 2009-01-15 | Atmel Corporation | Masking and Additive Decomposition Techniques for Cryptographic Field Operations |
CN101610153A (zh) * | 2008-06-20 | 2009-12-23 | 航天信息股份有限公司 | 基于椭圆曲线签名算法的电子签章认证方法 |
CN102761415A (zh) * | 2011-04-27 | 2012-10-31 | 航天信息股份有限公司 | p元域SM2椭圆曲线的数字签名生成、验证及混合系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100363253B1 (ko) | 2000-01-07 | 2002-11-30 | 삼성전자 주식회사 | 통신에서 비밀키를 생성하는 방법 및 그 장치 |
JP4193176B2 (ja) | 2003-11-11 | 2008-12-10 | 学校法人金沢工業大学 | 楕円曲線整数倍演算装置、ならびにその装置を利用可能な鍵生成装置、暗号化装置および復号装置 |
US8027466B2 (en) * | 2007-03-07 | 2011-09-27 | Research In Motion Limited | Power analysis attack countermeasure for the ECDSA |
US8971528B2 (en) * | 2013-01-29 | 2015-03-03 | Certicom Corp. | Modified elliptic curve signature algorithm for message recovery |
CN103427997B (zh) * | 2013-08-16 | 2016-06-22 | 西安西电捷通无线网络通信股份有限公司 | 一种生成数字签名的方法及装置 |
-
2013
- 2013-08-16 CN CN201310363349.7A patent/CN103427997B/zh active Active
-
2014
- 2014-08-14 KR KR1020167006251A patent/KR101992270B1/ko active IP Right Grant
- 2014-08-14 JP JP2016533807A patent/JP6353536B2/ja active Active
- 2014-08-14 WO PCT/CN2014/084380 patent/WO2015021934A1/zh active Application Filing
- 2014-08-14 US US14/911,143 patent/US10038561B2/en active Active
- 2014-08-14 EP EP14836006.8A patent/EP3035590B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2542556A1 (en) * | 2005-06-03 | 2006-12-03 | Tata Consultancy Services Limited | An authentication system executing an elliptic curve digital signature cryptographic process |
US20090016523A1 (en) * | 2007-07-12 | 2009-01-15 | Atmel Corporation | Masking and Additive Decomposition Techniques for Cryptographic Field Operations |
CN101610153A (zh) * | 2008-06-20 | 2009-12-23 | 航天信息股份有限公司 | 基于椭圆曲线签名算法的电子签章认证方法 |
CN102761415A (zh) * | 2011-04-27 | 2012-10-31 | 航天信息股份有限公司 | p元域SM2椭圆曲线的数字签名生成、验证及混合系统 |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015021934A1 (zh) * | 2013-08-16 | 2015-02-19 | 西安西电捷通无线网络通信股份有限公司 | 一种生成数字签名的方法及装置 |
US10038561B2 (en) | 2013-08-16 | 2018-07-31 | China Iwncomm Co., Ltd. | Method and device for generating digital signature |
CN104683102A (zh) * | 2013-11-29 | 2015-06-03 | 上海复旦微电子集团股份有限公司 | 一种sm2签名计算方法和装置 |
CN103701598B (zh) * | 2013-12-05 | 2017-07-11 | 武汉信安珞珈科技有限公司 | 一种基于sm2签名算法的复核签名方法和数字签名设备 |
CN106856431A (zh) * | 2015-12-09 | 2017-06-16 | 上海华虹集成电路有限责任公司 | 改进的椭圆曲线数字签名算法及验签方法 |
FR3045253A1 (fr) * | 2015-12-15 | 2017-06-16 | Oberthur Technologies | Procede et dispositif de traitement cryptographique |
CN106712968B (zh) * | 2017-02-22 | 2019-08-30 | 北京智慧云测科技有限公司 | 密钥获取方法、数字签名方法和装置 |
CN106712968A (zh) * | 2017-02-22 | 2017-05-24 | 北京智慧云测科技有限公司 | 密钥获取方法、数字签名方法和装置 |
CN106899413A (zh) * | 2017-04-07 | 2017-06-27 | 深圳奥联信息安全技术有限公司 | 数字签名验证方法及系统 |
CN106899413B (zh) * | 2017-04-07 | 2020-05-08 | 深圳奥联信息安全技术有限公司 | 数字签名验证方法及系统 |
CN107040385B (zh) * | 2017-05-23 | 2020-10-27 | 广东工业大学 | 一种基于sm2椭圆曲线的签名验证算法的实现方法及系统 |
CN107040385A (zh) * | 2017-05-23 | 2017-08-11 | 广东工业大学 | 一种基于sm2椭圆曲线的签名验证算法的实现方法及系统 |
CN110278082B (zh) * | 2018-03-14 | 2021-11-16 | 西安西电捷通无线网络通信股份有限公司 | 一种群组数字签名的群组成员发布方法和设备 |
CN110278073B (zh) * | 2018-03-14 | 2021-11-02 | 西安西电捷通无线网络通信股份有限公司 | 一种群组数字签名、验证方法及其设备和装置 |
WO2019174404A1 (zh) * | 2018-03-14 | 2019-09-19 | 西安西电捷通无线网络通信股份有限公司 | 一种群组数字签名、验证方法及其设备和装置 |
CN110278082A (zh) * | 2018-03-14 | 2019-09-24 | 西安西电捷通无线网络通信股份有限公司 | 一种群组数字签名的群组成员发布方法和设备 |
CN110278073A (zh) * | 2018-03-14 | 2019-09-24 | 西安西电捷通无线网络通信股份有限公司 | 一种群组数字签名、验证方法及其设备和装置 |
CN108667621A (zh) * | 2018-05-14 | 2018-10-16 | 河南科技大学 | 一种椭圆曲线数字签名方法 |
CN108809658B (zh) * | 2018-07-20 | 2021-06-01 | 武汉大学 | 一种基于sm2的身份基的数字签名方法与系统 |
CN108809658A (zh) * | 2018-07-20 | 2018-11-13 | 武汉大学 | 一种基于sm2的身份基的数字签名方法与系统 |
CN109586912B (zh) * | 2018-11-09 | 2020-04-07 | 天津海泰方圆科技有限公司 | 一种sm2数字签名的生成方法、系统、设备及介质 |
CN109586912A (zh) * | 2018-11-09 | 2019-04-05 | 天津海泰方圆科技有限公司 | 一种sm2数字签名的生成方法、系统、设备及介质 |
CN109698751A (zh) * | 2018-11-09 | 2019-04-30 | 北京中宇万通科技股份有限公司 | 数字签名生成及验签方法、计算机设备和存储介质 |
CN110493003A (zh) * | 2019-06-24 | 2019-11-22 | 广东工业大学 | 一种基于四基二进制底层模运算的快速加密系统 |
CN110493003B (zh) * | 2019-06-24 | 2021-08-17 | 广东工业大学 | 一种基于四基二进制底层模运算的快速加密系统 |
CN111147250A (zh) * | 2019-12-18 | 2020-05-12 | 北京江南天安科技有限公司 | 一种数字签名方法、装置、发送端、接收端及系统 |
CN114257380A (zh) * | 2021-12-20 | 2022-03-29 | 湖南国科微电子股份有限公司 | 一种数字签名方法、系统及设备 |
WO2023151171A1 (zh) * | 2022-02-10 | 2023-08-17 | 中国科学院信息工程研究所 | 抗内存信息泄露攻击的椭圆曲线数字签名计算方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20160042435A (ko) | 2016-04-19 |
KR101992270B1 (ko) | 2019-06-24 |
US20160191252A1 (en) | 2016-06-30 |
US10038561B2 (en) | 2018-07-31 |
JP6353536B2 (ja) | 2018-07-04 |
EP3035590A4 (en) | 2016-08-17 |
EP3035590A1 (en) | 2016-06-22 |
JP2016528555A (ja) | 2016-09-15 |
CN103427997B (zh) | 2016-06-22 |
EP3035590B1 (en) | 2018-11-21 |
WO2015021934A1 (zh) | 2015-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103427997A (zh) | 一种生成数字签名的方法及装置 | |
WO2020253234A1 (zh) | 实现隐私保护的数据同态加解密方法及装置 | |
CN110247757B (zh) | 基于国密算法的区块链处理方法、装置及系统 | |
KR101617561B1 (ko) | Sm2 키 교환 프로토콜 기반의 키 협상 방법 및 장치 | |
CN107040385B (zh) | 一种基于sm2椭圆曲线的签名验证算法的实现方法及系统 | |
EP3758285A1 (en) | Odd index precomputation for authentication path computation | |
JP2012014203A5 (zh) | ||
CN111010277B (zh) | 密钥交换方法、装置和存储介质、计算装置 | |
WO2015164996A1 (zh) | 椭圆域曲线运算方法和椭圆域曲线运算器 | |
CN102761415A (zh) | p元域SM2椭圆曲线的数字签名生成、验证及混合系统 | |
CN112187469B (zh) | 一种基于密钥因子的sm2多方协同数字签名方法和系统 | |
CN109214195A (zh) | 一种抗差分功耗攻击的sm2椭圆曲线签名验签硬件系统及方法 | |
CN110535636B (zh) | 一种轻量级的基于sm2算法的协同签名方法与装置 | |
JP3542278B2 (ja) | モンゴメリ・リダクション装置及び記録媒体 | |
CN113193962B (zh) | 基于轻量级模乘的sm2数字签名生成与验证器 | |
CN112737778B (zh) | 数字签名生成、验证方法及装置、电子设备及存储介质 | |
CN103929305A (zh) | Sm2签名算法的实现方法 | |
CN117134900A (zh) | 一种实现非对称加密的结构及控制方法 | |
CN114650135B (zh) | 一种软硬件协同的sm2椭圆曲线密码算法实现方法 | |
CN115664849A (zh) | Bmc及其加密数据生成系统、方法、设备及存储介质 | |
CN114238205A (zh) | 一种抗功耗攻击的高性能ecc协处理器系统 | |
CN103944714A (zh) | 基于ecc实现抗dpa攻击的标量乘算法的方法及装置 | |
CN113849831A (zh) | 一种基于sm2算法的两方协同签名和解密方法及系统 | |
CN113253975A (zh) | 大数模幂运算的算法加速方法、系统、介质、设备及应用 | |
CN111030823A (zh) | 超轻量级多次签名的数据处理方法、系统、物联网平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |