CN111064583A - 一种门限sm2数字签名方法、装置、电子设备及存储介质 - Google Patents

一种门限sm2数字签名方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111064583A
CN111064583A CN202010185188.7A CN202010185188A CN111064583A CN 111064583 A CN111064583 A CN 111064583A CN 202010185188 A CN202010185188 A CN 202010185188A CN 111064583 A CN111064583 A CN 111064583A
Authority
CN
China
Prior art keywords
random number
base point
intermediate variable
calculating
private data
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
CN202010185188.7A
Other languages
English (en)
Other versions
CN111064583B (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 Infosec Technologies Co Ltd
Original Assignee
Beijing Infosec Technologies 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 Infosec Technologies Co Ltd filed Critical Beijing Infosec Technologies Co Ltd
Priority to CN202010185188.7A priority Critical patent/CN111064583B/zh
Publication of CN111064583A publication Critical patent/CN111064583A/zh
Application granted granted Critical
Publication of CN111064583B publication Critical patent/CN111064583B/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or 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/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/3255Cryptographic 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 group based signatures, e.g. ring or threshold signatures

Abstract

本申请提供一种门限SM2数字签名方法、装置、电子设备及存储介质,包括:随机选取第一子私钥
Figure 100004_DEST_PATH_IMAGE001
;生成第一随机数
Figure 100004_DEST_PATH_IMAGE002
和第二随机数
Figure 100004_DEST_PATH_IMAGE003
,根据所述第一随机数
Figure 457424DEST_PATH_IMAGE002
计算得到所述椭圆曲线E上的第二基点
Figure 100004_DEST_PATH_IMAGE004
;接收第二设备发送的第三基点
Figure 100004_DEST_PATH_IMAGE005
、第三随机数
Figure 100004_DEST_PATH_IMAGE006
、随机数组
Figure 100004_DEST_PATH_IMAGE007
和第一中间变量
Figure 100004_DEST_PATH_IMAGE008
和第二中间变量
Figure 100004_DEST_PATH_IMAGE009
,利用不经意传输协议分别对第一中间变量
Figure 266243DEST_PATH_IMAGE008
和所述第二中间变量
Figure 110479DEST_PATH_IMAGE009
进行解码,得到第二设备的隐私数据
Figure 100004_DEST_PATH_IMAGE010
和隐私数据
Figure 100004_DEST_PATH_IMAGE011
;根据第二基点
Figure 100004_DEST_PATH_IMAGE012
和所述第三基点
Figure 318737DEST_PATH_IMAGE005
计算第一部分签名值
Figure 100004_DEST_PATH_IMAGE013
,以及根据第一子私钥
Figure 100004_DEST_PATH_IMAGE014
、第一随机数
Figure 100004_DEST_PATH_IMAGE015
、隐私数据
Figure 477317DEST_PATH_IMAGE010
和隐私数据
Figure 971884DEST_PATH_IMAGE011
计算第二部分签名值
Figure 100004_DEST_PATH_IMAGE016
并在第二部分签名值
Figure 100004_DEST_PATH_IMAGE017
时,生成待签名消息的完整签名值
Figure 100004_DEST_PATH_IMAGE018

Description

一种门限SM2数字签名方法、装置、电子设备及存储介质
技术领域
本申请涉及加解密技术领域,尤其涉及一种门限SM2数字签名方法、装置、电子设备及存储介质。
背景技术
随着网络技术的发展,智能终端的功能日益丰富,如,移动支付、移动办公等这些新的业务都可以在智能终端上进行操作,如何保障智能终端的安全变得尤为重要。
目前,为了保护用户隐私安全和业务的不可抵赖性,通常会使用到数字签名技术。在传统的数字签名技术中,签名者不仅持有CA机构签发的用于标明其身份和公钥的数字证书,还拥有用于计算签名的私钥。智能终端通过的软件实现的数字签名时,可以将数据签名使用的密钥存放在智能终端的内存中,这种方式中私钥的安全性不高,容易受到攻击;也可以采用硬件的方式如硬件设备usbkey来存储密钥,但这中采用硬件设备存储的方式也容易出现密钥泄露的问题,且用户的体验感较差,签名效率低。因此,如何提高密钥的安全性和签名效率是值得思考的问题。
发明内容
本申请的目的在于提供一种门限SM2数字签名方法、装置、电子设备及存储介质,以解决数字签名效率低的问题。
第一方面,提供了一种门限SM2数字签名方法,应用于第一设备,其中,G为椭圆曲 线E上的第一基点,第一基点G的阶为
Figure 100002_DEST_PATH_IMAGE001
Figure 293990DEST_PATH_IMAGE001
为素数,包括:
随机选取第一子私钥
Figure 100002_DEST_PATH_IMAGE002
,其中,
Figure 100002_DEST_PATH_IMAGE003
生成第一随机数
Figure 100002_DEST_PATH_IMAGE004
和第二随机数
Figure 100002_DEST_PATH_IMAGE005
, 根据所述第一随机数
Figure 682114DEST_PATH_IMAGE004
计算得到所述椭圆曲线E 上的第二基点
Figure 100002_DEST_PATH_IMAGE006
,其中,
Figure 100002_DEST_PATH_IMAGE007
接收第二设备发送的第三基点
Figure 100002_DEST_PATH_IMAGE008
、第三随机数
Figure 100002_DEST_PATH_IMAGE009
、随机数组
Figure 100002_DEST_PATH_IMAGE010
、第一中间变量
Figure 100002_DEST_PATH_IMAGE011
和第二 中间变量
Figure 100002_DEST_PATH_IMAGE012
,并利用不经意传输协议分别对第一中间变量
Figure 176462DEST_PATH_IMAGE011
和第二中间变量
Figure 488494DEST_PATH_IMAGE012
进行解码, 得到第二设备的隐私数据
Figure 100002_DEST_PATH_IMAGE013
和隐私数据
Figure 100002_DEST_PATH_IMAGE014
根据所述第二基点
Figure 863981DEST_PATH_IMAGE006
和所述第三基点
Figure 704898DEST_PATH_IMAGE008
计算第一部分签名值
Figure 100002_DEST_PATH_IMAGE015
,以及根据所述第一子 私钥
Figure 100002_DEST_PATH_IMAGE016
、所述第一随机数
Figure 900256DEST_PATH_IMAGE004
、所述隐私数据
Figure 750400DEST_PATH_IMAGE013
和所述隐私数据
Figure 386918DEST_PATH_IMAGE014
计算第二部分签名值
Figure 100002_DEST_PATH_IMAGE017
,并在 所述第二部分签名值
Figure 100002_DEST_PATH_IMAGE018
时,生成待签名消息的完整签名值
Figure 100002_DEST_PATH_IMAGE019
在一种可能的设计中,利用不经意传输协议对所述第一中间变量
Figure 54529DEST_PATH_IMAGE011
进行解码,得 到所述第二设备的隐私数据
Figure 674866DEST_PATH_IMAGE013
和隐私数据
Figure 63122DEST_PATH_IMAGE014
,包括:
分别令所述第一设备的隐私数据
Figure 100002_DEST_PATH_IMAGE020
,隐私数据
Figure 100002_DEST_PATH_IMAGE021
将所述隐私数据
Figure 100002_DEST_PATH_IMAGE022
和所述隐私数据
Figure 100002_DEST_PATH_IMAGE023
用二进制表示为
Figure 100002_DEST_PATH_IMAGE024
Figure 100002_DEST_PATH_IMAGE025
按照以下公式计算得到所述隐私数据
Figure 859871DEST_PATH_IMAGE013
Figure 100002_DEST_PATH_IMAGE026
,其中,
Figure 100002_DEST_PATH_IMAGE027
为求模运算,
Figure 100002_DEST_PATH_IMAGE028
用于表征所述随机 数组
Figure 26279DEST_PATH_IMAGE010
中的值;
按照以下公式计算得到所述隐私数据
Figure 602754DEST_PATH_IMAGE014
Figure 100002_DEST_PATH_IMAGE029
,其中,
Figure 100002_DEST_PATH_IMAGE030
用于表征所述随机数组
Figure 919335DEST_PATH_IMAGE010
中的值。
在一种可能的设计中,根据所述第二基点
Figure 530445DEST_PATH_IMAGE006
和所述第三基点
Figure 884066DEST_PATH_IMAGE008
计算第一部分签名 值
Figure 100002_DEST_PATH_IMAGE031
,包括:
按照以下公式计算得到所述椭圆曲线上的第四基点
Figure 100002_DEST_PATH_IMAGE032
Figure 100002_DEST_PATH_IMAGE033
确定所述第四基点
Figure 343909DEST_PATH_IMAGE032
的横坐标
Figure 100002_DEST_PATH_IMAGE034
和纵坐标
Figure 100002_DEST_PATH_IMAGE035
按照以下公式计算得到所述第一部分签名值
Figure 933022DEST_PATH_IMAGE015
Figure 100002_DEST_PATH_IMAGE036
,其中,
Figure 100002_DEST_PATH_IMAGE037
为根据所述第一设备生成的待签名消息处理得到的哈希 函数值。
在一种可能的设计中,所述隐私数据
Figure 992114DEST_PATH_IMAGE013
等于所述第二设备生成的第二子私钥
Figure 100002_DEST_PATH_IMAGE038
与 第五随机数
Figure 100002_DEST_PATH_IMAGE039
之和,所述隐私数据
Figure 110111DEST_PATH_IMAGE014
等于所述第二设备生成的第四随机数
Figure 100002_DEST_PATH_IMAGE040
和所述第五随 机数
Figure 457916DEST_PATH_IMAGE039
之和;
则根据所述第一子私钥
Figure 100002_DEST_PATH_IMAGE041
、所述第一随机数
Figure 53982DEST_PATH_IMAGE004
、所述隐私数据
Figure 639685DEST_PATH_IMAGE013
和所述隐私数据
Figure 600687DEST_PATH_IMAGE014
计算 第二部分签名值
Figure 639051DEST_PATH_IMAGE017
,包括:
当所述隐私数据
Figure 242070DEST_PATH_IMAGE013
等于所述第二设备生成的第二子私钥
Figure 416700DEST_PATH_IMAGE038
与第五随机数
Figure 814183DEST_PATH_IMAGE039
之和时,按 照以下公式计算得到第三中间变量
Figure 100002_DEST_PATH_IMAGE042
Figure 100002_DEST_PATH_IMAGE043
当所述隐私数据
Figure 732237DEST_PATH_IMAGE014
等于所述第二设备生成的第四随机数
Figure 404527DEST_PATH_IMAGE040
和所述第五随机数
Figure 902504DEST_PATH_IMAGE039
之和 时,按照以下公式计算得到第四中间变量
Figure 100002_DEST_PATH_IMAGE044
Figure 100002_DEST_PATH_IMAGE045
按照以下公式计算得到第二部分签名值
Figure 595523DEST_PATH_IMAGE017
Figure 100002_DEST_PATH_IMAGE046
在一种可能的设计中,根据所述第一随机数
Figure 342899DEST_PATH_IMAGE004
计算得到所述椭圆曲线E上的第二 基点
Figure 287721DEST_PATH_IMAGE006
,包括:
按照以下公式计算所述第二基点
Figure 968101DEST_PATH_IMAGE006
Figure 100002_DEST_PATH_IMAGE047
第二方面,提供了一种门限SM2数字签名方法,应用于第二设备,其中,G为椭圆曲 线E上的第一基点,第一基点G的阶为
Figure 238546DEST_PATH_IMAGE001
Figure 738797DEST_PATH_IMAGE001
为素数,包括:
随机选取第二子私钥
Figure 100002_DEST_PATH_IMAGE048
,其中,
Figure 100002_DEST_PATH_IMAGE049
生成第五随机数
Figure 100002_DEST_PATH_IMAGE050
和第六随机数
Figure 100002_DEST_PATH_IMAGE051
,接收第一设备发送的第二基点
Figure 674261DEST_PATH_IMAGE006
,其中,
Figure 100002_DEST_PATH_IMAGE052
根据所述第六随机数
Figure 746165DEST_PATH_IMAGE051
计算得到所述椭圆曲线E上的第三基点
Figure 125194DEST_PATH_IMAGE008
,以及根据所述第二 基点
Figure 378321DEST_PATH_IMAGE006
和所述第三基点
Figure 868208DEST_PATH_IMAGE008
,计算第一部分签名值
Figure 523180DEST_PATH_IMAGE015
,并在所述
Figure 100002_DEST_PATH_IMAGE053
时,生成第四随机数
Figure 135427DEST_PATH_IMAGE040
利用所述不经意传输协议对所述第二设备的隐私数据
Figure 813533DEST_PATH_IMAGE013
和所述隐私数据
Figure 169428DEST_PATH_IMAGE014
进行编码, 得到第一中间变量
Figure 413328DEST_PATH_IMAGE011
和第二中间变量
Figure 930897DEST_PATH_IMAGE012
,并将所述第一中间变量
Figure 830720DEST_PATH_IMAGE011
和第二中间变量
Figure 724726DEST_PATH_IMAGE012
,以 及随机生成的第三随机数
Figure 557553DEST_PATH_IMAGE009
和随机数组
Figure 246023DEST_PATH_IMAGE010
发送给所述第一设备,以使得所述第一设备计算 第二部分签名值
Figure 633142DEST_PATH_IMAGE017
,生成签名值
Figure 861998DEST_PATH_IMAGE019
在一种可能的设计中,根据所述第二基点
Figure 283752DEST_PATH_IMAGE006
和所述第三基点
Figure 408703DEST_PATH_IMAGE008
,计算所述第一部 分签名值
Figure 73997DEST_PATH_IMAGE015
,并在所述
Figure 247489DEST_PATH_IMAGE053
时,生成第四随机数
Figure 100002_DEST_PATH_IMAGE054
,包括:
按照以下公式计算得到所述椭圆曲线上的第四基点
Figure 851646DEST_PATH_IMAGE032
Figure 147498DEST_PATH_IMAGE033
确定所述第四基点
Figure 509209DEST_PATH_IMAGE032
的横坐标
Figure 548709DEST_PATH_IMAGE034
和纵坐标
Figure 679476DEST_PATH_IMAGE035
按照以下公式计算所述第一部分签名值
Figure 146230DEST_PATH_IMAGE015
Figure 260816DEST_PATH_IMAGE036
,其中,
Figure 41690DEST_PATH_IMAGE037
为根据所述第一设备生成的待签名消息处理得到的哈希 函数值;
按照以下公式计算所述第四随机数
Figure 823702DEST_PATH_IMAGE040
Figure 100002_DEST_PATH_IMAGE055
在一种可能的设计中,所述隐私数据
Figure 54832DEST_PATH_IMAGE013
等于所述第二设备生成的第二子私钥
Figure 391135DEST_PATH_IMAGE038
与 第五随机数
Figure 303596DEST_PATH_IMAGE039
之和,所述隐私数据
Figure 205693DEST_PATH_IMAGE014
等于所述第二设备生成的第四随机数
Figure 951932DEST_PATH_IMAGE040
和所述第五随 机数
Figure 572269DEST_PATH_IMAGE039
之和;
则利用所述不经意传输协议分别对所述第二设备的隐私数据
Figure 231964DEST_PATH_IMAGE013
和所述隐私数据
Figure 254147DEST_PATH_IMAGE014
进行 编码,得到第一中间变量
Figure 436866DEST_PATH_IMAGE011
和第二中间变量
Figure 544500DEST_PATH_IMAGE012
,包括:
所述第二设备随机生成
Figure 100002_DEST_PATH_IMAGE056
Figure 100002_DEST_PATH_IMAGE057
这256个第三随机数
Figure 329922DEST_PATH_IMAGE009
,以及随机生成
Figure 100002_DEST_PATH_IMAGE058
这256个随机数组
Figure 534507DEST_PATH_IMAGE010
,其中,
Figure 100002_DEST_PATH_IMAGE059
按照以下公式计算得到第一中间变量
Figure 950445DEST_PATH_IMAGE011
和第二中间变量
Figure 14216DEST_PATH_IMAGE012
Figure 100002_DEST_PATH_IMAGE060
第三方面,提供了一种门限SM2数字签名装置,包括:
第一选取模块,用于随机选取第一子私钥
Figure 603329DEST_PATH_IMAGE002
,其中,
Figure 803366DEST_PATH_IMAGE003
Figure 62309DEST_PATH_IMAGE001
为第一基点G的阶,
Figure 144535DEST_PATH_IMAGE001
为素数,G为椭圆曲线E上的第一基点;
第一计算模块,用于生成第一随机数
Figure 943864DEST_PATH_IMAGE004
和第二随机数
Figure 529566DEST_PATH_IMAGE005
,根据所述第一随机数
Figure 242567DEST_PATH_IMAGE004
计算 得到所述椭圆曲线E上的第二基点
Figure 343247DEST_PATH_IMAGE006
,其中,
Figure 680688DEST_PATH_IMAGE007
接收模块,用于接收第二设备发送的第三基点
Figure 589738DEST_PATH_IMAGE008
、第三随机数
Figure 987221DEST_PATH_IMAGE009
、随机数组
Figure 778460DEST_PATH_IMAGE010
、第一中间 变量
Figure 185170DEST_PATH_IMAGE011
和第二中间变量
Figure 948727DEST_PATH_IMAGE012
,并利用不经意传输协议分别对第一中间变量
Figure 782691DEST_PATH_IMAGE011
和第二中间变量
Figure 795646DEST_PATH_IMAGE012
进行解码,得到第二设备的隐私数据
Figure 6048DEST_PATH_IMAGE013
和隐私数据
Figure 889690DEST_PATH_IMAGE014
第一生成模块,用于根据所述第二基点
Figure 97818DEST_PATH_IMAGE006
和所述第三基点
Figure 863648DEST_PATH_IMAGE008
计算第一部分签名值
Figure 549845DEST_PATH_IMAGE015
, 以及根据所述第一子私钥
Figure 350310DEST_PATH_IMAGE041
、所述第一随机数
Figure 729339DEST_PATH_IMAGE004
、所述隐私数据
Figure 982466DEST_PATH_IMAGE013
和所述隐私数据
Figure 472353DEST_PATH_IMAGE014
计算第 二部分签名值
Figure 65008DEST_PATH_IMAGE017
,并在所述第二部分签名值
Figure 683115DEST_PATH_IMAGE018
时,生成待签名消息的完整签名值
Figure 361221DEST_PATH_IMAGE019
在一种可能的设计中,所述接收模块具体用于:
分别令所述第一设备的隐私数据
Figure 717116DEST_PATH_IMAGE020
,隐私数据
Figure 961015DEST_PATH_IMAGE021
将所述隐私数据
Figure 681846DEST_PATH_IMAGE022
和所述隐私数据
Figure 643986DEST_PATH_IMAGE023
用二进制表示为
Figure 475676DEST_PATH_IMAGE024
Figure 105241DEST_PATH_IMAGE025
按照以下公式计算得到所述隐私数据
Figure 100002_DEST_PATH_IMAGE061
Figure 59290DEST_PATH_IMAGE026
,其中,
Figure 508726DEST_PATH_IMAGE027
为求模运算,
Figure 144107DEST_PATH_IMAGE028
用于表征所述随机 数组
Figure 362598DEST_PATH_IMAGE010
中的值;
按照以下公式计算得到所述隐私数据
Figure 956391DEST_PATH_IMAGE014
Figure 627544DEST_PATH_IMAGE029
,其中,
Figure 863353DEST_PATH_IMAGE030
用于表征所述随机数组
Figure 733089DEST_PATH_IMAGE010
中的值。
在一种可能的设计中,第一计算模块具体用于:
按照以下公式计算得到所述椭圆曲线上的第四基点
Figure 966624DEST_PATH_IMAGE032
Figure 384793DEST_PATH_IMAGE033
确定所述第四基点
Figure 361976DEST_PATH_IMAGE032
的横坐标
Figure 758322DEST_PATH_IMAGE034
和纵坐标
Figure 225076DEST_PATH_IMAGE035
按照以下公式计算得到所述第一部分签名值
Figure 74083DEST_PATH_IMAGE015
Figure 651695DEST_PATH_IMAGE036
,其中,
Figure 699285DEST_PATH_IMAGE037
为根据所述第一设备生成的待签名消息处理得到的哈希 函数值。
在一种可能的设计中,所述第一生成模块具体用于:
当所述隐私数据
Figure 274623DEST_PATH_IMAGE013
等于所述第二设备生成的第二子私钥
Figure 673243DEST_PATH_IMAGE038
与第五随机数
Figure 992229DEST_PATH_IMAGE039
之和时,按 照以下公式计算得到第三中间变量
Figure 159905DEST_PATH_IMAGE042
Figure 437303DEST_PATH_IMAGE043
当所述隐私数据
Figure 57640DEST_PATH_IMAGE014
等于所述第二设备生成的第四随机数
Figure 977055DEST_PATH_IMAGE040
和所述第五随机数
Figure 936920DEST_PATH_IMAGE039
之和 时,按照以下公式计算得到第四中间变量
Figure 650798DEST_PATH_IMAGE044
Figure 24011DEST_PATH_IMAGE045
按照以下公式计算得到第二部分签名值
Figure 684799DEST_PATH_IMAGE017
Figure 561489DEST_PATH_IMAGE046
在一种可能的设计中,第一计算模块还用于:
按照以下公式计算所述第二基点
Figure 915110DEST_PATH_IMAGE006
Figure 250319DEST_PATH_IMAGE047
第四方面,提供了一种门限SM2数字签名装置,包括:
第二选取模块,用于随机选取第二子私钥
Figure 511536DEST_PATH_IMAGE038
,其中,
Figure 977153DEST_PATH_IMAGE049
Figure 298412DEST_PATH_IMAGE001
为第一基点G的阶,
Figure 115059DEST_PATH_IMAGE001
为素数, G为椭圆曲线E上的第一基点,;
第二生成模块,用于生成第五随机数
Figure 179967DEST_PATH_IMAGE039
和第六随机数
Figure 968931DEST_PATH_IMAGE051
,接收第一设备发送的第二基 点
Figure 461092DEST_PATH_IMAGE006
,其中,
Figure 100002_DEST_PATH_IMAGE062
第二计算模块,用于根据所述第六随机数
Figure 561772DEST_PATH_IMAGE051
计算得到所述椭圆曲线E上的第三基点值
Figure 430371DEST_PATH_IMAGE008
,以及根据所述第二基点
Figure 136159DEST_PATH_IMAGE006
和所述第三基点
Figure 533642DEST_PATH_IMAGE008
,计算第一部分签名值
Figure 528143DEST_PATH_IMAGE015
,并在所述
Figure 934854DEST_PATH_IMAGE053
时,生成第四随机数
Figure 698410DEST_PATH_IMAGE040
第三生成模块,用于利用所述不经意传输协议对所述第二设备的隐私数据
Figure 735637DEST_PATH_IMAGE013
和所述隐 私数据
Figure 279750DEST_PATH_IMAGE014
进行编码,得到第一中间变量
Figure 242151DEST_PATH_IMAGE011
和第二中间变量
Figure 860214DEST_PATH_IMAGE012
,并将所述第一中间变量
Figure 130658DEST_PATH_IMAGE011
和第 二中间变量
Figure 834172DEST_PATH_IMAGE012
,以及随机生成的第三随机数
Figure 317106DEST_PATH_IMAGE009
和随机数组
Figure 117572DEST_PATH_IMAGE010
发送给所述第一设备,以使得所 述第一设备计算第二部分签名值
Figure 231021DEST_PATH_IMAGE017
,生成签名值
Figure 484148DEST_PATH_IMAGE019
在一种可能的设计中,所述第二计算模块具体用于:
按照以下公式计算得到所述椭圆曲线上的第四基点
Figure 974035DEST_PATH_IMAGE032
Figure 629008DEST_PATH_IMAGE033
确定所述第四基点
Figure 444517DEST_PATH_IMAGE032
的横坐标
Figure 919360DEST_PATH_IMAGE034
和纵坐标
Figure 947359DEST_PATH_IMAGE035
按照以下公式计算所述第一部分签名值
Figure 660100DEST_PATH_IMAGE015
Figure 443249DEST_PATH_IMAGE036
,其中,
Figure 608651DEST_PATH_IMAGE037
为根据所述第一设备生成的待签名消息处理得到的哈希 函数值;
按照以下公式计算所述第四随机数
Figure 237078DEST_PATH_IMAGE040
Figure 100002_DEST_PATH_IMAGE063
在一种可能的设计中,当所述隐私数据
Figure 866643DEST_PATH_IMAGE013
等于所述第二设备生成的第二子私钥
Figure 23955DEST_PATH_IMAGE038
与第五随机数
Figure 738970DEST_PATH_IMAGE039
之和,所述隐私数据
Figure 108771DEST_PATH_IMAGE014
等于所述第二设备生成的第四随机数
Figure 598701DEST_PATH_IMAGE040
和所述第五 随机数
Figure 926915DEST_PATH_IMAGE039
之和时,所述第三生成模块具体于:
所述第二设备随机生成
Figure 598067DEST_PATH_IMAGE056
Figure 37139DEST_PATH_IMAGE057
这256个第三随机数
Figure 100002_DEST_PATH_IMAGE064
,以及随机生成
Figure 438033DEST_PATH_IMAGE058
这256个随机数组
Figure 202727DEST_PATH_IMAGE010
,其中,
Figure 361176DEST_PATH_IMAGE059
按照以下公式计算得到第一中间变量
Figure 135097DEST_PATH_IMAGE011
和第二中间变量
Figure 531443DEST_PATH_IMAGE012
Figure 100002_DEST_PATH_IMAGE065
第五方面,提供了一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的计算机存储介质;
其中,所述处理器被配置为执行所述指令,以实现第一方面和/或第二方面中任一项可能涉及方法。
第六方面,提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本申请实施例上述第一方面和/或第二方面中任一项可能涉及的方法。
本申请的实施例提供的技术方案至少带来以下有益效果:
在本申请实施例中,可以随机选取第一子私钥
Figure 529355DEST_PATH_IMAGE002
,其中,
Figure 378362DEST_PATH_IMAGE003
;以及生成第一随 机数
Figure 955974DEST_PATH_IMAGE004
和第二随机数
Figure 100002_DEST_PATH_IMAGE066
,并根据第一随机数
Figure 737985DEST_PATH_IMAGE004
计算得到椭圆曲线E上的第二基点
Figure 375640DEST_PATH_IMAGE006
,其中,
Figure 711943DEST_PATH_IMAGE007
;接收第二设备发送的第三基点
Figure 827667DEST_PATH_IMAGE008
、第三随机数
Figure 995343DEST_PATH_IMAGE009
、随机数组
Figure 532461DEST_PATH_IMAGE010
、第一中 间变量
Figure 90481DEST_PATH_IMAGE011
和第二中间变量
Figure 275475DEST_PATH_IMAGE012
,并利用不经意传输协议分别对第一中间变量
Figure 235340DEST_PATH_IMAGE011
和第二中间变 量
Figure 949218DEST_PATH_IMAGE012
进行解码,得到第二设备的隐私数据
Figure 853589DEST_PATH_IMAGE013
和隐私数据
Figure 311116DEST_PATH_IMAGE014
;进而可以根据第二基点
Figure 656646DEST_PATH_IMAGE006
和第三 基点
Figure 807005DEST_PATH_IMAGE008
计算第一部分签名值
Figure 401934DEST_PATH_IMAGE015
,以及根据第一子私钥
Figure 397572DEST_PATH_IMAGE041
、第一随机数
Figure 128768DEST_PATH_IMAGE004
、隐私数据
Figure 100002_DEST_PATH_IMAGE067
和隐私数 据
Figure 512344DEST_PATH_IMAGE014
计算第二部分签名值
Figure 63412DEST_PATH_IMAGE017
,并在第二部分签名值
Figure 100002_DEST_PATH_IMAGE068
时,生成待签名消息的完整签名值
Figure 659478DEST_PATH_IMAGE019
也就是说,需要第一设备和第二设备共同完成对待签名消息的数字签名,并且,在对待签名消息进行签名的过程中,利用了不经意传输协议来实现对第一设备和第二设备的隐私数据的隐私乘法运算,从而可以在避免第一设备和第二设备的隐私数据的泄露,提高设备和第二设备各自的子私钥的安全性、确保数据签名真实有效的同时,提高生成完整签名值的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。
图1为本申请实施例提供的一种应用场景图;
图2为本申请一个实施例的SM2门限数字签名方法的流程图;
图3为本申请另一个实施例的门限SM2数字签名方法的流程图;
图4为本申请实施例中终端设备101与服务器102交互进行数字签名的流程示意图;
图5为根据本申请一个实施例的门限SM2数字签名装置的结构示意图;
图6为根据本申请另一个实施例的门限SM2数字签名装置的结构示意图;
图7本申请一个实施例的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请实施例中,“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本申请实施例不做限制。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
如前文所述,在目前的数据字前面技术中,不论是将密钥存放在智能终端的内存中,还是存储在硬件设备中,都存在安全性问题,容易被不法分子盗取。
鉴于此,本申请提供了基于不经意传输协议的门限SM2数字签名方案,在该方案中,可以在第一设备中生成数字签名使用的部分私钥,在第二设备中生成数字签名使用的另一部分私钥,再由第一设备和第二设备两方交互,生成最终签名使用的私钥对,其中,第一设备和第二设备两方交互时,通过不经意传输协议对交互的私钥和涉及的隐私数据进行隐私乘法计算,从而保障了第一设备和第二设备私钥的安全,提高生成签名值效率。
为了更好的理解本申请实施例,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施过程中,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
本申请实例中的第一设备和第二设备可以为服务器或终端设备,第一设备和第二设备可以同为服务器,也可以同为终端设备,在此不做具体限制。
请参见图1为本申请提供的一种应用场景图。图1中,以第一设备为终端设备101,第二设备为服务器102为例进行具体说明。这样的终端设备101如智能手机,ipad,电脑等。
假设终端设备101是信息发送端,服务器102为信息接收端。终端设备101在发送信 息之前,可以随机选取第一私钥
Figure 454302DEST_PATH_IMAGE002
,随机生成第一随机数
Figure 100002_DEST_PATH_IMAGE069
和第二随机数
Figure 743201DEST_PATH_IMAGE005
,根据第一随机 数
Figure 100002_DEST_PATH_IMAGE070
计算得到椭圆曲线E上的第二基点
Figure 578301DEST_PATH_IMAGE006
,并且在接收服务器102发送的第三基点
Figure 446900DEST_PATH_IMAGE008
、第三 随机数
Figure 90371DEST_PATH_IMAGE064
、随机数组
Figure 19013DEST_PATH_IMAGE010
、第一中间变量
Figure 747935DEST_PATH_IMAGE011
和第二中间变量
Figure 154645DEST_PATH_IMAGE012
后,可以分别利用不经意传输协 议对第一中间变量
Figure 980519DEST_PATH_IMAGE011
和第二中间变量
Figure 752166DEST_PATH_IMAGE012
进行解码,得到服务器102的隐私数据
Figure 30700DEST_PATH_IMAGE013
和隐私数据
Figure 241102DEST_PATH_IMAGE014
;进而,终端设备101即可以根据第二基点和
Figure 655903DEST_PATH_IMAGE006
第三基点
Figure 395188DEST_PATH_IMAGE008
,计算得到第一部分签名值
Figure 629861DEST_PATH_IMAGE015
, 以及根据第一子私钥
Figure 643953DEST_PATH_IMAGE041
、第一随机数
Figure 116523DEST_PATH_IMAGE004
、隐私数据
Figure 309867DEST_PATH_IMAGE013
计算第二部分签名值
Figure 297415DEST_PATH_IMAGE017
,并在第二部分 签名值
Figure 100002_DEST_PATH_IMAGE071
时,生成签名值
Figure 100002_DEST_PATH_IMAGE072
,获得签名后的待发送信息。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述方法在实际的处理过程中或者装置执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。
请参见图2,为本申请实施例提供的一种门限SM2数字签名方法的流程图,该方法可以应用于第一设备中。换言之,可以应用于图1所示的应用场景中终端设备101中。下面对该方发的流程进行描述。
步骤201:随机选取第一子私钥
Figure 974253DEST_PATH_IMAGE002
,其中,
Figure 566908DEST_PATH_IMAGE003
在本申请实施例中,进行通信的第一设备和第二设备需要满足,共享椭圆曲线E上 的参数,G为椭圆曲线上的第一基点,第一基点的阶为
Figure 179155DEST_PATH_IMAGE001
素数,
Figure 388419DEST_PATH_IMAGE001
的取值范围为
Figure 100002_DEST_PATH_IMAGE073
在本申请实施例中,终端设备101可以随机选取第一子私钥
Figure 541052DEST_PATH_IMAGE041
,第一子私钥
Figure 784952DEST_PATH_IMAGE041
可以 作为终端设备101的隐私数据。并且,由于终端设备101每次进行数字签名时,都可以重新随 机生成子私钥,也就是说终端设备101每次签名使用的子私钥不相同,所以可以保护终端设 备101的签名子私钥的安全性。
步骤202:生成第一随机数
Figure 771362DEST_PATH_IMAGE004
和第二随机数
Figure 936764DEST_PATH_IMAGE005
,根据第一随机数
Figure 565192DEST_PATH_IMAGE004
计算得到椭圆曲 线E上的第二基点
Figure 663598DEST_PATH_IMAGE006
,其中,
Figure 617647DEST_PATH_IMAGE007
在本申请实施例中,终端设备101可以将第一随机数
Figure 4766DEST_PATH_IMAGE004
与椭圆曲线上E的第一基点 G相乘,即按照公式(1)计算得到第二基点
Figure 702464DEST_PATH_IMAGE006
Figure 100002_DEST_PATH_IMAGE074
(1)。
在本申请实施例中,终端设备101还可以将第二基点
Figure 457973DEST_PATH_IMAGE006
发送给服务器102,以使得 服务器102可以根据接收的第二基点
Figure 520607DEST_PATH_IMAGE006
计算得到第一部分签名值
Figure 457339DEST_PATH_IMAGE015
步骤203:接收第二设备发送的第三基点
Figure 630832DEST_PATH_IMAGE008
、第三随机数
Figure 703830DEST_PATH_IMAGE009
、随机数组
Figure 530841DEST_PATH_IMAGE010
和第一中间 变量
Figure 892552DEST_PATH_IMAGE011
和第二中间变量
Figure 932052DEST_PATH_IMAGE012
,并利用不经意传输协议对第一中间变量
Figure 328398DEST_PATH_IMAGE011
和第二中间变量
Figure 795152DEST_PATH_IMAGE012
进 行解码,得到第二设备的隐私数据
Figure 378580DEST_PATH_IMAGE067
和隐私数据
Figure 221771DEST_PATH_IMAGE014
在本申请实施例中,终端设备101接收到服务器102发送的第三基点
Figure 738203DEST_PATH_IMAGE008
、第三随机 数
Figure 110278DEST_PATH_IMAGE009
、随机数组
Figure 181002DEST_PATH_IMAGE010
、第一中间变量
Figure 562305DEST_PATH_IMAGE011
和第二中间变量
Figure 464402DEST_PATH_IMAGE012
后,可以利用不经意传输协议对第一 中间变量
Figure 476220DEST_PATH_IMAGE011
和第二中间变量
Figure 299820DEST_PATH_IMAGE012
进行解码,得到服务器102的隐私数据
Figure 213375DEST_PATH_IMAGE013
和隐私数据
Figure 235558DEST_PATH_IMAGE014
,从而可 以利用服务器102的隐私数据
Figure 152698DEST_PATH_IMAGE013
和隐私数据
Figure 260331DEST_PATH_IMAGE014
,计算对待签名消息进行数据签名的签名值。
其中,第三随机数
Figure 100002_DEST_PATH_IMAGE075
为服务器102任意生成的256个素数,如,
Figure 100002_DEST_PATH_IMAGE076
。 随机数组
Figure 45754DEST_PATH_IMAGE010
为服务器102随意生成的256数组,如,
Figure 100002_DEST_PATH_IMAGE077
;令
Figure 100002_DEST_PATH_IMAGE078
Figure 100002_DEST_PATH_IMAGE079
。第三基点
Figure 47077DEST_PATH_IMAGE008
为服务器102将 其生成的随机数与椭圆曲线E上的第一基点G相乘得到。
具体地,可以分别令终端设备101的隐私数据
Figure 197435DEST_PATH_IMAGE020
,隐私数据
Figure 100002_DEST_PATH_IMAGE080
。 进而可以用二进制表示隐私数据
Figure 792365DEST_PATH_IMAGE022
,将隐私数据
Figure 319161DEST_PATH_IMAGE022
表示为
Figure 253619DEST_PATH_IMAGE024
,将隐私数据
Figure 309300DEST_PATH_IMAGE023
用二进制表示为
Figure 594787DEST_PATH_IMAGE024
。其中,
Figure 100002_DEST_PATH_IMAGE081
Figure 100002_DEST_PATH_IMAGE082
这256个是由0或1组成的。
进而可以按照以下公式(2)计算得到隐私数据
Figure 524609DEST_PATH_IMAGE013
Figure 313574DEST_PATH_IMAGE026
(2);
其中,
Figure 805735DEST_PATH_IMAGE027
为求模运算,
Figure 312940DEST_PATH_IMAGE028
用于表征所述随机数组
Figure 181539DEST_PATH_IMAGE010
中的值。
按照以下公式(3)计算得到隐私数据
Figure 90589DEST_PATH_IMAGE014
Figure 956914DEST_PATH_IMAGE029
(3);
其中,
Figure 951414DEST_PATH_IMAGE030
用于表征随机数组
Figure 358125DEST_PATH_IMAGE010
中的值。
步骤204:根据第二基点
Figure 918419DEST_PATH_IMAGE006
和所述第三基点
Figure 955645DEST_PATH_IMAGE008
计算第一部分签名值
Figure 234180DEST_PATH_IMAGE015
,以及根据第 一子私钥
Figure 382265DEST_PATH_IMAGE016
、第一随机数
Figure 265907DEST_PATH_IMAGE004
、隐私数据
Figure 536351DEST_PATH_IMAGE013
和隐私数据
Figure 36603DEST_PATH_IMAGE014
计算第二部分签名值
Figure 253958DEST_PATH_IMAGE017
,并在第二部分 签名值
Figure 726527DEST_PATH_IMAGE071
时,生成待签名消息的完整签名值
Figure 167873DEST_PATH_IMAGE072
在本申请实施例中,在根据第二基点
Figure 358683DEST_PATH_IMAGE006
和第三基点
Figure 645308DEST_PATH_IMAGE008
计算第一部分签名值
Figure 503542DEST_PATH_IMAGE015
时,具 体可以先按照以下公式(4)计算位于椭圆曲线E上的第四基点
Figure 867788DEST_PATH_IMAGE032
Figure 100002_DEST_PATH_IMAGE083
(4)。
进而,可以确定出第四基点
Figure 873790DEST_PATH_IMAGE032
的横坐标
Figure 964106DEST_PATH_IMAGE034
和纵坐标
Figure 411268DEST_PATH_IMAGE035
,进而可以按照以下公式(5) 计算得到第一部分签名值
Figure 194416DEST_PATH_IMAGE015
Figure 100002_DEST_PATH_IMAGE084
(5);
其中,
Figure 625397DEST_PATH_IMAGE037
为根据第一设备生成的待签名消息处理得到的哈希函数值。
本申请实施例中,服务器102的隐私数据
Figure 722666DEST_PATH_IMAGE013
为服务器102随机选取的第二子私钥
Figure 352231DEST_PATH_IMAGE038
与随机生成的第五随机数
Figure 243963DEST_PATH_IMAGE039
之和,隐私数据
Figure 896662DEST_PATH_IMAGE014
服务器102随机生成的第五随机数
Figure 328780DEST_PATH_IMAGE039
和第四随 机数
Figure 812851DEST_PATH_IMAGE040
之和。进而,当隐私数据
Figure 875485DEST_PATH_IMAGE067
为服务器102随机选取的第二子私钥
Figure 812217DEST_PATH_IMAGE038
与随机生成的第五 随机数
Figure 985709DEST_PATH_IMAGE050
时,可以按照以下公式(6)计算得到第三中间变量
Figure 324287DEST_PATH_IMAGE042
;当隐私数据
Figure 557822DEST_PATH_IMAGE014
为服务器102随 机生成的第五随机数
Figure 981850DEST_PATH_IMAGE050
和第四随机数
Figure 224612DEST_PATH_IMAGE040
之和时,可以根据公式(7)计算第四中间变量
Figure 355380DEST_PATH_IMAGE044
Figure DEST_PATH_IMAGE085
(6);
Figure DEST_PATH_IMAGE086
(7)。
从而,可以根据第一部分签名值
Figure 624730DEST_PATH_IMAGE015
、第三中间变量
Figure 536054DEST_PATH_IMAGE042
和第四中间变量
Figure 316928DEST_PATH_IMAGE044
,按照以下 公式(8)计算得到第二部分签名值
Figure 364519DEST_PATH_IMAGE017
Figure DEST_PATH_IMAGE087
(8)。
进一步地,终端设备102可以判断第二部分签名值
Figure 267753DEST_PATH_IMAGE017
是否等于0,若等于0,则返回步 骤201,若不等于0则可以生成待签名消息的完整签名值
Figure 604056DEST_PATH_IMAGE019
在本申请实施例中,终端设备101和服务器102任意一方都无法单独产生完整的签名结果,确保签名真实有效。此外,由于采用不经意传输协议对隐私数据进行隐私乘法运算,仅涉及有限域上的少量大整数乘法和加法,不会涉及幂的运算和指数运算,所以不但可以避免泄露终端设备101和服务器102双方的私钥和随机数等隐私数据,还可以提高生成完整签名值的效率。
作为一种可选的实施方式,本申请实施例中,终端设备101在随机生成第一子私钥
Figure 188621DEST_PATH_IMAGE016
后,可以将第一子私钥
Figure 356297DEST_PATH_IMAGE041
与椭圆曲线E上的第一基点G相乘,得到终端设备101的第一仔公 钥
Figure DEST_PATH_IMAGE088
,并可以将第一仔公钥
Figure 633695DEST_PATH_IMAGE088
发送给服务器端102,以便服务器102可以根据第一仔公钥
Figure 722874DEST_PATH_IMAGE088
计算得到验证公钥
Figure DEST_PATH_IMAGE089
。进而服务器102可以使用该验证公钥
Figure 907867DEST_PATH_IMAGE089
,来验证接收的经数字签名后 的消息发送者的身份信息以及消息的可信度,即可以验证接收的消息是否是终端设备102 发送的,以及该消息是否可信。
基于同一发明构思,本申请实施例还提供了一种门限SM2数字签名方法,请参见图3,该方法应用于第二设备,即该方法可以应用于图1所示的服务器102中,包括:
步骤301:随机选取第二子私钥
Figure DEST_PATH_IMAGE090
,其中,
Figure DEST_PATH_IMAGE091
在本申请实施例中,与前述的终端设备101相同,服务器102每次数字签名时,使用的子私钥不相同,所以可以保护服务器102的签名子私钥的安全性。
步骤302:生成第五随机数
Figure 726788DEST_PATH_IMAGE039
和第六随机数
Figure 971824DEST_PATH_IMAGE051
,接收第一设备发送的第二基点
Figure 17141DEST_PATH_IMAGE006
, 其中,
Figure 740246DEST_PATH_IMAGE062
在本申请实施例中,服务器102可以随机生成在0-n的范围内第五随机数
Figure 820198DEST_PATH_IMAGE039
和第六 随机数
Figure 964697DEST_PATH_IMAGE051
,这两个随机数可以与步骤301中的第二子私钥
Figure 497309DEST_PATH_IMAGE038
共同作为服务器102的隐私数 据。
步骤303:根据第六随机数
Figure 24106DEST_PATH_IMAGE051
计算得到椭圆曲线E上的第三基点
Figure 958564DEST_PATH_IMAGE008
,以及根据第二 基点
Figure 14244DEST_PATH_IMAGE006
和第三基点
Figure 830890DEST_PATH_IMAGE008
,计算第一部分签名值
Figure 895798DEST_PATH_IMAGE015
,并在
Figure 481501DEST_PATH_IMAGE053
时,生成第四随机数
Figure 176924DEST_PATH_IMAGE040
在本申请实施例中,服务器102可以将生成的第六随机数
Figure 949708DEST_PATH_IMAGE051
与椭圆曲线上E上的第 一基点G相乘,得到第三基点
Figure 287148DEST_PATH_IMAGE008
,即可以按照公式(9)计算第三基点
Figure 992936DEST_PATH_IMAGE008
Figure DEST_PATH_IMAGE092
(9);
进而,服务器102可以将第三基点
Figure 187157DEST_PATH_IMAGE008
发送给终端设备101,以使得终端设备101可以根 据第三基点
Figure 181658DEST_PATH_IMAGE008
计算得到第一部分签名值
Figure 588369DEST_PATH_IMAGE015
进一步地,可以根据第二基点
Figure 351925DEST_PATH_IMAGE006
和所述第三基点
Figure 451468DEST_PATH_IMAGE008
计算得到第四基点
Figure 667686DEST_PATH_IMAGE032
,得到第 四基点
Figure 612508DEST_PATH_IMAGE032
的横坐标
Figure DEST_PATH_IMAGE093
,从而可以根据前述公式(5)计算得到第一部分签名值
Figure 361065DEST_PATH_IMAGE015
。进而可以判 断第一部分签名值
Figure 569192DEST_PATH_IMAGE015
是都等于0,若第一部分签名值
Figure 335023DEST_PATH_IMAGE015
等于0,则表明终端设备101签名失败, 终端设备101需要重新对带签名消息进行签名。若第一部分签名值
Figure 21219DEST_PATH_IMAGE015
不等于0,则可以按照公 式(10)计算得到第四随机数
Figure 821685DEST_PATH_IMAGE040
Figure 200714DEST_PATH_IMAGE063
(10)。
由于第一部分签名值
Figure 516157DEST_PATH_IMAGE015
的生成需要终端设备101和服务器102双方各自提供一部分 数据,因此,可以使得生成的第一部分签名值
Figure 802782DEST_PATH_IMAGE015
的可信度更高,避免出现伪造的签名。
步骤304:利用不经意传输协议对第二设备的隐私数据
Figure 926596DEST_PATH_IMAGE013
和隐私数据
Figure 7684DEST_PATH_IMAGE014
进行编码,得 到第一中间变量
Figure 748107DEST_PATH_IMAGE011
,并将所述第一中间变量
Figure 41685DEST_PATH_IMAGE011
和第二中间变量
Figure 82323DEST_PATH_IMAGE012
,以及随机生成的第三随 机数
Figure 68733DEST_PATH_IMAGE009
和随机数组
Figure 827611DEST_PATH_IMAGE010
发送给所述第一设备,以使得第一设备计算第二部分签名值
Figure 659300DEST_PATH_IMAGE017
,生成待 签名消息的完整签名值
Figure 40864DEST_PATH_IMAGE019
在本申请实施例中,服务器102的隐私数据
Figure 729334DEST_PATH_IMAGE013
可以等于所述第二设备生成的第二子 私钥
Figure 382032DEST_PATH_IMAGE048
与第五随机数
Figure 79730DEST_PATH_IMAGE050
之和,隐私数据
Figure 235905DEST_PATH_IMAGE014
可以等于第四随机数
Figure 360855DEST_PATH_IMAGE054
与第五随机数
Figure 235271DEST_PATH_IMAGE050
之和。换 言之,可以令隐私数据
Figure DEST_PATH_IMAGE094
,也可以令
Figure DEST_PATH_IMAGE095
进一步地,服务器102可以随机生成任意的256个素数,记为第三随机数
Figure 330134DEST_PATH_IMAGE075
,如
Figure DEST_PATH_IMAGE096
,这个256个随机数。同时服务器102还可以随机生成256个数组,记为随 机数组
Figure 668712DEST_PATH_IMAGE010
,如
Figure DEST_PATH_IMAGE097
。其中,可以令
Figure 230143DEST_PATH_IMAGE059
进而,服务器102可以根据公式(11)计算得到第一中间变量
Figure 654171DEST_PATH_IMAGE011
和第二中间变量
Figure 631355DEST_PATH_IMAGE012
Figure 27701DEST_PATH_IMAGE065
(11)。
进一步地,服务器可以将第一中间变量
Figure 494454DEST_PATH_IMAGE011
、第三随机数
Figure 343462DEST_PATH_IMAGE009
和随机数组
Figure 921073DEST_PATH_IMAGE010
发送给终端 设备101,以便终端设备101在利用不经传输协议对第一中间变量
Figure 437505DEST_PATH_IMAGE011
进行解码得到服务器 102的隐私数据
Figure 18703DEST_PATH_IMAGE013
和隐私数据
Figure 620585DEST_PATH_IMAGE014
,根据隐私数据
Figure 1888DEST_PATH_IMAGE013
、隐私数据
Figure 107247DEST_PATH_IMAGE014
以及自己的隐私数据
Figure 915803DEST_PATH_IMAGE022
和隐私 数据
Figure 473824DEST_PATH_IMAGE023
生成待签名消息的完整签名值
Figure 658817DEST_PATH_IMAGE072
在本申请实施例中,由于服务器102可以利用不经传输协议对隐私数据
Figure 618683DEST_PATH_IMAGE013
进行隐私 乘法运算,以便将服务器102的隐私数据
Figure 598140DEST_PATH_IMAGE013
和隐私数据
Figure 909036DEST_PATH_IMAGE014
隐藏起来,得到第一中间变量
Figure 632141DEST_PATH_IMAGE011
和第 二中间变量
Figure 446514DEST_PATH_IMAGE012
,将第一中间变量
Figure 596872DEST_PATH_IMAGE011
和第二中间变量
Figure 191802DEST_PATH_IMAGE012
发送给终端设备101。也就是说,可以 将服务器102的隐私数据
Figure 453019DEST_PATH_IMAGE013
和隐私数据
Figure 121897DEST_PATH_IMAGE014
进行隐藏后再发送给终端设备101。因此,可以避免 服务器102的隐私数据泄露,提高服务器102的子私钥的安全性,从而确保数据签名真实有 效。
并且,由于采用不经意传输协议对隐私数据
Figure 708737DEST_PATH_IMAGE013
和隐私数据
Figure 728645DEST_PATH_IMAGE014
进行隐私乘法运算,计 算过程中,仅涉及有限域上的少量大整数乘法和加法,不会涉及幂的运算和指数运算,所以 在避免泄露终端设备101和服务器102双方的私钥和随机数等隐私数据,保障终端设备101 和服务器102的子私钥的安全性和签名的真实性的同时,还可以提高生成完整签名值的效 率。
为了使本领域的技术人员能更加清楚的理解上述基于不经意传输协议的门限SM2数字签名的过程,下面将从第一设备和第二设备进行交互的过程进行详细的描述。
请参见图4,为终端设备101和服务器102对待签名消息进行数字签名的过程为:
步骤401:终端设备101随机选取第一子私钥
Figure 996815DEST_PATH_IMAGE041
,随机生成第一随机数
Figure 848097DEST_PATH_IMAGE004
和第二随机数
Figure DEST_PATH_IMAGE098
步骤402:终端设备101根据第一随机数
Figure 865557DEST_PATH_IMAGE004
计算得到椭圆曲线E上的第二基点
Figure 107183DEST_PATH_IMAGE006
,并将第 二基点
Figure 710202DEST_PATH_IMAGE006
发送给服务器102;
步骤403:服务器102随机选取第二子私钥
Figure 681569DEST_PATH_IMAGE048
,随机生成第五随机数
Figure 282315DEST_PATH_IMAGE050
和第六随机数
Figure 339133DEST_PATH_IMAGE051
, 根据第六随机数
Figure 683526DEST_PATH_IMAGE051
计算得到椭圆曲线E上的第三基点
Figure 712662DEST_PATH_IMAGE008
,并将第三基点
Figure 546626DEST_PATH_IMAGE008
发送给终端设备 101;
步骤404:终端设备101根据第二基点
Figure 28423DEST_PATH_IMAGE006
和第三基点
Figure 238824DEST_PATH_IMAGE008
计算第一部分签名值
Figure 856888DEST_PATH_IMAGE015
步骤405:终端设备101判断第一部分签名值
Figure 861753DEST_PATH_IMAGE015
是否等于0,若等于,则返回执行步骤 401;
步骤406:服务器102利用不经意传输协议分别对其隐私数据
Figure 627583DEST_PATH_IMAGE013
(等于服务器102生成的 第二子私钥
Figure 313780DEST_PATH_IMAGE048
与第五随机数
Figure 848666DEST_PATH_IMAGE050
之和)和隐私数据
Figure 758853DEST_PATH_IMAGE014
(等于服务器102生成的第四随机数
Figure 11980DEST_PATH_IMAGE054
和 第五随机数
Figure 501867DEST_PATH_IMAGE050
之和)进行编码,得到第一中间变量
Figure 156840DEST_PATH_IMAGE011
和第二中间变量
Figure 706770DEST_PATH_IMAGE012
步骤407:服务器102将第一中间变量
Figure 187473DEST_PATH_IMAGE011
和第二中间变量
Figure 12209DEST_PATH_IMAGE012
,以及随机生成的第三随机 数
Figure 521688DEST_PATH_IMAGE009
和随机数组
Figure 242519DEST_PATH_IMAGE010
发送给终端设备101;
步骤408:终端设备101利用不经意传输协议对第一中间变量
Figure 470238DEST_PATH_IMAGE011
和第二中间变量
Figure 301928DEST_PATH_IMAGE012
进行 解码,得到服务器102的隐私数据
Figure 665913DEST_PATH_IMAGE013
和隐私数据
Figure DEST_PATH_IMAGE099
,根据隐私数据
Figure 88804DEST_PATH_IMAGE022
(等于第一子私钥
Figure 803819DEST_PATH_IMAGE016
与第 一随机数
Figure 439200DEST_PATH_IMAGE070
之和)、隐私数据
Figure 860954DEST_PATH_IMAGE023
(等于第一随机数
Figure 985905DEST_PATH_IMAGE070
与第二随机数
Figure 125899DEST_PATH_IMAGE005
之和)、隐私数据
Figure 564971DEST_PATH_IMAGE013
和隐私 数据
Figure 903548DEST_PATH_IMAGE099
计算得到第二部分签名值
Figure 137084DEST_PATH_IMAGE017
步骤409:终端设备101判断第二部分签名值
Figure 764374DEST_PATH_IMAGE017
是否等于0,若不等于0,则执行步骤410, 若等于0,则返回执行步骤401;
步骤410:生成待签名消息的完整签名值
Figure 538295DEST_PATH_IMAGE072
基于同一发明构思,本申请实施例还提供了一种门限SM2数字签名装置,该门限SM2数字签名装置能够实现前述的门限SM2数字签名方法对应的功能。该门限SM2数字签名装置可以是硬件结构、软件模块、或硬件结构加软件模块。该门限SM2数字签名装置可以由芯片系统实现,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。请参见图5所示,该门限SM2数字签名装置包括第一选取模块501、第一计算模块502、接收模块503和第一生成模块504。其中:
第一选取模块501,用于随机选取第一子私钥
Figure 934641DEST_PATH_IMAGE002
,其中,
Figure 604657DEST_PATH_IMAGE003
Figure 515981DEST_PATH_IMAGE001
为第一基点G的 阶,
Figure 845592DEST_PATH_IMAGE001
为素数,G为椭圆曲线E上的第一基点;
第一计算模块502,用于生成第一随机数
Figure 362024DEST_PATH_IMAGE004
和第二随机数
Figure 937362DEST_PATH_IMAGE005
,根据第一随机数
Figure 539244DEST_PATH_IMAGE004
计算得 到椭圆曲线E上的第二基点
Figure 920547DEST_PATH_IMAGE006
,其中,
Figure 25907DEST_PATH_IMAGE007
接收模块503,用于接收第二设备发送的第三基点
Figure 568883DEST_PATH_IMAGE008
、第三随机数
Figure 189220DEST_PATH_IMAGE009
、随机数组
Figure 311897DEST_PATH_IMAGE010
、第一 中间变量
Figure 68501DEST_PATH_IMAGE011
和第二中间变量
Figure 47958DEST_PATH_IMAGE012
,并利用不经意传输协议分别对第一中间变量
Figure 155591DEST_PATH_IMAGE011
和第二中间 变量
Figure 613117DEST_PATH_IMAGE012
进行解码,得到第二设备的隐私数据
Figure 427490DEST_PATH_IMAGE013
和隐私数据
Figure 843428DEST_PATH_IMAGE014
第一生成模块504,用于根据第二基点
Figure 172778DEST_PATH_IMAGE006
和第三基点
Figure 168416DEST_PATH_IMAGE008
计算第一部分签名值
Figure 102874DEST_PATH_IMAGE015
,以及根 据第一子私钥
Figure 689713DEST_PATH_IMAGE016
、第一随机数
Figure 246639DEST_PATH_IMAGE004
、隐私数据
Figure 780389DEST_PATH_IMAGE013
和隐私数据
Figure 366091DEST_PATH_IMAGE014
计算第二部分签名值
Figure 795935DEST_PATH_IMAGE017
,并在第二 部分签名值
Figure 365457DEST_PATH_IMAGE071
时,生成待签名消息的完整签名值
Figure 171739DEST_PATH_IMAGE072
在一种可能的设计中,接收模块503具体用于:
分别令第一设备的隐私数据
Figure 877526DEST_PATH_IMAGE020
,隐私数据
Figure 743851DEST_PATH_IMAGE080
将隐私数据
Figure 535090DEST_PATH_IMAGE022
和隐私数据
Figure 410642DEST_PATH_IMAGE023
用二进制表示为
Figure 439778DEST_PATH_IMAGE024
Figure 211425DEST_PATH_IMAGE025
按照以下公式计算得到所述隐私数据
Figure 755539DEST_PATH_IMAGE013
Figure 903623DEST_PATH_IMAGE026
,其中,
Figure 787265DEST_PATH_IMAGE027
为求模运算,
Figure 792131DEST_PATH_IMAGE028
用于表征所述随机 数组
Figure 292382DEST_PATH_IMAGE010
中的值;
按照以下公式计算得到所述隐私数据
Figure 244158DEST_PATH_IMAGE014
Figure 982306DEST_PATH_IMAGE029
,其中,
Figure 158073DEST_PATH_IMAGE030
用于表征随机数组
Figure 411200DEST_PATH_IMAGE010
中的值。
在一种可能的设计中,第一计算模块502具体用于:
按照以下公式计算得到所述椭圆曲线上的第四基点
Figure 166666DEST_PATH_IMAGE032
Figure 24901DEST_PATH_IMAGE033
确定第四基点
Figure 365709DEST_PATH_IMAGE032
的横坐标
Figure 43815DEST_PATH_IMAGE034
和纵坐标
Figure 337393DEST_PATH_IMAGE035
按照以下公式计算得到所述第一部分签名值
Figure 846872DEST_PATH_IMAGE015
Figure 567703DEST_PATH_IMAGE036
,其中,
Figure 998684DEST_PATH_IMAGE037
为根据第一设备生成的待签名消息处理得到的哈希函数 值。
在一种可能的设计中,第一生成模块504具体用于:
当隐私数据
Figure 892691DEST_PATH_IMAGE013
等于第二设备生成的第二子私钥
Figure 459939DEST_PATH_IMAGE038
与第五随机数
Figure 617251DEST_PATH_IMAGE039
之和时,按照以下公 式计算得到第三中间变量
Figure 801107DEST_PATH_IMAGE042
Figure 702067DEST_PATH_IMAGE043
当隐私数据
Figure 123821DEST_PATH_IMAGE014
等于第二设备生成的第四随机数
Figure 248772DEST_PATH_IMAGE040
和第五随机数
Figure 388766DEST_PATH_IMAGE039
之和时,按照以下公 式计算得到第四中间变量
Figure 562259DEST_PATH_IMAGE044
Figure 104098DEST_PATH_IMAGE045
按照以下公式计算得到第二部分签名值
Figure 399951DEST_PATH_IMAGE017
Figure 761662DEST_PATH_IMAGE046
在一种可能的设计中,第一计算模块502还用于:
按照以下公式计算所述第二基点
Figure 801162DEST_PATH_IMAGE006
Figure 463087DEST_PATH_IMAGE047
基于同一发明构思,本申请实施例还提供了一种门限SM2数字签名装置,该门限SM2数字签名装置能够实现前述的门限SM2数字签名方法对应的功能。该门限SM2数字签名装置可以是硬件结构、软件模块、或硬件结构加软件模块。该门限SM2数字签名装置可以由芯片系统实现,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。请参见图6所示,该门限SM2数字签名装置包括第二选取模块601、第二选取模块602、第二计算模块603和第二生成模块604。其中:
第二选取模块601,用于随机选取第二子私钥
Figure 867524DEST_PATH_IMAGE038
,其中,
Figure 513269DEST_PATH_IMAGE091
Figure 294143DEST_PATH_IMAGE001
为第一基点G的 阶,
Figure 810575DEST_PATH_IMAGE001
为素数, G为椭圆曲线E上的第一基点,;
第二生成模块602,用于生成第五随机数
Figure 188510DEST_PATH_IMAGE039
和第六随机数
Figure 55972DEST_PATH_IMAGE051
,接收第一设备发送的第 二基点
Figure 437275DEST_PATH_IMAGE006
,其中,
Figure DEST_PATH_IMAGE100
第二计算模块603,用于根据第六随机数
Figure 870530DEST_PATH_IMAGE051
计算得到椭圆曲线E上的第三基点
Figure 882348DEST_PATH_IMAGE008
,以及 根据第二基点
Figure 502686DEST_PATH_IMAGE006
和第三基点
Figure 625362DEST_PATH_IMAGE008
,计算第一部分签名值
Figure 647545DEST_PATH_IMAGE015
,并在
Figure 564685DEST_PATH_IMAGE053
时,生成第四随机数
Figure 875581DEST_PATH_IMAGE040
第三生成模块604,用于利用不经意传输协议对第二设备的隐私数据
Figure 598686DEST_PATH_IMAGE013
和隐私数据
Figure 944217DEST_PATH_IMAGE014
进 行编码,得到第一中间变量
Figure 828997DEST_PATH_IMAGE011
和第二中间变量
Figure 158347DEST_PATH_IMAGE012
,并将第一中间变量
Figure 888405DEST_PATH_IMAGE011
和第二中间变量
Figure DEST_PATH_IMAGE101
, 以及随机生成的第三随机数
Figure 150759DEST_PATH_IMAGE009
和随机数组
Figure 409702DEST_PATH_IMAGE010
发送给第一设备,以使得第一设备计算第二部 分签名值
Figure 491928DEST_PATH_IMAGE017
,生成签名值
Figure 760098DEST_PATH_IMAGE019
在一种可能的设计中,第二计算模块603具体用于:
按照以下公式计算得到所述椭圆曲线上的第四基点
Figure 628958DEST_PATH_IMAGE032
Figure 58802DEST_PATH_IMAGE033
确定第四基点
Figure 628324DEST_PATH_IMAGE032
的横坐标
Figure 434606DEST_PATH_IMAGE034
和纵坐标
Figure 140393DEST_PATH_IMAGE035
按照以下公式计算所述第一部分签名值
Figure 6718DEST_PATH_IMAGE015
Figure 1219DEST_PATH_IMAGE036
,其中,
Figure 407930DEST_PATH_IMAGE037
为根据所述第一设备生成的待签名消息处理得到的哈希 函数值;
按照以下公式计算所述第四随机数
Figure 968224DEST_PATH_IMAGE054
Figure 5450DEST_PATH_IMAGE055
在一种可能的设计中,当隐私数据
Figure 487247DEST_PATH_IMAGE013
等于所述第二设备生成的第二子私钥
Figure 697649DEST_PATH_IMAGE038
与第 五随机数
Figure 315712DEST_PATH_IMAGE039
之和,隐私数据
Figure 586156DEST_PATH_IMAGE099
等于第二设备生成的第四随机数
Figure 555249DEST_PATH_IMAGE040
和第五随机数
Figure 507025DEST_PATH_IMAGE039
之和时, 第三生成模块604具体于:
第二设备随机生成
Figure 245173DEST_PATH_IMAGE056
Figure 686519DEST_PATH_IMAGE057
这256个第三随机数
Figure 142908DEST_PATH_IMAGE064
,以及随机生成
Figure 632795DEST_PATH_IMAGE058
这256个随机数组
Figure 287768DEST_PATH_IMAGE010
,其中,
Figure 572118DEST_PATH_IMAGE059
按照以下公式计算得到第一中间变量
Figure 515804DEST_PATH_IMAGE011
和第二中间变量
Figure 877558DEST_PATH_IMAGE012
Figure 590299DEST_PATH_IMAGE065
前述的门限SM2数字签名方法的实施例涉及的各步骤的所有相关内容均可以援引到本申请实施例中的门限SM2数字签名装置所对应的功能模块的功能描述,在此不再赘述。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
该电子设备例如是图1中的终端设备101或服务器102。如图7所示,本申请实施例中的电子设备包括至少一个处理器701,以及与至少一个处理器701连接的存储器702和通信接口703,本申请实施例中不限定处理器701与存储器702之间的具体连接介质,图7中是以处理器701和存储器702之间通过总线700连接为例,总线700在图7中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线700可以分为地址总线、数据总线、控制总线等,为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,存储器702存储有可被至少一个处理器701执行的指令,至少一个处理器701通过执行存储器702存储的指令,可以执行前述的门限SM2数字签名方法所包括的步骤。
其中,处理器701是计算的控制中心,可以利用各种接口和线路连接整个计算的各个部分,通过运行或执行存储在存储器702内的指令以及调用存储在存储器702内的数据,电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器701可包括一个或多个处理单元,处理器701可集成应用处理器和调制解调处理器,其中,处理器701主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。在一些实施例中,处理器701和存储器702可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器701可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器702作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器702可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器702是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器702还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通信接口703是能够用于进行通信的传输接口,可以通过通信接口703接收数据或者发送数据。以电子设备为图1中终端设备101为例,当完成对待签名消息的签名后,可以通信接口703向服务器102生成的签名值。
基于同一发明构思,本申请实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行门限SM2数字签名方法的步骤。
在一些可能的实施方式中,本申请实施例提供的门限SM2数字签名方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机上运行时,所述程序代码用于使所述计算机执行前文述描述的根据本申请各种示例性实施方式的门限SM2数字签名方法包括的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (18)

1.一种门限SM2数字签名方法,其特征在于,应用于第一设备,其中,G为椭圆曲线E上的 第一基点,第一基点G的阶为
Figure DEST_PATH_IMAGE001
Figure 468745DEST_PATH_IMAGE001
为素数,所述方法包括:
随机选取第一子私钥
Figure DEST_PATH_IMAGE002
,其中,
Figure DEST_PATH_IMAGE003
生成第一随机数
Figure DEST_PATH_IMAGE004
和第二随机数
Figure DEST_PATH_IMAGE005
, 根据所述第一随机数
Figure 215115DEST_PATH_IMAGE004
计算得到所述椭圆曲线E 上的第二基点
Figure DEST_PATH_IMAGE006
,其中,
Figure DEST_PATH_IMAGE007
接收第二设备发送的第三基点
Figure DEST_PATH_IMAGE008
、第三随机数
Figure DEST_PATH_IMAGE009
、随机数组
Figure DEST_PATH_IMAGE010
、第一中间变量
Figure DEST_PATH_IMAGE011
和第二中 间变量
Figure DEST_PATH_IMAGE012
,并利用不经意传输协议分别对第一中间变量
Figure 713355DEST_PATH_IMAGE011
和第二中间变量
Figure 441139DEST_PATH_IMAGE012
进行解码,得 到第二设备的隐私数据
Figure DEST_PATH_IMAGE013
和隐私数据
Figure DEST_PATH_IMAGE014
根据所述第二基点
Figure 533817DEST_PATH_IMAGE006
和所述第三基点
Figure 208512DEST_PATH_IMAGE008
计算第一部分签名值
Figure DEST_PATH_IMAGE015
,以及根据所述第一子 私钥
Figure 138422DEST_PATH_IMAGE002
、所述第一随机数
Figure 240370DEST_PATH_IMAGE004
、所述隐私数据
Figure 216416DEST_PATH_IMAGE013
和所述隐私数据
Figure 163644DEST_PATH_IMAGE014
计算第二部分签名值
Figure DEST_PATH_IMAGE016
,并在 所述第二部分签名值
Figure DEST_PATH_IMAGE017
时,生成待签名消息的完整签名值
Figure DEST_PATH_IMAGE018
2.如权利要求1所述的方法,其特征在于,利用不经意传输协议对所述第一中间变量
Figure 885743DEST_PATH_IMAGE011
进行解码,得到所述第二设备的隐私数据
Figure 893014DEST_PATH_IMAGE013
和隐私数据
Figure 356356DEST_PATH_IMAGE014
,包括:
分别令第一设备的隐私数据
Figure DEST_PATH_IMAGE019
,隐私数据
Figure DEST_PATH_IMAGE020
将所述隐私数据
Figure DEST_PATH_IMAGE021
和所述隐私数据
Figure DEST_PATH_IMAGE022
用二进制表示为
Figure DEST_PATH_IMAGE023
Figure DEST_PATH_IMAGE024
按照以下公式计算得到所述隐私数据
Figure 123586DEST_PATH_IMAGE013
Figure DEST_PATH_IMAGE025
,其中,
Figure DEST_PATH_IMAGE026
为求模运算,
Figure DEST_PATH_IMAGE027
用于表征随机数组
Figure 428753DEST_PATH_IMAGE010
中的值;
按照以下公式计算得到所述隐私数据
Figure 872504DEST_PATH_IMAGE014
Figure DEST_PATH_IMAGE028
,其中,
Figure DEST_PATH_IMAGE029
用于表征随机数组
Figure 698509DEST_PATH_IMAGE010
中的值。
3.如权利要求1所述的方法,其特征在于,根据所述第二基点
Figure 518697DEST_PATH_IMAGE006
和所述第三基点
Figure 340023DEST_PATH_IMAGE008
计算 第一部分签名值
Figure DEST_PATH_IMAGE030
,包括:
按照以下公式计算得到所述椭圆曲线上的第四基点
Figure DEST_PATH_IMAGE031
Figure DEST_PATH_IMAGE032
确定所述第四基点
Figure 361199DEST_PATH_IMAGE031
的横坐标
Figure DEST_PATH_IMAGE033
和纵坐标
Figure DEST_PATH_IMAGE034
按照以下公式计算得到所述第一部分签名值
Figure 674500DEST_PATH_IMAGE015
Figure DEST_PATH_IMAGE035
,其中,
Figure DEST_PATH_IMAGE036
为根据所述第一设备生成的待签名消息处理得到的哈希函 数值。
4.如权利要求2所述的方法,其特征在于,所述隐私数据
Figure 439325DEST_PATH_IMAGE013
等于所述第二设备生成的第 二子私钥
Figure DEST_PATH_IMAGE037
与第五随机数
Figure DEST_PATH_IMAGE038
之和,所述隐私数据
Figure 453505DEST_PATH_IMAGE014
等于所述第二设备生成的第四随机数
Figure DEST_PATH_IMAGE039
和所述第五随机数
Figure 973480DEST_PATH_IMAGE038
之和;
则根据所述第一子私钥
Figure 633131DEST_PATH_IMAGE002
、所述第一随机数
Figure 529543DEST_PATH_IMAGE004
、所述隐私数据
Figure 325461DEST_PATH_IMAGE013
和所述隐私数据
Figure 281915DEST_PATH_IMAGE014
计算 第二部分签名值
Figure 163284DEST_PATH_IMAGE016
,包括:
当所述隐私数据
Figure 394545DEST_PATH_IMAGE013
等于所述第二设备生成的第二子私钥
Figure DEST_PATH_IMAGE040
与第五随机数
Figure 185914DEST_PATH_IMAGE038
之和时,按 照以下公式计算得到第三中间变量
Figure DEST_PATH_IMAGE041
Figure DEST_PATH_IMAGE042
当所述隐私数据
Figure 516533DEST_PATH_IMAGE014
等于所述第二设备生成的第四随机数
Figure 354039DEST_PATH_IMAGE039
和所述第五随机数
Figure 857832DEST_PATH_IMAGE038
之和 时,按照以下公式计算得到第四中间变量
Figure DEST_PATH_IMAGE043
Figure DEST_PATH_IMAGE044
按照以下公式计算得到第二部分签名值
Figure 193391DEST_PATH_IMAGE016
Figure DEST_PATH_IMAGE045
5.如权利要求1所述的方法,其特征在于,根据所述第一随机数
Figure 429331DEST_PATH_IMAGE004
计算得到所述椭圆曲 线E上的第二基点
Figure 550871DEST_PATH_IMAGE006
,包括:
按照以下公式计算所述第二基点
Figure 858355DEST_PATH_IMAGE006
Figure DEST_PATH_IMAGE046
6.一种门限SM2数字签名方法,其特征在于,应用于第二设备,其中,G为椭圆曲线E上的 第一基点,第一基点G的阶为
Figure 358738DEST_PATH_IMAGE001
Figure 359055DEST_PATH_IMAGE001
为素数,所述方法包括:
随机选取第二子私钥
Figure DEST_PATH_IMAGE047
,其中,
Figure DEST_PATH_IMAGE048
生成第五随机数
Figure DEST_PATH_IMAGE049
和第六随机数
Figure DEST_PATH_IMAGE050
,接收第一设备发送的第二基点
Figure 718623DEST_PATH_IMAGE006
,其中,
Figure DEST_PATH_IMAGE051
根据所述第六随机数
Figure 501903DEST_PATH_IMAGE050
计算得到所述椭圆曲线E上的第三基点值
Figure 247005DEST_PATH_IMAGE008
,以及根据所述第 二基点
Figure 887065DEST_PATH_IMAGE006
和所述第三基点
Figure 920880DEST_PATH_IMAGE008
,计算第一部分签名值
Figure 366904DEST_PATH_IMAGE015
,并在所述
Figure DEST_PATH_IMAGE052
时,生成第四随机数
Figure 632758DEST_PATH_IMAGE039
利用所述不经意传输协议对所述第二设备的隐私数据
Figure 443719DEST_PATH_IMAGE013
和所述隐私数据
Figure 964830DEST_PATH_IMAGE014
进行编码,得 到第一中间变量
Figure 152229DEST_PATH_IMAGE011
和第二中间变量
Figure 871923DEST_PATH_IMAGE012
,并将所述第一中间变量
Figure 119365DEST_PATH_IMAGE011
和第二中间变量
Figure 862193DEST_PATH_IMAGE012
,以及 随机生成的第三随机数
Figure DEST_PATH_IMAGE053
和随机数组
Figure 118862DEST_PATH_IMAGE010
发送给所述第一设备,以使得所述第一设备计算第 二部分签名值
Figure 630746DEST_PATH_IMAGE016
,生成签名值
Figure 845827DEST_PATH_IMAGE018
7.如权利要求6所述的方法,其特征在于,根据所述第二基点
Figure 75951DEST_PATH_IMAGE006
和所述第三基点
Figure 605152DEST_PATH_IMAGE008
,计 算所述第一部分签名值
Figure 33859DEST_PATH_IMAGE030
,并在所述
Figure 357525DEST_PATH_IMAGE052
时,生成第四随机数
Figure 137262DEST_PATH_IMAGE039
,包括:
按照以下公式计算得到所述椭圆曲线上的第四基点
Figure 470154DEST_PATH_IMAGE031
Figure 487789DEST_PATH_IMAGE032
确定所述第四基点
Figure 247934DEST_PATH_IMAGE031
的横坐标
Figure 446791DEST_PATH_IMAGE033
和纵坐标
Figure 380112DEST_PATH_IMAGE034
按照以下公式计算所述第一部分签名值
Figure 924357DEST_PATH_IMAGE015
Figure 917721DEST_PATH_IMAGE035
,其中,
Figure 609733DEST_PATH_IMAGE036
为根据所述第一设备生成的待签名消息处理得到的哈希函 数值;
按照以下公式计算所述第四随机数
Figure 815587DEST_PATH_IMAGE039
Figure DEST_PATH_IMAGE054
8.如权利要求6所述的方法,其特征在于,所述隐私数据
Figure 948759DEST_PATH_IMAGE013
等于所述第二设备生成的第 二子私钥
Figure 316286DEST_PATH_IMAGE037
与第五随机数
Figure 26753DEST_PATH_IMAGE049
之和,所述隐私数据
Figure 36298DEST_PATH_IMAGE014
等于所述第二设备生成的第四随机数
Figure 351873DEST_PATH_IMAGE039
和所述第五随机数
Figure 421460DEST_PATH_IMAGE049
之和;
则利用所述不经意传输协议分别对所述第二设备的隐私数据
Figure 822485DEST_PATH_IMAGE013
和所述隐私数据
Figure 635720DEST_PATH_IMAGE014
进行 编码,得到第一中间变量
Figure 602539DEST_PATH_IMAGE011
和第二中间变量
Figure 46290DEST_PATH_IMAGE012
,包括:
所述第二设备随机生成
Figure DEST_PATH_IMAGE055
Figure DEST_PATH_IMAGE056
这256个第三随机数
Figure 341137DEST_PATH_IMAGE053
,以及随机生成
Figure DEST_PATH_IMAGE057
这256个随机数组
Figure 624307DEST_PATH_IMAGE010
,其中,
Figure DEST_PATH_IMAGE058
按照以下公式计算得到第一中间变量
Figure 383316DEST_PATH_IMAGE011
和第二中间变量
Figure 263547DEST_PATH_IMAGE012
Figure DEST_PATH_IMAGE059
9.一种门限SM2数字签名装置,其特征在于,包括:
第一选取模块,用于随机选取第一子私钥
Figure 108006DEST_PATH_IMAGE002
,其中,
Figure 263044DEST_PATH_IMAGE003
Figure 407718DEST_PATH_IMAGE001
为第一基点G的阶,
Figure 193271DEST_PATH_IMAGE001
为素数,G为椭圆曲线E上的第一基点;
第一计算模块,用于生成第一随机数
Figure 852922DEST_PATH_IMAGE004
和第二随机数
Figure DEST_PATH_IMAGE060
, 根据所述第一随机数
Figure 218176DEST_PATH_IMAGE004
计算 得到所述椭圆曲线E上的第二基点
Figure 279673DEST_PATH_IMAGE006
,其中,
Figure DEST_PATH_IMAGE061
接收模块,用于接收第二设备发送的第三基点
Figure 173811DEST_PATH_IMAGE008
、第三随机数
Figure 320758DEST_PATH_IMAGE053
、随机数组
Figure 755282DEST_PATH_IMAGE010
、第一中间 变量
Figure 874547DEST_PATH_IMAGE011
和第二中间变量
Figure DEST_PATH_IMAGE062
,并利用不经意传输协议分别对第一中间变量
Figure 19482DEST_PATH_IMAGE011
和第二中间变量
Figure 856988DEST_PATH_IMAGE012
进行解码,得到第二设备的隐私数据
Figure 95202DEST_PATH_IMAGE013
和隐私数据
Figure 865712DEST_PATH_IMAGE014
第一生成模块,用于根据所述第二基点
Figure 429548DEST_PATH_IMAGE006
和所述第三基点
Figure 488771DEST_PATH_IMAGE008
计算第一部分签名值
Figure 530677DEST_PATH_IMAGE015
,以 及根据所述第一子私钥
Figure DEST_PATH_IMAGE063
、所述第一随机数
Figure 93376DEST_PATH_IMAGE004
、所述隐私数据
Figure 624852DEST_PATH_IMAGE013
和所述隐私数据
Figure 905791DEST_PATH_IMAGE014
计算第二 部分签名值
Figure 16967DEST_PATH_IMAGE016
,并在所述第二部分签名值
Figure DEST_PATH_IMAGE064
时,生成待签名消息的完整签名值
Figure DEST_PATH_IMAGE065
10.如权利要求 9所述的装置,其特征在于,所述接收模块具体用于:
分别令第一设备的隐私数据
Figure 840697DEST_PATH_IMAGE019
,隐私数据
Figure 746337DEST_PATH_IMAGE020
将所述隐私数据
Figure 576889DEST_PATH_IMAGE021
和所述隐私数据
Figure 429439DEST_PATH_IMAGE022
用二进制表示为
Figure DEST_PATH_IMAGE066
Figure 164133DEST_PATH_IMAGE024
按照以下公式计算得到所述隐私数据
Figure 37412DEST_PATH_IMAGE013
Figure DEST_PATH_IMAGE067
,其中,
Figure 230627DEST_PATH_IMAGE026
为求模运算,
Figure DEST_PATH_IMAGE068
用于表征随机数组
Figure 152446DEST_PATH_IMAGE010
中的值;
按照以下公式计算得到所述隐私数据
Figure 809824DEST_PATH_IMAGE014
Figure DEST_PATH_IMAGE069
,其中,
Figure 791686DEST_PATH_IMAGE029
用于表征随机数组
Figure 534514DEST_PATH_IMAGE010
中的值。
11.如权利要求9所述的装置,其特征在于,第一计算模块具体用于:
按照以下公式计算得到所述椭圆曲线上的第四基点
Figure 525604DEST_PATH_IMAGE031
Figure 303067DEST_PATH_IMAGE032
确定所述第四基点
Figure 518148DEST_PATH_IMAGE031
的横坐标
Figure 279430DEST_PATH_IMAGE033
和纵坐标
Figure 808632DEST_PATH_IMAGE034
按照以下公式计算得到所述第一部分签名值
Figure 237339DEST_PATH_IMAGE015
Figure 561004DEST_PATH_IMAGE035
,其中,
Figure 340741DEST_PATH_IMAGE036
为根据第一设备生成的待签名消息处理得到的哈希函数 值。
12.如权利要求10所述的装置,其特征在于,所述第一生成模块具体用于:
当所述隐私数据
Figure DEST_PATH_IMAGE070
等于所述第二设备生成的第二子私钥
Figure 136616DEST_PATH_IMAGE037
与第五随机数
Figure 357513DEST_PATH_IMAGE049
之和时,按 照以下公式计算得到第三中间变量
Figure DEST_PATH_IMAGE071
Figure DEST_PATH_IMAGE072
当所述隐私数据
Figure 258604DEST_PATH_IMAGE014
等于所述第二设备生成的第四随机数
Figure 260058DEST_PATH_IMAGE039
和所述第五随机数
Figure 865483DEST_PATH_IMAGE049
之和 时,按照以下公式计算得到第四中间变量
Figure 268782DEST_PATH_IMAGE043
Figure DEST_PATH_IMAGE073
按照以下公式计算得到第二部分签名值
Figure 934250DEST_PATH_IMAGE016
Figure 891842DEST_PATH_IMAGE045
13.如权利要求9所述的装置,其特征在于,第一计算模块还用于:
按照以下公式计算所述第二基点
Figure 566537DEST_PATH_IMAGE006
Figure DEST_PATH_IMAGE074
14.一种门限SM2数字签名装置,其特征在于,包括:
第二选取模块,用于随机选取第二子私钥
Figure 762026DEST_PATH_IMAGE037
,其中,
Figure DEST_PATH_IMAGE075
Figure 67236DEST_PATH_IMAGE001
为第一基点G的阶,
Figure 43283DEST_PATH_IMAGE001
为素数, G为椭圆曲线E上的第一基点,;
第二生成模块,用于生成第五随机数
Figure 256089DEST_PATH_IMAGE049
和第六随机数
Figure DEST_PATH_IMAGE076
,接收第一设备发送的第二基 点
Figure 40506DEST_PATH_IMAGE006
,其中,
Figure DEST_PATH_IMAGE077
第二计算模块,用于根据所述第六随机数
Figure 41916DEST_PATH_IMAGE076
计算得到所述椭圆曲线E上的第三基点值
Figure 239680DEST_PATH_IMAGE008
,以及根据所述第二基点
Figure 52915DEST_PATH_IMAGE006
和所述第三基点
Figure 222996DEST_PATH_IMAGE008
,计算第一部分签名值
Figure 463485DEST_PATH_IMAGE015
,并在所述
Figure 351806DEST_PATH_IMAGE052
时,生成第四随机数
Figure 968732DEST_PATH_IMAGE039
第三生成模块,用于利用所述不经意传输协议对第二设备的隐私数据
Figure 993320DEST_PATH_IMAGE013
和所述隐私数 据
Figure 404710DEST_PATH_IMAGE014
进行编码,得到第一中间变量
Figure 780328DEST_PATH_IMAGE011
和第二中间变量
Figure 404207DEST_PATH_IMAGE012
,并将所述第一中间变量
Figure 283301DEST_PATH_IMAGE011
和第二中 间变量
Figure 334434DEST_PATH_IMAGE012
,以及随机生成的第三随机数
Figure 994085DEST_PATH_IMAGE053
和随机数组
Figure 890497DEST_PATH_IMAGE010
发送给所述第一设备,以使得所述第 一设备计算第二部分签名值
Figure 951994DEST_PATH_IMAGE016
,生成签名值
Figure 908449DEST_PATH_IMAGE065
15.如权利要求14所述的装置,其特征在于,所述第二计算模块具体用于:
按照以下公式计算得到所述椭圆曲线上的第四基点
Figure 789817DEST_PATH_IMAGE031
Figure 489920DEST_PATH_IMAGE032
确定所述第四基点
Figure 140344DEST_PATH_IMAGE031
的横坐标
Figure 19699DEST_PATH_IMAGE033
和纵坐标
Figure 857205DEST_PATH_IMAGE034
按照以下公式计算所述第一部分签名值
Figure 360999DEST_PATH_IMAGE015
Figure 131509DEST_PATH_IMAGE035
,其中,
Figure 429766DEST_PATH_IMAGE036
为根据所述第一设备生成的待签名消息处理得到的哈希函 数值;
按照以下公式计算所述第四随机数
Figure DEST_PATH_IMAGE078
Figure DEST_PATH_IMAGE079
16.如权利要求14所述的装置,其特征在于,当所述隐私数据
Figure 895513DEST_PATH_IMAGE013
等于所述第二设备生成 的第二子私钥
Figure 999736DEST_PATH_IMAGE037
与第五随机数
Figure 828014DEST_PATH_IMAGE049
之和,所述隐私数据
Figure DEST_PATH_IMAGE080
等于所述第二设备生成的第四随机 数
Figure 297173DEST_PATH_IMAGE039
和所述第五随机数
Figure 578113DEST_PATH_IMAGE049
之和时,所述第三生成模块具体于:
所述第二设备随机生成
Figure DEST_PATH_IMAGE081
Figure 158130DEST_PATH_IMAGE056
这256个第三随机数
Figure DEST_PATH_IMAGE082
,以及随机生成
Figure DEST_PATH_IMAGE083
这256个随机数组
Figure 716281DEST_PATH_IMAGE010
,其中,
Figure 412799DEST_PATH_IMAGE058
按照以下公式计算得到第一中间变量
Figure 181034DEST_PATH_IMAGE011
和第二中间变量
Figure 627059DEST_PATH_IMAGE012
Figure DEST_PATH_IMAGE084
17.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的计算机存储介质;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-5和/或6-8中任一项所述的门限SM2数字签名方法。
18.一种存储介质,所述存储介质存储有计算机可执行指令,其特征在于,所述计算机可执行指令被配置为执行如权利要求1-5和/或6-8中任一项所述的门限SM2数字签名方法。
CN202010185188.7A 2020-03-17 2020-03-17 一种门限sm2数字签名方法、装置、电子设备及存储介质 Active CN111064583B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010185188.7A CN111064583B (zh) 2020-03-17 2020-03-17 一种门限sm2数字签名方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010185188.7A CN111064583B (zh) 2020-03-17 2020-03-17 一种门限sm2数字签名方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111064583A true CN111064583A (zh) 2020-04-24
CN111064583B CN111064583B (zh) 2020-07-31

Family

ID=70307930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010185188.7A Active CN111064583B (zh) 2020-03-17 2020-03-17 一种门限sm2数字签名方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111064583B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112769786A (zh) * 2020-12-29 2021-05-07 杭州趣链科技有限公司 基于不经意传输规则的数据传输方法、装置和计算机设备
CN112994889A (zh) * 2021-04-29 2021-06-18 北京信安世纪科技股份有限公司 基于sm2的数据处理方法、系统以及电子设备
CN113259329A (zh) * 2021-04-26 2021-08-13 北京信安世纪科技股份有限公司 一种数据不经意传输方法、装置、电子设备及存储介质
CN113343259A (zh) * 2021-06-17 2021-09-03 北京宏思电子技术有限责任公司 基于sm2的联合签名实现方法、装置、电子设备及存储介质
CN115065470A (zh) * 2022-08-05 2022-09-16 北京信安世纪科技股份有限公司 数据传输方法和设备
CN117155584A (zh) * 2023-10-27 2023-12-01 北京信安世纪科技股份有限公司 Schnorr数字签名方法、系统及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8971528B2 (en) * 2013-01-29 2015-03-03 Certicom Corp. Modified elliptic curve signature algorithm for message recovery
CN107634836A (zh) * 2017-09-05 2018-01-26 何德彪 一种sm2数字签名生成方法及系统
CN108667626A (zh) * 2018-07-20 2018-10-16 陕西师范大学 安全的两方协作sm2签名方法
CN108667627A (zh) * 2018-07-20 2018-10-16 武汉大学 基于两方协同的sm2数字签名方法
CN109639439A (zh) * 2019-02-27 2019-04-16 武汉大学 一种基于两方协同的ecdsa数字签名方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8971528B2 (en) * 2013-01-29 2015-03-03 Certicom Corp. Modified elliptic curve signature algorithm for message recovery
CN107634836A (zh) * 2017-09-05 2018-01-26 何德彪 一种sm2数字签名生成方法及系统
CN108667626A (zh) * 2018-07-20 2018-10-16 陕西师范大学 安全的两方协作sm2签名方法
CN108667627A (zh) * 2018-07-20 2018-10-16 武汉大学 基于两方协同的sm2数字签名方法
CN109639439A (zh) * 2019-02-27 2019-04-16 武汉大学 一种基于两方协同的ecdsa数字签名方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112769786A (zh) * 2020-12-29 2021-05-07 杭州趣链科技有限公司 基于不经意传输规则的数据传输方法、装置和计算机设备
CN113259329A (zh) * 2021-04-26 2021-08-13 北京信安世纪科技股份有限公司 一种数据不经意传输方法、装置、电子设备及存储介质
CN113259329B (zh) * 2021-04-26 2022-07-15 北京信安世纪科技股份有限公司 一种数据不经意传输方法、装置、电子设备及存储介质
CN112994889A (zh) * 2021-04-29 2021-06-18 北京信安世纪科技股份有限公司 基于sm2的数据处理方法、系统以及电子设备
CN113343259A (zh) * 2021-06-17 2021-09-03 北京宏思电子技术有限责任公司 基于sm2的联合签名实现方法、装置、电子设备及存储介质
CN113343259B (zh) * 2021-06-17 2023-09-29 北京宏思电子技术有限责任公司 基于sm2的联合签名实现方法、装置、电子设备及存储介质
CN115065470A (zh) * 2022-08-05 2022-09-16 北京信安世纪科技股份有限公司 数据传输方法和设备
CN115065470B (zh) * 2022-08-05 2022-11-11 北京信安世纪科技股份有限公司 数据传输方法和设备
CN117155584A (zh) * 2023-10-27 2023-12-01 北京信安世纪科技股份有限公司 Schnorr数字签名方法、系统及设备
CN117155584B (zh) * 2023-10-27 2024-01-26 北京信安世纪科技股份有限公司 Schnorr数字签名方法、系统及设备

Also Published As

Publication number Publication date
CN111064583B (zh) 2020-07-31

Similar Documents

Publication Publication Date Title
CN111064583B (zh) 一种门限sm2数字签名方法、装置、电子设备及存储介质
CN109309569B (zh) 基于sm2算法的协同签名的方法、装置及存储介质
US8874900B2 (en) Direct anonymous attestation scheme with outsourcing capability
CN113569294B (zh) 一种零知识证明方法及装置、电子设备、存储介质
CN111476572B (zh) 基于区块链的数据处理方法、装置、存储介质及设备
US9832018B2 (en) Method of generating a public key for an electronic device and electronic device
CN110570196A (zh) 交易数据处理方法、装置、终端设备以及存储介质
US8509429B2 (en) Protection of a prime number generation against side-channel attacks
JP7206324B2 (ja) 暗号アルゴリズム向けのワンタイムの中国剰余定理のべき乗のためのシステムおよび方法
CN113743939A (zh) 基于区块链的身份认证方法、装置及系统
US20160149708A1 (en) Electronic signature system
CN112036878B (zh) 数据处理方法及装置
CN112632630A (zh) 一种基于sm2的协同签名计算方法及装置
CN112184245B (zh) 一种跨区块链的交易身份确认方法及装置
CN111600703B (zh) 基于sm2的签名方法、系统、电子设备及存储介质
CN111628863B (zh) 一种数据签名的方法、装置、电子设备及存储介质
CN111262707B (zh) 数字签名方法及验证方法、设备、存储介质
CN112887097A (zh) 基于sm2椭圆曲线的签名方法、相关装置、及存储介质
CN112734423A (zh) 一种基于区块链的交易方法及终端设备
CN111311210A (zh) 一种非对称加密的数字货币交易数据处理方法及装置
CN112039891B (zh) 一种区块链共享异常数据的方法及装置
CN113972984B (zh) ElGamal密文等价判断方法及装置
CN115809482B (zh) 基于随机数混淆的数据聚合计算方法、装置、介质及设备
CN109687962B (zh) 基于私钥池的抗量子计算mqv密钥协商方法和系统
CN114567425A (zh) 物联网通信方法、系统、SoC Sim和物联网终端

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