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

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

Info

Publication number
CN111064583B
CN111064583B CN202010185188.7A CN202010185188A CN111064583B CN 111064583 B CN111064583 B CN 111064583B CN 202010185188 A CN202010185188 A CN 202010185188A CN 111064583 B CN111064583 B CN 111064583B
Authority
CN
China
Prior art keywords
random number
base point
calculating
intermediate variable
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.)
Active
Application number
CN202010185188.7A
Other languages
English (en)
Other versions
CN111064583A (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 128801DEST_PATH_IMAGE002
和第二随机数
Figure 100004_DEST_PATH_IMAGE003
,根据所述第一随机数
Figure 493704DEST_PATH_IMAGE002
计算得到所述椭圆曲线E上的第二基点
Figure 223763DEST_PATH_IMAGE004
;接收第二设备发送的第三基点
Figure 100004_DEST_PATH_IMAGE005
、第三随机数
Figure 486117DEST_PATH_IMAGE006
、随机数组
Figure 100004_DEST_PATH_IMAGE007
和第一中间变量
Figure 902317DEST_PATH_IMAGE008
和第二中间变量
Figure 100004_DEST_PATH_IMAGE009
,利用不经意传输协议分别对第一中间变量
Figure 125488DEST_PATH_IMAGE008
和所述第二中间变量
Figure 580609DEST_PATH_IMAGE009
进行解码,得到第二设备的隐私数据
Figure 100004_DEST_PATH_IMAGE011
和隐私数据
Figure 776098DEST_PATH_IMAGE012
;根据第二基点
Figure 891428DEST_PATH_IMAGE004
和所述第三基点
Figure 539578DEST_PATH_IMAGE005
计算第一部分签名值
Figure 100004_DEST_PATH_IMAGE013
,以及根据第一子私钥
Figure 798390DEST_PATH_IMAGE014
、第一随机数
Figure 100004_DEST_PATH_IMAGE015
、隐私数据
Figure 271222DEST_PATH_IMAGE011
和隐私数据
Figure 137547DEST_PATH_IMAGE012
计算第二部分签名值
Figure 7414DEST_PATH_IMAGE016
并在第二部分签名值
Figure 100004_DEST_PATH_IMAGE017
时,生成待签名消息的完整签名值
Figure 335496DEST_PATH_IMAGE018

Description

一种门限SM2数字签名方法、装置、电子设备及存储介质
技术领域
本申请涉及加解密技术领域,尤其涉及一种门限SM2数字签名方法、装置、电子设备及存储介质。
背景技术
随着网络技术的发展,智能终端的功能日益丰富,如,移动支付、移动办公等这些新的业务都可以在智能终端上进行操作,如何保障智能终端的安全变得尤为重要。
目前,为了保护用户隐私安全和业务的不可抵赖性,通常会使用到数字签名技术。在传统的数字签名技术中,签名者不仅持有CA机构签发的用于标明其身份和公钥的数字证书,还拥有用于计算签名的私钥。智能终端通过的软件实现的数字签名时,可以将数据签名使用的密钥存放在智能终端的内存中,这种方式中私钥的安全性不高,容易受到攻击;也可以采用硬件的方式如硬件设备usbkey来存储密钥,但这中采用硬件设备存储的方式也容易出现密钥泄露的问题,且用户的体验感较差,签名效率低。因此,如何提高密钥的安全性和签名效率是值得思考的问题。
发明内容
本申请的目的在于提供一种门限SM2数字签名方法、装置、电子设备及存储介质,以解决数字签名效率低的问题。
第一方面,提供了一种门限SM2数字签名方法,应用于第一设备,其中,G为椭圆曲 线E上的第一基点,第一基点G的阶为
Figure DEST_PATH_IMAGE001
Figure 400540DEST_PATH_IMAGE001
为素数,包括:
随机选取第一子私钥
Figure 100002_DEST_PATH_IMAGE002
,其中,
Figure DEST_PATH_IMAGE003
生成第一随机数
Figure 100002_DEST_PATH_IMAGE004
和第二随机数
Figure DEST_PATH_IMAGE005
,根据所述第一随机数
Figure 379997DEST_PATH_IMAGE004
计算得到所述椭圆曲 线E上的第二基点
Figure 100002_DEST_PATH_IMAGE006
,其中,
Figure DEST_PATH_IMAGE007
接收第二设备发送的第三基点
Figure 100002_DEST_PATH_IMAGE008
、第三随机数
Figure DEST_PATH_IMAGE009
、随机数组
Figure 100002_DEST_PATH_IMAGE010
、第一中间变量
Figure DEST_PATH_IMAGE011
和 第二中间变量
Figure 100002_DEST_PATH_IMAGE012
,并利用不经意传输协议分别对第一中间变量
Figure 728109DEST_PATH_IMAGE011
和第二中间变量
Figure 310269DEST_PATH_IMAGE012
进行解 码,得到第二设备的隐私数据
Figure DEST_PATH_IMAGE013
和隐私数据
Figure 100002_DEST_PATH_IMAGE014
根据所述第二基点
Figure 249275DEST_PATH_IMAGE006
和所述第三基点
Figure 868475DEST_PATH_IMAGE008
计算第一部分签名值
Figure DEST_PATH_IMAGE015
,以及根据所述第 一子私钥
Figure 100002_DEST_PATH_IMAGE016
、所述第一随机数
Figure 401087DEST_PATH_IMAGE004
、所述隐私数据
Figure 396725DEST_PATH_IMAGE013
和所述隐私数据
Figure 989905DEST_PATH_IMAGE014
计算第二部分签名值
Figure DEST_PATH_IMAGE017
, 并在所述第二部分签名值
Figure 100002_DEST_PATH_IMAGE018
时,生成待签名消息的完整签名值
Figure DEST_PATH_IMAGE019
在一种可能的设计中,利用不经意传输协议对所述第一中间变量
Figure 514427DEST_PATH_IMAGE011
进行解码,得 到所述第二设备的隐私数据
Figure 65494DEST_PATH_IMAGE013
和隐私数据
Figure 458298DEST_PATH_IMAGE014
,包括:
分别令所述第一设备的隐私数据
Figure 100002_DEST_PATH_IMAGE020
,隐私数据
Figure DEST_PATH_IMAGE021
将所述隐私数据
Figure 100002_DEST_PATH_IMAGE022
和所述隐私数据
Figure DEST_PATH_IMAGE023
用二进制表示为
Figure 100002_DEST_PATH_IMAGE024
Figure DEST_PATH_IMAGE025
按照以下公式计算得到所述隐私数据
Figure 499460DEST_PATH_IMAGE013
Figure 100002_DEST_PATH_IMAGE026
,其中,
Figure DEST_PATH_IMAGE027
为求模运算,
Figure 100002_DEST_PATH_IMAGE028
用于表征所述随 机数组
Figure 460463DEST_PATH_IMAGE010
中的值;
按照以下公式计算得到所述隐私数据
Figure 233247DEST_PATH_IMAGE014
Figure DEST_PATH_IMAGE029
,其中,
Figure 100002_DEST_PATH_IMAGE030
用于表征所述随机数组
Figure 633004DEST_PATH_IMAGE010
中的 值。
在一种可能的设计中,根据所述第二基点
Figure 197847DEST_PATH_IMAGE006
和所述第三基点
Figure 64171DEST_PATH_IMAGE008
计算第一部分签名 值
Figure DEST_PATH_IMAGE031
,包括:
按照以下公式计算得到所述椭圆曲线上的第四基点
Figure 100002_DEST_PATH_IMAGE032
Figure DEST_PATH_IMAGE033
确定所述第四基点
Figure 327181DEST_PATH_IMAGE032
的横坐标
Figure 100002_DEST_PATH_IMAGE034
和纵坐标
Figure DEST_PATH_IMAGE035
按照以下公式计算得到所述第一部分签名值
Figure 796209DEST_PATH_IMAGE015
Figure 100002_DEST_PATH_IMAGE036
,其中,
Figure DEST_PATH_IMAGE037
为根据所述第一设备生成的待签名消息处理得到的 哈希函数值。
在一种可能的设计中,所述隐私数据
Figure 153241DEST_PATH_IMAGE013
等于所述第二设备生成的第二子私钥
Figure 100002_DEST_PATH_IMAGE038
与 第五随机数
Figure DEST_PATH_IMAGE039
之和,所述隐私数据
Figure 783942DEST_PATH_IMAGE014
等于所述第二设备生成的第四随机数
Figure 100002_DEST_PATH_IMAGE040
和所述第五随 机数
Figure 201759DEST_PATH_IMAGE039
之和;
则根据所述第一子私钥
Figure DEST_PATH_IMAGE041
、所述第一随机数
Figure 287527DEST_PATH_IMAGE004
、所述隐私数据
Figure 295803DEST_PATH_IMAGE013
和所述隐私数据
Figure 35089DEST_PATH_IMAGE014
计算第二部分签名值
Figure 145127DEST_PATH_IMAGE017
,包括:
当所述隐私数据
Figure 487116DEST_PATH_IMAGE013
等于所述第二设备生成的第二子私钥
Figure 490844DEST_PATH_IMAGE038
与第五随机数
Figure 541976DEST_PATH_IMAGE039
之和 时,按照以下公式计算得到第三中间变量
Figure 100002_DEST_PATH_IMAGE042
Figure DEST_PATH_IMAGE043
当所述隐私数据
Figure 591841DEST_PATH_IMAGE014
等于所述第二设备生成的第四随机数
Figure 740450DEST_PATH_IMAGE040
和所述第五随机数
Figure 474051DEST_PATH_IMAGE039
之 和时,按照以下公式计算得到第四中间变量
Figure 100002_DEST_PATH_IMAGE044
Figure DEST_PATH_IMAGE045
按照以下公式计算得到第二部分签名值
Figure 148615DEST_PATH_IMAGE017
Figure 100002_DEST_PATH_IMAGE046
在一种可能的设计中,根据所述第一随机数
Figure 154617DEST_PATH_IMAGE004
计算得到所述椭圆曲线E上的第二 基点
Figure 713774DEST_PATH_IMAGE006
,包括:
按照以下公式计算所述第二基点
Figure 816728DEST_PATH_IMAGE006
Figure DEST_PATH_IMAGE047
第二方面,提供了一种门限SM2数字签名方法,应用于第二设备,其中,G为椭圆曲 线E上的第一基点,第一基点G的阶为
Figure 209663DEST_PATH_IMAGE001
Figure 768208DEST_PATH_IMAGE001
为素数,包括:
随机选取第二子私钥
Figure 100002_DEST_PATH_IMAGE048
,其中,
Figure DEST_PATH_IMAGE049
生成第五随机数
Figure 100002_DEST_PATH_IMAGE050
和第六随机数
Figure DEST_PATH_IMAGE051
,接收第一设备发送的第二基点
Figure 662215DEST_PATH_IMAGE006
,其中,
Figure 100002_DEST_PATH_IMAGE052
根据所述第六随机数
Figure 681992DEST_PATH_IMAGE051
计算得到所述椭圆曲线E上的第三基点
Figure 714670DEST_PATH_IMAGE008
,以及根据所述 第二基点
Figure 757582DEST_PATH_IMAGE006
和所述第三基点
Figure 658541DEST_PATH_IMAGE008
,计算第一部分签名值
Figure 221241DEST_PATH_IMAGE015
,并在所述
Figure DEST_PATH_IMAGE053
时,生成第四随机数
Figure 739334DEST_PATH_IMAGE040
利用不经意传输协议对所述第二设备的隐私数据
Figure 754695DEST_PATH_IMAGE013
和隐私数据
Figure 849559DEST_PATH_IMAGE014
进行编码,得到第 一中间变量
Figure 797923DEST_PATH_IMAGE011
和第二中间变量
Figure 297038DEST_PATH_IMAGE012
,并将所述第一中间变量
Figure 48962DEST_PATH_IMAGE011
和第二中间变量
Figure 557304DEST_PATH_IMAGE012
,以及随机 生成的第三随机数
Figure 829016DEST_PATH_IMAGE009
和随机数组
Figure 889245DEST_PATH_IMAGE010
发送给所述第一设备,以使得所述第一设备计算第二部 分签名值
Figure 3831DEST_PATH_IMAGE017
,生成签名值
Figure 660072DEST_PATH_IMAGE019
在一种可能的设计中,根据所述第二基点
Figure 176504DEST_PATH_IMAGE006
和所述第三基点
Figure 398845DEST_PATH_IMAGE008
,计算所述第一部 分签名值
Figure 141673DEST_PATH_IMAGE015
,并在所述
Figure 726238DEST_PATH_IMAGE053
时,生成第四随机数
Figure 100002_DEST_PATH_IMAGE054
,包括:
按照以下公式计算得到所述椭圆曲线上的第四基点
Figure 159493DEST_PATH_IMAGE032
Figure 171312DEST_PATH_IMAGE033
确定所述第四基点
Figure 385124DEST_PATH_IMAGE032
的横坐标
Figure 914326DEST_PATH_IMAGE034
和纵坐标
Figure 139771DEST_PATH_IMAGE035
按照以下公式计算所述第一部分签名值
Figure 712703DEST_PATH_IMAGE015
Figure 695703DEST_PATH_IMAGE036
,其中,
Figure 15213DEST_PATH_IMAGE037
为根据所述第一设备生成的待签名消息处理得到的 哈希函数值;
按照以下公式计算所述第四随机数
Figure 360744DEST_PATH_IMAGE040
Figure DEST_PATH_IMAGE055
在一种可能的设计中,所述隐私数据
Figure 42261DEST_PATH_IMAGE013
等于所述第二设备生成的第二子私钥
Figure 981398DEST_PATH_IMAGE038
与 第五随机数
Figure 977036DEST_PATH_IMAGE039
之和,所述隐私数据
Figure 36128DEST_PATH_IMAGE014
等于所述第二设备生成的第四随机数
Figure 967175DEST_PATH_IMAGE040
和所述第五随 机数
Figure 252662DEST_PATH_IMAGE039
之和;
则利用所述不经意传输协议分别对所述第二设备的隐私数据
Figure 911046DEST_PATH_IMAGE013
和所述隐私数据
Figure 965589DEST_PATH_IMAGE014
进行编码,得到第一中间变量
Figure 726260DEST_PATH_IMAGE011
和第二中间变量
Figure 499044DEST_PATH_IMAGE012
,包括:
所述第二设备随机生成
Figure 100002_DEST_PATH_IMAGE056
Figure DEST_PATH_IMAGE057
这256个第三随机数
Figure 898801DEST_PATH_IMAGE009
,以及随机生成
Figure 100002_DEST_PATH_IMAGE058
这256个随机数组
Figure 479955DEST_PATH_IMAGE010
,其中,
Figure DEST_PATH_IMAGE059
按照以下公式计算得到第一中间变量
Figure 267651DEST_PATH_IMAGE011
和第二中间变量
Figure 668677DEST_PATH_IMAGE012
Figure 100002_DEST_PATH_IMAGE060
第三方面,提供了一种门限SM2数字签名装置,该装置设置在第一设备中,包括:
第一选取模块,用于随机选取第一子私钥
Figure 200021DEST_PATH_IMAGE002
,其中,
Figure 104523DEST_PATH_IMAGE003
Figure 534892DEST_PATH_IMAGE001
为第一基点G的 阶,
Figure 282268DEST_PATH_IMAGE001
为素数,G为椭圆曲线E上的第一基点;
第一计算模块,用于生成第一随机数
Figure 571298DEST_PATH_IMAGE004
和第二随机数
Figure 720520DEST_PATH_IMAGE005
,根据所述第一随机数
Figure 318860DEST_PATH_IMAGE004
计算得到所述椭圆曲线E上的第二基点
Figure 694478DEST_PATH_IMAGE006
,其中,
Figure 646253DEST_PATH_IMAGE007
接收模块,用于接收第二设备发送的第三基点
Figure 40194DEST_PATH_IMAGE008
、第三随机数
Figure 560169DEST_PATH_IMAGE009
、随机数组
Figure 16558DEST_PATH_IMAGE010
、第一 中间变量
Figure 427816DEST_PATH_IMAGE011
和第二中间变量
Figure 161417DEST_PATH_IMAGE012
,并利用不经意传输协议分别对第一中间变量
Figure 976926DEST_PATH_IMAGE011
和第二中间 变量
Figure 325473DEST_PATH_IMAGE012
进行解码,得到第二设备的隐私数据
Figure 494417DEST_PATH_IMAGE013
和隐私数据
Figure 207159DEST_PATH_IMAGE014
第一生成模块,用于根据所述第二基点
Figure 583782DEST_PATH_IMAGE006
和所述第三基点
Figure 421288DEST_PATH_IMAGE008
计算第一部分签名值
Figure 518557DEST_PATH_IMAGE015
,以及根据所述第一子私钥
Figure 476018DEST_PATH_IMAGE041
、所述第一随机数
Figure 774275DEST_PATH_IMAGE004
、所述隐私数据
Figure 692552DEST_PATH_IMAGE013
和所述隐私数据
Figure 718146DEST_PATH_IMAGE014
计算 第二部分签名值
Figure 546425DEST_PATH_IMAGE017
,并在所述第二部分签名值
Figure 874638DEST_PATH_IMAGE018
时,生成待签名消息的完整签名值
Figure 407775DEST_PATH_IMAGE019
在一种可能的设计中,所述接收模块具体用于:
分别令所述第一设备的隐私数据
Figure 987792DEST_PATH_IMAGE020
,隐私数据
Figure 795211DEST_PATH_IMAGE021
将所述隐私数据
Figure 684538DEST_PATH_IMAGE022
和所述隐私数据
Figure 452774DEST_PATH_IMAGE023
用二进制表示为
Figure 820171DEST_PATH_IMAGE024
Figure 482096DEST_PATH_IMAGE025
按照以下公式计算得到所述隐私数据
Figure DEST_PATH_IMAGE061
Figure 824216DEST_PATH_IMAGE026
,其中,
Figure 329015DEST_PATH_IMAGE027
为求模运算,
Figure 985256DEST_PATH_IMAGE028
用于表征所述随 机数组
Figure 501688DEST_PATH_IMAGE010
中的值;
按照以下公式计算得到所述隐私数据
Figure 735747DEST_PATH_IMAGE014
Figure 337630DEST_PATH_IMAGE029
,其中,
Figure 797561DEST_PATH_IMAGE030
用于表征所述随机数组
Figure 558713DEST_PATH_IMAGE010
中的 值。
在一种可能的设计中,第一生成模块具体用于:
按照以下公式计算得到所述椭圆曲线上的第四基点
Figure 570531DEST_PATH_IMAGE032
Figure 535076DEST_PATH_IMAGE033
确定所述第四基点
Figure 579124DEST_PATH_IMAGE032
的横坐标
Figure 945515DEST_PATH_IMAGE034
和纵坐标
Figure 128235DEST_PATH_IMAGE035
按照以下公式计算得到所述第一部分签名值
Figure 829343DEST_PATH_IMAGE015
Figure 21290DEST_PATH_IMAGE036
,其中,
Figure 242187DEST_PATH_IMAGE037
为根据所述第一设备生成的待签名消息处理得到的 哈希函数值。
在一种可能的设计中,所述第一生成模块还用于:
当所述隐私数据
Figure 988951DEST_PATH_IMAGE013
等于所述第二设备生成的第二子私钥
Figure 52722DEST_PATH_IMAGE038
与第五随机数
Figure 658146DEST_PATH_IMAGE039
之和 时,按照以下公式计算得到第三中间变量
Figure 982817DEST_PATH_IMAGE042
Figure 38498DEST_PATH_IMAGE043
当所述隐私数据
Figure 199352DEST_PATH_IMAGE014
等于所述第二设备生成的第四随机数
Figure 123315DEST_PATH_IMAGE040
和所述第五随机数
Figure 177858DEST_PATH_IMAGE039
之 和时,按照以下公式计算得到第四中间变量
Figure 748648DEST_PATH_IMAGE044
Figure 521432DEST_PATH_IMAGE045
按照以下公式计算得到第二部分签名值
Figure 717927DEST_PATH_IMAGE017
Figure 767923DEST_PATH_IMAGE046
在一种可能的设计中,第一计算模块还用于:
按照以下公式计算所述第二基点
Figure 899827DEST_PATH_IMAGE006
Figure 541331DEST_PATH_IMAGE047
第四方面,提供了一种门限SM2数字签名装置,该装置设置在第二设备中,包括:
第二选取模块,用于随机选取第二子私钥
Figure 292249DEST_PATH_IMAGE038
,其中,
Figure 321385DEST_PATH_IMAGE049
Figure 748824DEST_PATH_IMAGE001
为第一基点G的 阶,
Figure 637146DEST_PATH_IMAGE001
为素数,G为椭圆曲线E上的第一基点;
第二生成模块,用于生成第五随机数
Figure 50809DEST_PATH_IMAGE039
和第六随机数
Figure 324665DEST_PATH_IMAGE051
,接收第一设备发送的第 二基点
Figure 532792DEST_PATH_IMAGE006
,其中,
Figure 100002_DEST_PATH_IMAGE062
第二计算模块,用于根据所述第六随机数
Figure 564202DEST_PATH_IMAGE051
计算得到所述椭圆曲线E上的第三基 点值
Figure 515978DEST_PATH_IMAGE008
,以及根据所述第二基点
Figure 660651DEST_PATH_IMAGE006
和所述第三基点
Figure 698402DEST_PATH_IMAGE008
,计算第一部分签名值
Figure 154791DEST_PATH_IMAGE015
,并在所述
Figure 785624DEST_PATH_IMAGE053
时,生成第四随机数
Figure 643858DEST_PATH_IMAGE040
第三生成模块,用于利用不经意传输协议对所述第二设备的隐私数据
Figure 584001DEST_PATH_IMAGE013
和隐私数 据
Figure 403053DEST_PATH_IMAGE014
进行编码,得到第一中间变量
Figure 227789DEST_PATH_IMAGE011
和第二中间变量
Figure 330743DEST_PATH_IMAGE012
,并将所述第一中间变量
Figure 192520DEST_PATH_IMAGE011
和第二中 间变量
Figure 623501DEST_PATH_IMAGE012
,以及随机生成的第三随机数
Figure 110983DEST_PATH_IMAGE009
和随机数组
Figure 678231DEST_PATH_IMAGE010
发送给所述第一设备,以使得所述第 一设备计算第二部分签名值
Figure 710909DEST_PATH_IMAGE017
,生成签名值
Figure 363607DEST_PATH_IMAGE019
在一种可能的设计中,所述第二计算模块具体用于:
按照以下公式计算得到所述椭圆曲线上的第四基点
Figure 657710DEST_PATH_IMAGE032
Figure 485989DEST_PATH_IMAGE033
确定所述第四基点
Figure 204415DEST_PATH_IMAGE032
的横坐标
Figure 344409DEST_PATH_IMAGE034
和纵坐标
Figure 924426DEST_PATH_IMAGE035
按照以下公式计算所述第一部分签名值
Figure 466266DEST_PATH_IMAGE015
Figure 90014DEST_PATH_IMAGE036
,其中,
Figure 858250DEST_PATH_IMAGE037
为根据所述第一设备生成的待签名消息处理得到的 哈希函数值;
按照以下公式计算所述第四随机数
Figure 101012DEST_PATH_IMAGE040
Figure DEST_PATH_IMAGE063
在一种可能的设计中,当所述隐私数据
Figure 825255DEST_PATH_IMAGE013
等于所述第二设备生成的第二子私钥
Figure 760850DEST_PATH_IMAGE038
与第五随机数
Figure 737421DEST_PATH_IMAGE039
之和,所述隐私数据
Figure 783874DEST_PATH_IMAGE014
等于所述第二设备生成的第四随机数
Figure 441251DEST_PATH_IMAGE040
和所述第五 随机数
Figure 406802DEST_PATH_IMAGE039
之和时,所述第三生成模块具体于:
所述第二设备随机生成
Figure 743106DEST_PATH_IMAGE056
Figure 468616DEST_PATH_IMAGE057
这256个第三随机数
Figure 100002_DEST_PATH_IMAGE064
,以及随机生成
Figure 760926DEST_PATH_IMAGE058
这256个随机数组
Figure 179269DEST_PATH_IMAGE010
,其中,
Figure 393082DEST_PATH_IMAGE059
按照以下公式计算得到第一中间变量
Figure 515759DEST_PATH_IMAGE011
和第二中间变量
Figure 413307DEST_PATH_IMAGE012
Figure DEST_PATH_IMAGE065
第五方面,提供了一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的计算机存储介质;
其中,所述处理器被配置为执行所述指令,以实现第一方面和/或第二方面中任一项可能涉及方法。
第六方面,提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本申请实施例上述第一方面和/或第二方面中任一项可能涉及的方法。
本申请的实施例提供的技术方案至少带来以下有益效果:
在本申请实施例中,可以随机选取第一子私钥
Figure 532047DEST_PATH_IMAGE002
,其中,
Figure 718309DEST_PATH_IMAGE003
;以及生成第 一随机数
Figure 644676DEST_PATH_IMAGE004
和第二随机数
Figure 100002_DEST_PATH_IMAGE066
,并根据第一随机数
Figure 52524DEST_PATH_IMAGE004
计算得到椭圆曲线E上的第二基点
Figure 406145DEST_PATH_IMAGE006
,其 中,
Figure 594550DEST_PATH_IMAGE007
;接收第二设备发送的第三基点
Figure 199975DEST_PATH_IMAGE008
、第三随机数
Figure 665591DEST_PATH_IMAGE009
、随机数组
Figure 314747DEST_PATH_IMAGE010
、第 一中间变量
Figure 741180DEST_PATH_IMAGE011
和第二中间变量
Figure 274930DEST_PATH_IMAGE012
,并利用不经意传输协议分别对第一中间变量
Figure 988195DEST_PATH_IMAGE011
和第二中 间变量
Figure 558985DEST_PATH_IMAGE012
进行解码,得到第二设备的隐私数据
Figure 331769DEST_PATH_IMAGE013
和隐私数据
Figure 793843DEST_PATH_IMAGE014
;进而可以根据第二基点
Figure 843839DEST_PATH_IMAGE006
和 第三基点
Figure 241322DEST_PATH_IMAGE008
计算第一部分签名值
Figure 891615DEST_PATH_IMAGE015
,以及根据第一子私钥
Figure 908113DEST_PATH_IMAGE041
、第一随机数
Figure 61882DEST_PATH_IMAGE004
、隐私数据
Figure DEST_PATH_IMAGE067
和隐 私数据
Figure 36792DEST_PATH_IMAGE014
计算第二部分签名值
Figure 911731DEST_PATH_IMAGE017
,并在第二部分签名值
Figure 100002_DEST_PATH_IMAGE068
时,生成待签名消息的完整签 名值
Figure 653291DEST_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 943458DEST_PATH_IMAGE002
,随机生成第一随机数
Figure DEST_PATH_IMAGE069
和第二随机数
Figure 338536DEST_PATH_IMAGE005
,根据第一随机 数
Figure 100002_DEST_PATH_IMAGE070
计算得到椭圆曲线E上的第二基点
Figure 979733DEST_PATH_IMAGE006
,并且在接收服务器102发送的第三基点
Figure 587301DEST_PATH_IMAGE008
、第三 随机数
Figure 466395DEST_PATH_IMAGE064
、随机数组
Figure 111003DEST_PATH_IMAGE010
、第一中间变量
Figure 960535DEST_PATH_IMAGE011
和第二中间变量
Figure 716002DEST_PATH_IMAGE012
后,可以分别利用不经意传输协 议对第一中间变量
Figure 449602DEST_PATH_IMAGE011
和第二中间变量
Figure 858587DEST_PATH_IMAGE012
进行解码,得到服务器102的隐私数据
Figure 192485DEST_PATH_IMAGE013
和隐私数据
Figure 892588DEST_PATH_IMAGE014
;进而,终端设备101即可以根据第二基点和
Figure 526700DEST_PATH_IMAGE006
第三基点
Figure 513111DEST_PATH_IMAGE008
,计算得到第一部分签名值
Figure 85038DEST_PATH_IMAGE015
, 以及根据第一子私钥
Figure 563731DEST_PATH_IMAGE041
、第一随机数
Figure 537503DEST_PATH_IMAGE004
、隐私数据
Figure 85028DEST_PATH_IMAGE013
计算第二部分签名值
Figure 144251DEST_PATH_IMAGE017
,并在第二部分 签名值
Figure DEST_PATH_IMAGE071
时,生成签名值
Figure 100002_DEST_PATH_IMAGE072
,获得签名后的待发送信息。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述方法在实际的处理过程中或者装置执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。
请参见图2,为本申请实施例提供的一种门限SM2数字签名方法的流程图,该方法可以应用于第一设备中。换言之,可以应用于图1所示的应用场景中终端设备101中。下面对该方发的流程进行描述。
步骤201:随机选取第一子私钥
Figure 638686DEST_PATH_IMAGE002
,其中,
Figure 591598DEST_PATH_IMAGE003
在本申请实施例中,进行通信的第一设备和第二设备需要满足,共享椭圆曲线E上 的参数,G为椭圆曲线上的第一基点,第一基点的阶为
Figure 310025DEST_PATH_IMAGE001
素数,
Figure 590964DEST_PATH_IMAGE001
的取值范围为
Figure DEST_PATH_IMAGE073
在本申请实施例中,终端设备101可以随机选取第一子私钥
Figure 360862DEST_PATH_IMAGE041
,第一子私钥
Figure 902702DEST_PATH_IMAGE041
可以 作为终端设备101的隐私数据。并且,由于终端设备101每次进行数字签名时,都可以重新随 机生成子私钥,也就是说终端设备101每次签名使用的子私钥不相同,所以可以保护终端设 备101的签名子私钥的安全性。
步骤202:生成第一随机数
Figure 792029DEST_PATH_IMAGE004
和第二随机数
Figure 560265DEST_PATH_IMAGE005
,根据第一随机数
Figure 68607DEST_PATH_IMAGE004
计算得到椭圆曲 线E上的第二基点
Figure 855166DEST_PATH_IMAGE006
,其中,
Figure 400548DEST_PATH_IMAGE007
在本申请实施例中,终端设备101可以将第一随机数
Figure 780714DEST_PATH_IMAGE004
与椭圆曲线上E的第一基点 G相乘,即按照公式(1)计算得到第二基点
Figure 951801DEST_PATH_IMAGE006
Figure 100002_DEST_PATH_IMAGE074
(1)。
在本申请实施例中,终端设备101还可以将第二基点
Figure 140337DEST_PATH_IMAGE006
发送给服务器102,以使得 服务器102可以根据接收的第二基点
Figure 108817DEST_PATH_IMAGE006
计算得到第一部分签名值
Figure 851645DEST_PATH_IMAGE015
步骤203:接收第二设备发送的第三基点
Figure 701790DEST_PATH_IMAGE008
、第三随机数
Figure 462941DEST_PATH_IMAGE009
、随机数组
Figure 615705DEST_PATH_IMAGE010
和第一中间 变量
Figure 95097DEST_PATH_IMAGE011
和第二中间变量
Figure 217773DEST_PATH_IMAGE012
,并利用不经意传输协议对第一中间变量
Figure 849743DEST_PATH_IMAGE011
和第二中间变量
Figure 688255DEST_PATH_IMAGE012
进 行解码,得到第二设备的隐私数据
Figure 999151DEST_PATH_IMAGE067
和隐私数据
Figure 332043DEST_PATH_IMAGE014
在本申请实施例中,终端设备101接收到服务器102发送的第三基点
Figure 70716DEST_PATH_IMAGE008
、第三随机 数
Figure 565283DEST_PATH_IMAGE009
、随机数组
Figure 363474DEST_PATH_IMAGE010
、第一中间变量
Figure 218167DEST_PATH_IMAGE011
和第二中间变量
Figure 824729DEST_PATH_IMAGE012
后,可以利用不经意传输协议对第一 中间变量
Figure 349251DEST_PATH_IMAGE011
和第二中间变量
Figure 24952DEST_PATH_IMAGE012
进行解码,得到服务器102的隐私数据
Figure 168488DEST_PATH_IMAGE013
和隐私数据
Figure 488611DEST_PATH_IMAGE014
,从而可 以利用服务器102的隐私数据
Figure 839827DEST_PATH_IMAGE013
和隐私数据
Figure 487977DEST_PATH_IMAGE014
,计算对待签名消息进行数据签名的签名值。
其中,第三随机数
Figure DEST_PATH_IMAGE075
为服务器102任意生成的256个素数,如,
Figure 100002_DEST_PATH_IMAGE076
。 随机数组
Figure 980462DEST_PATH_IMAGE010
为服务器102随意生成的256数组,如,
Figure DEST_PATH_IMAGE077
;令
Figure 100002_DEST_PATH_IMAGE078
Figure DEST_PATH_IMAGE079
。第三基点
Figure 669938DEST_PATH_IMAGE008
为服务器102将 其生成的随机数与椭圆曲线E上的第一基点G相乘得到。
具体地,可以分别令终端设备101的隐私数据
Figure 536263DEST_PATH_IMAGE020
,隐私数据
Figure 100002_DEST_PATH_IMAGE080
。 进而可以用二进制表示隐私数据
Figure 858660DEST_PATH_IMAGE022
,将隐私数据
Figure 875158DEST_PATH_IMAGE022
表示为
Figure 904293DEST_PATH_IMAGE024
,将隐私数据
Figure 600242DEST_PATH_IMAGE023
用二进制表示为
Figure 82038DEST_PATH_IMAGE024
。其中,
Figure 100002_DEST_PATH_IMAGE081
Figure DEST_PATH_IMAGE082
这256个是由0或1组成的。
进而可以按照以下公式(2)计算得到隐私数据
Figure 89178DEST_PATH_IMAGE013
Figure 379345DEST_PATH_IMAGE026
(2);
其中,
Figure 243264DEST_PATH_IMAGE027
为求模运算,
Figure 618882DEST_PATH_IMAGE028
用于表征所述随机数组
Figure 960871DEST_PATH_IMAGE010
中的值。
按照以下公式(3)计算得到隐私数据
Figure 371123DEST_PATH_IMAGE014
Figure 408874DEST_PATH_IMAGE029
(3);
其中,
Figure 271788DEST_PATH_IMAGE030
用于表征随机数组
Figure 27254DEST_PATH_IMAGE010
中的值。
步骤204:根据第二基点
Figure 10122DEST_PATH_IMAGE006
和所述第三基点
Figure 966577DEST_PATH_IMAGE008
计算第一部分签名值
Figure 175842DEST_PATH_IMAGE015
,以及根据第 一子私钥
Figure 125212DEST_PATH_IMAGE016
、第一随机数
Figure 978898DEST_PATH_IMAGE004
、隐私数据
Figure 89943DEST_PATH_IMAGE061
和隐私数据
Figure 786503DEST_PATH_IMAGE014
计算第二部分签名值
Figure 24718DEST_PATH_IMAGE017
,并在第二部分 签名值
Figure 516267DEST_PATH_IMAGE071
时,生成待签名消息的完整签名值
Figure 814524DEST_PATH_IMAGE072
在本申请实施例中,在根据第二基点
Figure 795118DEST_PATH_IMAGE006
和第三基点
Figure 961657DEST_PATH_IMAGE008
计算第一部分签名值
Figure 508045DEST_PATH_IMAGE015
时,具 体可以先按照以下公式(4)计算位于椭圆曲线E上的第四基点
Figure 242783DEST_PATH_IMAGE032
Figure 100002_DEST_PATH_IMAGE083
(4)。
进而,可以确定出第四基点
Figure 569728DEST_PATH_IMAGE032
的横坐标
Figure 415324DEST_PATH_IMAGE034
和纵坐标
Figure 338588DEST_PATH_IMAGE035
,进而可以按照以下公式(5) 计算得到第一部分签名值
Figure 978648DEST_PATH_IMAGE015
Figure DEST_PATH_IMAGE084
(5);
其中,
Figure 527310DEST_PATH_IMAGE037
为根据第一设备生成的待签名消息处理得到的哈希函数值。
本申请实施例中,服务器102的隐私数据
Figure 707755DEST_PATH_IMAGE013
为服务器102随机选取的第二子私钥
Figure 494315DEST_PATH_IMAGE038
与随机生成的第五随机数
Figure 305276DEST_PATH_IMAGE039
之和,隐私数据
Figure 419862DEST_PATH_IMAGE014
服务器102随机生成的第五随机数
Figure 590950DEST_PATH_IMAGE039
和第四随 机数
Figure 248327DEST_PATH_IMAGE040
之和。进而,当隐私数据
Figure 89244DEST_PATH_IMAGE067
为服务器102随机选取的第二子私钥
Figure 84269DEST_PATH_IMAGE038
与随机生成的第五 随机数
Figure 809780DEST_PATH_IMAGE050
时,可以按照以下公式(6)计算得到第三中间变量
Figure 570931DEST_PATH_IMAGE042
;当隐私数据
Figure 848329DEST_PATH_IMAGE014
为服务器102随 机生成的第五随机数
Figure 812874DEST_PATH_IMAGE050
和第四随机数
Figure 591343DEST_PATH_IMAGE040
之和时,可以根据公式(7)计算第四中间变量
Figure 957733DEST_PATH_IMAGE044
Figure 100002_DEST_PATH_IMAGE085
(6);
Figure DEST_PATH_IMAGE086
(7)。
从而,可以根据第一部分签名值
Figure 265087DEST_PATH_IMAGE015
、第三中间变量
Figure 500284DEST_PATH_IMAGE042
和第四中间变量
Figure 302017DEST_PATH_IMAGE044
,按照以下 公式(8)计算得到第二部分签名值
Figure 647548DEST_PATH_IMAGE017
Figure 100002_DEST_PATH_IMAGE087
(8)。
进一步地,终端设备102可以判断第二部分签名值
Figure 63486DEST_PATH_IMAGE017
是否等于0,若等于0,则返回步 骤201,若不等于0则可以生成待签名消息的完整签名值
Figure 127257DEST_PATH_IMAGE019
在本申请实施例中,终端设备101和服务器102任意一方都无法单独产生完整的签名结果,确保签名真实有效。此外,由于采用不经意传输协议对隐私数据进行隐私乘法运算,仅涉及有限域上的少量大整数乘法和加法,不会涉及幂的运算和指数运算,所以不但可以避免泄露终端设备101和服务器102双方的私钥和随机数等隐私数据,还可以提高生成完整签名值的效率。
作为一种可选的实施方式,本申请实施例中,终端设备101在随机生成第一子私钥
Figure 981949DEST_PATH_IMAGE016
后,可以将第一子私钥
Figure 57353DEST_PATH_IMAGE041
与椭圆曲线E上的第一基点G相乘,得到终端设备101的第一仔公 钥
Figure DEST_PATH_IMAGE088
,并可以将第一仔公钥
Figure 34405DEST_PATH_IMAGE088
发送给服务器端102,以便服务器102可以根据第一仔公钥
Figure 460838DEST_PATH_IMAGE088
计算得到验证公钥
Figure 100002_DEST_PATH_IMAGE089
。进而服务器102可以使用该验证公钥
Figure 325413DEST_PATH_IMAGE089
,来验证接收的经数字签名后 的消息发送者的身份信息以及消息的可信度,即可以验证接收的消息是否是终端设备102 发送的,以及该消息是否可信。
基于同一发明构思,本申请实施例还提供了一种门限SM2数字签名方法,请参见图3,该方法应用于第二设备,即该方法可以应用于图1所示的服务器102中,包括:
步骤301:随机选取第二子私钥
Figure DEST_PATH_IMAGE090
,其中,
Figure 100002_DEST_PATH_IMAGE091
在本申请实施例中,与前述的终端设备101相同,服务器102每次数字签名时,使用的子私钥不相同,所以可以保护服务器102的签名子私钥的安全性。
步骤302:生成第五随机数
Figure 239012DEST_PATH_IMAGE039
和第六随机数
Figure 590227DEST_PATH_IMAGE051
,接收第一设备发送的第二基点
Figure 503957DEST_PATH_IMAGE006
, 其中,
Figure 966031DEST_PATH_IMAGE062
在本申请实施例中,服务器102可以随机生成在0-n的范围内第五随机数
Figure 406240DEST_PATH_IMAGE039
和第六 随机数
Figure 413510DEST_PATH_IMAGE051
,这两个随机数可以与步骤301中的第二子私钥
Figure 78451DEST_PATH_IMAGE038
共同作为服务器102的隐私数 据。
步骤303:根据第六随机数
Figure 94949DEST_PATH_IMAGE051
计算得到椭圆曲线E上的第三基点
Figure 514298DEST_PATH_IMAGE008
,以及根据第二 基点
Figure 958049DEST_PATH_IMAGE006
和第三基点
Figure 705425DEST_PATH_IMAGE008
,计算第一部分签名值
Figure 774881DEST_PATH_IMAGE015
,并在
Figure 330627DEST_PATH_IMAGE053
时,生成第四随机数
Figure 194547DEST_PATH_IMAGE040
在本申请实施例中,服务器102可以将生成的第六随机数
Figure 304585DEST_PATH_IMAGE051
与椭圆曲线上E上的第 一基点G相乘,得到第三基点
Figure 915083DEST_PATH_IMAGE008
,即可以按照公式(9)计算第三基点
Figure 59756DEST_PATH_IMAGE008
Figure DEST_PATH_IMAGE092
(9);
进而,服务器102可以将第三基点
Figure 891315DEST_PATH_IMAGE008
发送给终端设备101,以使得终端设备101可以 根据第三基点
Figure 754229DEST_PATH_IMAGE008
计算得到第一部分签名值
Figure 634329DEST_PATH_IMAGE015
进一步地,可以根据第二基点
Figure 430247DEST_PATH_IMAGE006
和所述第三基点
Figure 635969DEST_PATH_IMAGE008
计算得到第四基点
Figure 720599DEST_PATH_IMAGE032
,得到第 四基点
Figure 672899DEST_PATH_IMAGE032
的横坐标
Figure 100002_DEST_PATH_IMAGE093
,从而可以根据前述公式(5)计算得到第一部分签名值
Figure 57744DEST_PATH_IMAGE015
。进而可以判 断第一部分签名值
Figure 434368DEST_PATH_IMAGE015
是都等于0,若第一部分签名值
Figure 271874DEST_PATH_IMAGE015
等于0,则表明终端设备101签名失败, 终端设备101需要重新对带签名消息进行签名。若第一部分签名值
Figure 759356DEST_PATH_IMAGE015
不等于0,则可以按照公 式(10)计算得到第四随机数
Figure 326604DEST_PATH_IMAGE040
Figure 890440DEST_PATH_IMAGE063
(10)。
由于第一部分签名值
Figure 198931DEST_PATH_IMAGE015
的生成需要终端设备101和服务器102双方各自提供一部分 数据,因此,可以使得生成的第一部分签名值
Figure 240836DEST_PATH_IMAGE015
的可信度更高,避免出现伪造的签名。
步骤304:利用不经意传输协议对第二设备的隐私数据
Figure 586891DEST_PATH_IMAGE013
和隐私数据
Figure 321629DEST_PATH_IMAGE014
进行编码,得 到第一中间变量
Figure 851836DEST_PATH_IMAGE011
,并将所述第一中间变量
Figure 822066DEST_PATH_IMAGE011
和第二中间变量
Figure 504852DEST_PATH_IMAGE012
,以及随机生成的第三随 机数
Figure 394179DEST_PATH_IMAGE009
和随机数组
Figure 162415DEST_PATH_IMAGE010
发送给所述第一设备,以使得第一设备计算第二部分签名值
Figure 405177DEST_PATH_IMAGE017
,生成待 签名消息的完整签名值
Figure 863841DEST_PATH_IMAGE019
在本申请实施例中,服务器102的隐私数据
Figure 533856DEST_PATH_IMAGE013
可以等于所述第二设备生成的第二子 私钥
Figure 29867DEST_PATH_IMAGE048
与第五随机数
Figure 951686DEST_PATH_IMAGE050
之和,隐私数据
Figure 468118DEST_PATH_IMAGE014
可以等于第四随机数
Figure 433669DEST_PATH_IMAGE054
与第五随机数
Figure 442077DEST_PATH_IMAGE050
之和。换 言之,可以令隐私数据
Figure 100002_DEST_PATH_IMAGE094
,也可以令
Figure DEST_PATH_IMAGE095
进一步地,服务器102可以随机生成任意的256个素数,记为第三随机数
Figure 885696DEST_PATH_IMAGE075
,如
Figure 100002_DEST_PATH_IMAGE096
,这个256个随机数。同时服务器102还可以随机生成256个数组,记为随 机数组
Figure 584531DEST_PATH_IMAGE010
,如
Figure DEST_PATH_IMAGE097
。其中,可以令
Figure 786229DEST_PATH_IMAGE059
进而,服务器102可以根据公式(11)计算得到第一中间变量
Figure 750774DEST_PATH_IMAGE011
和第二中间变量
Figure 794823DEST_PATH_IMAGE012
Figure 426792DEST_PATH_IMAGE065
(11)。
进一步地,服务器可以将第一中间变量
Figure 999725DEST_PATH_IMAGE011
、第三随机数
Figure 841779DEST_PATH_IMAGE009
和随机数组
Figure 909092DEST_PATH_IMAGE010
发送给终端 设备101,以便终端设备101在利用不经传输协议对第一中间变量
Figure 379257DEST_PATH_IMAGE011
进行解码得到服务器 102的隐私数据
Figure 139402DEST_PATH_IMAGE013
和隐私数据
Figure 937594DEST_PATH_IMAGE014
,根据隐私数据
Figure 60795DEST_PATH_IMAGE013
、隐私数据
Figure 401778DEST_PATH_IMAGE014
以及自己的隐私数据
Figure 582092DEST_PATH_IMAGE022
和隐私 数据
Figure 8526DEST_PATH_IMAGE023
生成待签名消息的完整签名值
Figure 542275DEST_PATH_IMAGE072
在本申请实施例中,由于服务器102可以利用不经传输协议对隐私数据
Figure 987032DEST_PATH_IMAGE013
进行隐私 乘法运算,以便将服务器102的隐私数据
Figure 823401DEST_PATH_IMAGE013
和隐私数据
Figure 251977DEST_PATH_IMAGE014
隐藏起来,得到第一中间变量
Figure 323838DEST_PATH_IMAGE011
和第 二中间变量
Figure 373834DEST_PATH_IMAGE012
,将第一中间变量
Figure 164460DEST_PATH_IMAGE011
和第二中间变量
Figure 565485DEST_PATH_IMAGE012
发送给终端设备101。也就是说,可以 将服务器102的隐私数据
Figure 831250DEST_PATH_IMAGE013
和隐私数据
Figure 532490DEST_PATH_IMAGE014
进行隐藏后再发送给终端设备101。因此,可以避免 服务器102的隐私数据泄露,提高服务器102的子私钥的安全性,从而确保数据签名真实有 效。
并且,由于采用不经意传输协议对隐私数据
Figure 569716DEST_PATH_IMAGE013
和隐私数据
Figure 113830DEST_PATH_IMAGE014
进行隐私乘法运算,计 算过程中,仅涉及有限域上的少量大整数乘法和加法,不会涉及幂的运算和指数运算,所以 在避免泄露终端设备101和服务器102双方的私钥和随机数等隐私数据,保障终端设备101 和服务器102的子私钥的安全性和签名的真实性的同时,还可以提高生成完整签名值的效 率。
为了使本领域的技术人员能更加清楚的理解上述基于不经意传输协议的门限SM2数字签名的过程,下面将从第一设备和第二设备进行交互的过程进行详细的描述。
请参见图4,为终端设备101和服务器102对待签名消息进行数字签名的过程为:
步骤401:终端设备101随机选取第一子私钥
Figure 120969DEST_PATH_IMAGE041
,随机生成第一随机数
Figure 270191DEST_PATH_IMAGE004
和第二随 机数
Figure 100002_DEST_PATH_IMAGE098
步骤402:终端设备101根据第一随机数
Figure 289704DEST_PATH_IMAGE004
计算得到椭圆曲线E上的第二基点
Figure 524377DEST_PATH_IMAGE006
,并 将第二基点
Figure 131944DEST_PATH_IMAGE006
发送给服务器102;
步骤403:服务器102随机选取第二子私钥
Figure 11039DEST_PATH_IMAGE048
,随机生成第五随机数
Figure 311439DEST_PATH_IMAGE050
和第六随机 数
Figure 908773DEST_PATH_IMAGE051
,根据第六随机数
Figure 929819DEST_PATH_IMAGE051
计算得到椭圆曲线E上的第三基点
Figure 178267DEST_PATH_IMAGE008
,并将第三基点
Figure 134721DEST_PATH_IMAGE008
发送给终 端设备101;
步骤404:终端设备101根据第二基点
Figure 205970DEST_PATH_IMAGE006
和第三基点
Figure 30707DEST_PATH_IMAGE008
计算第一部分签名值
Figure 884393DEST_PATH_IMAGE015
步骤405:终端设备101判断第一部分签名值
Figure 526596DEST_PATH_IMAGE015
是否等于0,若等于,则返回执行步骤 401;
步骤406:服务器102利用不经意传输协议分别对其隐私数据
Figure 364102DEST_PATH_IMAGE013
(等于服务器102生 成的第二子私钥
Figure 851584DEST_PATH_IMAGE048
与第五随机数
Figure 559777DEST_PATH_IMAGE050
之和)和隐私数据
Figure 982668DEST_PATH_IMAGE014
(等于服务器102生成的第四随机数
Figure 291158DEST_PATH_IMAGE054
和第五随机数
Figure 67485DEST_PATH_IMAGE050
之和)进行编码,得到第一中间变量
Figure 413540DEST_PATH_IMAGE011
和第二中间变量
Figure 882698DEST_PATH_IMAGE012
步骤407:服务器102将第一中间变量
Figure 22693DEST_PATH_IMAGE011
和第二中间变量
Figure 851977DEST_PATH_IMAGE012
,以及随机生成的第三 随机数
Figure 534763DEST_PATH_IMAGE009
和随机数组
Figure 689669DEST_PATH_IMAGE010
发送给终端设备101;
步骤408:终端设备101利用不经意传输协议对第一中间变量
Figure 723484DEST_PATH_IMAGE011
和第二中间变量
Figure 887618DEST_PATH_IMAGE012
进行解码,得到服务器102的隐私数据
Figure 690489DEST_PATH_IMAGE013
和隐私数据
Figure DEST_PATH_IMAGE099
,根据隐私数据
Figure 550385DEST_PATH_IMAGE022
(等于第一子私钥
Figure 540338DEST_PATH_IMAGE016
与第一随机数
Figure 586792DEST_PATH_IMAGE070
之和)、隐私数据
Figure 493437DEST_PATH_IMAGE023
(等于第一随机数
Figure 475299DEST_PATH_IMAGE070
与第二随机数
Figure 201815DEST_PATH_IMAGE005
之和)、隐私数据
Figure 51960DEST_PATH_IMAGE013
和 隐私数据
Figure 563844DEST_PATH_IMAGE099
计算得到第二部分签名值
Figure 497033DEST_PATH_IMAGE017
步骤409:终端设备101判断第二部分签名值
Figure 727158DEST_PATH_IMAGE017
是否等于0,若不等于0,则执行步骤 410,若等于0,则返回执行步骤401;
步骤410:生成待签名消息的完整签名值
Figure 965679DEST_PATH_IMAGE072
基于同一发明构思,本申请实施例还提供了一种门限SM2数字签名装置,该门限SM2数字签名装置能够实现前述的门限SM2数字签名方法对应的功能。该门限SM2数字签名装置可以是硬件结构、软件模块、或硬件结构加软件模块。该门限SM2数字签名装置可以由芯片系统实现,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。请参见图5所示,该门限SM2数字签名装置包括第一选取模块501、第一计算模块502、接收模块503和第一生成模块504。其中:
第一选取模块501,用于随机选取第一子私钥
Figure 456703DEST_PATH_IMAGE002
,其中,
Figure 780368DEST_PATH_IMAGE003
Figure 91264DEST_PATH_IMAGE001
为第一基点 G的阶,
Figure 407845DEST_PATH_IMAGE001
为素数,G为椭圆曲线E上的第一基点;
第一计算模块502,用于生成第一随机数
Figure 894321DEST_PATH_IMAGE004
和第二随机数
Figure 638155DEST_PATH_IMAGE005
,根据第一随机数
Figure 701926DEST_PATH_IMAGE004
计 算得到椭圆曲线E上的第二基点
Figure 307351DEST_PATH_IMAGE006
,其中,
Figure 897601DEST_PATH_IMAGE007
接收模块503,用于接收第二设备发送的第三基点
Figure 687702DEST_PATH_IMAGE008
、第三随机数
Figure 114136DEST_PATH_IMAGE009
、随机数组
Figure 41028DEST_PATH_IMAGE010
、 第一中间变量
Figure 236517DEST_PATH_IMAGE011
和第二中间变量
Figure 197520DEST_PATH_IMAGE012
,并利用不经意传输协议分别对第一中间变量
Figure 626096DEST_PATH_IMAGE011
和第二 中间变量
Figure 838902DEST_PATH_IMAGE012
进行解码,得到第二设备的隐私数据
Figure 138166DEST_PATH_IMAGE013
和隐私数据
Figure 270070DEST_PATH_IMAGE014
第一生成模块504,用于根据第二基点
Figure 405516DEST_PATH_IMAGE006
和第三基点
Figure 671281DEST_PATH_IMAGE008
计算第一部分签名值
Figure 575783DEST_PATH_IMAGE015
,以 及根据第一子私钥
Figure 144168DEST_PATH_IMAGE016
、第一随机数
Figure 19107DEST_PATH_IMAGE004
、隐私数据
Figure 104875DEST_PATH_IMAGE013
和隐私数据
Figure 113151DEST_PATH_IMAGE014
计算第二部分签名值
Figure 727803DEST_PATH_IMAGE017
,并在 第二部分签名值
Figure 696896DEST_PATH_IMAGE071
时,生成待签名消息的完整签名值
Figure 304464DEST_PATH_IMAGE072
在一种可能的设计中,接收模块503具体用于:
分别令第一设备的隐私数据
Figure 183558DEST_PATH_IMAGE020
,隐私数据
Figure 828166DEST_PATH_IMAGE080
将隐私数据
Figure 674769DEST_PATH_IMAGE022
和隐私数据
Figure 430235DEST_PATH_IMAGE023
用二进制表示为
Figure 163836DEST_PATH_IMAGE024
Figure 106908DEST_PATH_IMAGE025
按照以下公式计算得到所述隐私数据
Figure 316173DEST_PATH_IMAGE013
Figure 750696DEST_PATH_IMAGE026
,其中,
Figure 853651DEST_PATH_IMAGE027
为求模运算,
Figure 246586DEST_PATH_IMAGE028
用于表征所述随 机数组
Figure 677567DEST_PATH_IMAGE010
中的值;
按照以下公式计算得到所述隐私数据
Figure 899470DEST_PATH_IMAGE014
Figure 873242DEST_PATH_IMAGE029
,其中,
Figure 30554DEST_PATH_IMAGE030
用于表征随机数组
Figure 73465DEST_PATH_IMAGE010
中的值。
在一种可能的设计中,第一生成模块504具体用于:
按照以下公式计算得到所述椭圆曲线上的第四基点
Figure 115371DEST_PATH_IMAGE032
Figure 802704DEST_PATH_IMAGE033
确定第四基点
Figure 801358DEST_PATH_IMAGE032
的横坐标
Figure 816718DEST_PATH_IMAGE034
和纵坐标
Figure 521369DEST_PATH_IMAGE035
按照以下公式计算得到所述第一部分签名值
Figure 187843DEST_PATH_IMAGE015
Figure 93482DEST_PATH_IMAGE036
,其中,
Figure 720772DEST_PATH_IMAGE037
为根据第一设备生成的待签名消息处理得到的哈希 函数值。
在一种可能的设计中,第一生成模块504还用于:
当隐私数据
Figure 353748DEST_PATH_IMAGE013
等于第二设备生成的第二子私钥
Figure 625460DEST_PATH_IMAGE038
与第五随机数
Figure 561055DEST_PATH_IMAGE039
之和时,按照以 下公式计算得到第三中间变量
Figure 800275DEST_PATH_IMAGE042
Figure 987674DEST_PATH_IMAGE043
当隐私数据
Figure 238527DEST_PATH_IMAGE014
等于第二设备生成的第四随机数
Figure 472587DEST_PATH_IMAGE040
和第五随机数
Figure 215415DEST_PATH_IMAGE039
之和时,按照以 下公式计算得到第四中间变量
Figure 455772DEST_PATH_IMAGE044
Figure 233235DEST_PATH_IMAGE045
按照以下公式计算得到第二部分签名值
Figure 510633DEST_PATH_IMAGE017
Figure 990025DEST_PATH_IMAGE046
在一种可能的设计中,第一计算模块502还用于:
按照以下公式计算所述第二基点
Figure 253647DEST_PATH_IMAGE006
Figure 869305DEST_PATH_IMAGE047
基于同一发明构思,本申请实施例还提供了一种门限SM2数字签名装置,该门限SM2数字签名装置能够实现前述的门限SM2数字签名方法对应的功能。该门限SM2数字签名装置可以是硬件结构、软件模块、或硬件结构加软件模块。该门限SM2数字签名装置可以由芯片系统实现,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。请参见图6所示,该门限SM2数字签名装置包括第二选取模块601、第二选取模块602、第二计算模块603和第二生成模块604。其中:
第二选取模块601,用于随机选取第二子私钥
Figure 583183DEST_PATH_IMAGE038
,其中,
Figure 35024DEST_PATH_IMAGE091
Figure 354534DEST_PATH_IMAGE001
为第一基点 G的阶,
Figure 700065DEST_PATH_IMAGE001
为素数, G为椭圆曲线E上的第一基点;
第二生成模块602,用于生成第五随机数
Figure 194631DEST_PATH_IMAGE039
和第六随机数
Figure 117457DEST_PATH_IMAGE051
,接收第一设备发送的 第二基点
Figure 113095DEST_PATH_IMAGE006
,其中,
Figure 100002_DEST_PATH_IMAGE100
第二计算模块603,用于根据第六随机数
Figure 109870DEST_PATH_IMAGE051
计算得到椭圆曲线E上的第三基点
Figure 634392DEST_PATH_IMAGE008
, 以及根据第二基点
Figure 60825DEST_PATH_IMAGE006
和第三基点
Figure 719208DEST_PATH_IMAGE008
,计算第一部分签名值
Figure 39331DEST_PATH_IMAGE015
,并在
Figure 875700DEST_PATH_IMAGE053
时,生成第四随机数
Figure 41627DEST_PATH_IMAGE040
第三生成模块604,用于利用不经意传输协议对第二设备的隐私数据
Figure 113488DEST_PATH_IMAGE013
和隐私数据
Figure 429063DEST_PATH_IMAGE014
进行编码,得到第一中间变量
Figure 420022DEST_PATH_IMAGE011
和第二中间变量
Figure 945681DEST_PATH_IMAGE012
,并将第一中间变量
Figure 696599DEST_PATH_IMAGE011
和第二中间变量
Figure DEST_PATH_IMAGE101
,以及随机生成的第三随机数
Figure 788052DEST_PATH_IMAGE009
和随机数组
Figure 356437DEST_PATH_IMAGE010
发送给第一设备,以使得第一设备计算第二 部分签名值
Figure 962867DEST_PATH_IMAGE017
,生成签名值
Figure 517477DEST_PATH_IMAGE019
在一种可能的设计中,第二计算模块603具体用于:
按照以下公式计算得到所述椭圆曲线上的第四基点
Figure 666698DEST_PATH_IMAGE032
Figure 787408DEST_PATH_IMAGE033
确定第四基点
Figure 897446DEST_PATH_IMAGE032
的横坐标
Figure 973856DEST_PATH_IMAGE034
和纵坐标
Figure 243163DEST_PATH_IMAGE035
按照以下公式计算所述第一部分签名值
Figure 28716DEST_PATH_IMAGE015
Figure 609739DEST_PATH_IMAGE036
,其中,
Figure 630785DEST_PATH_IMAGE037
为根据所述第一设备生成的待签名消息处理得到的 哈希函数值;
按照以下公式计算所述第四随机数
Figure 98807DEST_PATH_IMAGE054
Figure 570108DEST_PATH_IMAGE055
在一种可能的设计中,当隐私数据
Figure 654739DEST_PATH_IMAGE013
等于所述第二设备生成的第二子私钥
Figure 479475DEST_PATH_IMAGE038
与第 五随机数
Figure 585359DEST_PATH_IMAGE039
之和,隐私数据
Figure 181557DEST_PATH_IMAGE099
等于第二设备生成的第四随机数
Figure 878117DEST_PATH_IMAGE040
和第五随机数
Figure 631178DEST_PATH_IMAGE039
之和时, 第三生成模块604具体于:
第二设备随机生成
Figure 339371DEST_PATH_IMAGE056
Figure 886896DEST_PATH_IMAGE057
这256个第三随机数
Figure 805174DEST_PATH_IMAGE064
,以及随机生成
Figure 847079DEST_PATH_IMAGE058
这256个随机数组
Figure 659046DEST_PATH_IMAGE010
,其中,
Figure 393784DEST_PATH_IMAGE059
按照以下公式计算得到第一中间变量
Figure 192500DEST_PATH_IMAGE011
和第二中间变量
Figure 38096DEST_PATH_IMAGE012
Figure 845515DEST_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_IMAGE002
Figure 226956DEST_PATH_IMAGE002
为素数,所述方法包括:
随机选取第一子私钥
Figure DEST_PATH_IMAGE004
,其中,
Figure DEST_PATH_IMAGE006
生成第一随机数
Figure DEST_PATH_IMAGE008
和第二随机数
Figure DEST_PATH_IMAGE010
,根据所述第一随机数
Figure 629249DEST_PATH_IMAGE008
计算得到所述椭圆曲线E上的第二基点
Figure DEST_PATH_IMAGE012
,其中,
Figure DEST_PATH_IMAGE014
接收第二设备发送的第三基点、第三随机数、随机数组、第一中间变量和第二中 间变量,并利用不经意传输协议分别对第一中间变量和第二中间变量进行解码,得 到第二设备的隐私数据和隐私数据
Figure DEST_PATH_IMAGE028
根据所述第二基点和所述第三基点计算第一部分签名值,以及根据所述第一子 私钥、所述第一随机数、所述隐私数据和所述隐私数据
Figure 883721DEST_PATH_IMAGE028
计算第二部分签名值,并在 所述第二部分签名值
Figure DEST_PATH_IMAGE034
时,生成待签名消息的完整签名值
Figure DEST_PATH_IMAGE036
2.如权利要求1所述的方法,其特征在于,利用不经意传输协议对所述第一中间变量 进行解码,得到所述第二设备的隐私数据和隐私数据
Figure 69086DEST_PATH_IMAGE028
,包括:
分别令第一设备的隐私数据
Figure DEST_PATH_IMAGE038
,隐私数据
Figure DEST_PATH_IMAGE040
将所述隐私数据
Figure DEST_PATH_IMAGE042
和所述隐私数据
Figure DEST_PATH_IMAGE044
用二进制表示为
Figure DEST_PATH_IMAGE046
Figure DEST_PATH_IMAGE048
按照以下公式计算得到所述隐私数据
Figure 108717DEST_PATH_IMAGE026
Figure DEST_PATH_IMAGE050
,其中,
Figure DEST_PATH_IMAGE052
为求模运算,
Figure DEST_PATH_IMAGE054
用于表征随机数组
Figure 725511DEST_PATH_IMAGE020
中的值;
按照以下公式计算得到所述隐私数据
Figure 187585DEST_PATH_IMAGE028
Figure DEST_PATH_IMAGE056
,其中,
Figure DEST_PATH_IMAGE058
用于表征随机数组
Figure 129258DEST_PATH_IMAGE020
中的值。
3.如权利要求1所述的方法,其特征在于,根据所述第二基点
Figure 385796DEST_PATH_IMAGE012
和所述第三基点
Figure 52401DEST_PATH_IMAGE016
计算第一部分签名值
Figure 816701DEST_PATH_IMAGE030
,包括:
按照以下公式计算得到所述椭圆曲线上的第四基点
Figure DEST_PATH_IMAGE060
Figure DEST_PATH_IMAGE062
确定所述第四基点
Figure 439312DEST_PATH_IMAGE060
的横坐标
Figure DEST_PATH_IMAGE064
和纵坐标
Figure DEST_PATH_IMAGE066
按照以下公式计算得到所述第一部分签名值
Figure 368216DEST_PATH_IMAGE030
Figure DEST_PATH_IMAGE068
,其中,
Figure DEST_PATH_IMAGE070
为根据所述第一设备生成的待签名消息处理得到的哈希函数值。
4.如权利要求2所述的方法,其特征在于,所述隐私数据等于所述第二设备生成的第 二子私钥与第五随机数之和,所述隐私数据
Figure 282918DEST_PATH_IMAGE028
等于所述第二设备生成的第四随机数 和所述第五随机数之和;
则根据所述第一子私钥、所述第一随机数、所述隐私数据和所述隐私数据
Figure 597487DEST_PATH_IMAGE028
计算 第二部分签名值,包括:
当所述隐私数据
Figure 852812DEST_PATH_IMAGE026
等于所述第二设备生成的第二子私钥
Figure 483644DEST_PATH_IMAGE072
与第五随机数
Figure 732092DEST_PATH_IMAGE074
之和时,按照以下公式计算得到第三中间变量
Figure DEST_PATH_IMAGE078
Figure DEST_PATH_IMAGE080
当所述隐私数据
Figure 173700DEST_PATH_IMAGE028
等于所述第二设备生成的第四随机数和所述第五随机数之和 时,按照以下公式计算得到第四中间变量:
Figure DEST_PATH_IMAGE085
按照以下公式计算得到第二部分签名值
Figure 356169DEST_PATH_IMAGE032
Figure DEST_PATH_IMAGE087
5.如权利要求1所述的方法,其特征在于,根据所述第一随机数
Figure 396806DEST_PATH_IMAGE008
计算得到所述椭圆曲线E上的第二基点
Figure 258583DEST_PATH_IMAGE012
,包括:
按照以下公式计算所述第二基点
Figure 846821DEST_PATH_IMAGE012
Figure DEST_PATH_IMAGE089
6.一种门限SM2数字签名方法,其特征在于,应用于第二设备,其中,G为椭圆曲线E上的第一基点,第一基点G的阶为
Figure 881773DEST_PATH_IMAGE002
Figure 776917DEST_PATH_IMAGE002
为素数,所述方法包括:
随机选取第二子私钥
Figure DEST_PATH_IMAGE091
,其中,
Figure DEST_PATH_IMAGE093
生成第五随机数
Figure DEST_PATH_IMAGE094
和第六随机数
Figure DEST_PATH_IMAGE096
,接收第一设备发送的第二基点
Figure 150873DEST_PATH_IMAGE012
,其中,
Figure DEST_PATH_IMAGE098
根据所述第六随机数
Figure 757566DEST_PATH_IMAGE096
计算得到所述椭圆曲线E上的第三基点值
Figure 533892DEST_PATH_IMAGE016
,以及根据所述第二基点
Figure 240467DEST_PATH_IMAGE012
和所述第三基点
Figure 709626DEST_PATH_IMAGE016
,计算第一部分签名值
Figure 849620DEST_PATH_IMAGE030
,并在所述
Figure DEST_PATH_IMAGE100
时,生成第四随机数
Figure 616588DEST_PATH_IMAGE076
利用不经意传输协议对所述第二设备的隐私数据和隐私数据
Figure 549220DEST_PATH_IMAGE028
进行编码,得到第一中 间变量和第二中间变量,并将所述第一中间变量和第二中间变量,以及随机生成 的第三随机数和随机数组发送给所述第一设备,以使得所述第一设备计算第二部分签 名值,生成签名值
Figure 705821DEST_PATH_IMAGE036
7.如权利要求6所述的方法,其特征在于,根据所述第二基点
Figure 697917DEST_PATH_IMAGE012
和所述第三基点
Figure 423427DEST_PATH_IMAGE016
,计算所述第一部分签名值
Figure 686044DEST_PATH_IMAGE030
,并在所述
Figure 963441DEST_PATH_IMAGE100
时,生成第四随机数
Figure 662407DEST_PATH_IMAGE076
,包括:
按照以下公式计算得到所述椭圆曲线上的第四基点
Figure 440876DEST_PATH_IMAGE060
Figure 931900DEST_PATH_IMAGE062
确定所述第四基点
Figure 521145DEST_PATH_IMAGE060
的横坐标
Figure 816446DEST_PATH_IMAGE064
和纵坐标
Figure 883759DEST_PATH_IMAGE066
按照以下公式计算所述第一部分签名值
Figure 353923DEST_PATH_IMAGE030
Figure 238703DEST_PATH_IMAGE068
,其中,
Figure 177840DEST_PATH_IMAGE070
为根据所述第一设备生成的待签名消息处理得到的哈希函数值;
按照以下公式计算所述第四随机数
Figure 471680DEST_PATH_IMAGE076
Figure DEST_PATH_IMAGE102
8.如权利要求6所述的方法,其特征在于,所述隐私数据等于所述第二设备生成的第 二子私钥与第五随机数之和,所述隐私数据
Figure 143040DEST_PATH_IMAGE028
等于所述第二设备生成的第四随机数 和所述第五随机数之和;
则利用所述不经意传输协议分别对所述第二设备的隐私数据和所述隐私数据
Figure 682858DEST_PATH_IMAGE028
进行 编码,得到第一中间变量和第二中间变量,包括:
所述第二设备随机生成
Figure DEST_PATH_IMAGE104
Figure DEST_PATH_IMAGE106
这256个第三随机数
Figure 872641DEST_PATH_IMAGE018
,以及随机生成
Figure DEST_PATH_IMAGE108
这256个随机数组
Figure 420297DEST_PATH_IMAGE020
,其中,
Figure DEST_PATH_IMAGE110
按照以下公式计算得到第一中间变量
Figure 528061DEST_PATH_IMAGE022
和第二中间变量
Figure 725474DEST_PATH_IMAGE024
Figure DEST_PATH_IMAGE112
9.一种门限SM2数字签名装置,其特征在于,所述装置设置在第一设备中,包括:
第一选取模块,用于随机选取第一子私钥
Figure 144954DEST_PATH_IMAGE004
,其中,
Figure 948831DEST_PATH_IMAGE006
Figure 973419DEST_PATH_IMAGE002
为第一基点G的阶,
Figure 447126DEST_PATH_IMAGE002
为素数,G为椭圆曲线E上的第一基点;
第一计算模块,用于生成第一随机数
Figure 573476DEST_PATH_IMAGE008
和第二随机数
Figure 945158DEST_PATH_IMAGE010
,根据所述第一随机数
Figure 214465DEST_PATH_IMAGE008
计算得到所述椭圆曲线E上的第二基点
Figure 734439DEST_PATH_IMAGE012
,其中,
Figure 581041DEST_PATH_IMAGE014
接收模块,用于接收第二设备发送的第三基点、第三随机数、随机数组、第一中间 变量和第二中间变量,并利用不经意传输协议分别对第一中间变量和第二中间变量进行解码,得到第二设备的隐私数据和隐私数据
Figure 23654DEST_PATH_IMAGE028
第一生成模块,用于根据所述第二基点和所述第三基点计算第一部分签名值,以 及根据所述第一子私钥、所述第一随机数、所述隐私数据和所述隐私数据
Figure 628051DEST_PATH_IMAGE028
计算第二 部分签名值,并在所述第二部分签名值
Figure 766219DEST_PATH_IMAGE034
时,生成待签名消息的完整签名值
Figure 671858DEST_PATH_IMAGE036
10.如权利要求9所述的装置,其特征在于,所述接收模块具体用于:
分别令第一设备的隐私数据
Figure 689362DEST_PATH_IMAGE038
,隐私数据
Figure 73070DEST_PATH_IMAGE040
将所述隐私数据
Figure 895182DEST_PATH_IMAGE042
和所述隐私数据
Figure 706143DEST_PATH_IMAGE044
用二进制表示为
Figure 210943DEST_PATH_IMAGE046
Figure 991817DEST_PATH_IMAGE048
按照以下公式计算得到所述隐私数据
Figure 649194DEST_PATH_IMAGE026
Figure 647369DEST_PATH_IMAGE050
,其中,
Figure 921355DEST_PATH_IMAGE052
为求模运算,
Figure 630554DEST_PATH_IMAGE054
用于表征随机数组
Figure 673596DEST_PATH_IMAGE020
中的值;
按照以下公式计算得到所述隐私数据
Figure 685415DEST_PATH_IMAGE028
Figure 663342DEST_PATH_IMAGE056
,其中,
Figure 926964DEST_PATH_IMAGE058
用于表征随机数组
Figure 903141DEST_PATH_IMAGE020
中的值。
11.如权利要求9所述的装置,其特征在于,第一生成模块具体用于:
按照以下公式计算得到所述椭圆曲线上的第四基点
Figure 882599DEST_PATH_IMAGE060
Figure 607541DEST_PATH_IMAGE062
确定所述第四基点
Figure 940434DEST_PATH_IMAGE060
的横坐标
Figure 285964DEST_PATH_IMAGE064
和纵坐标
Figure 560957DEST_PATH_IMAGE066
按照以下公式计算得到所述第一部分签名值
Figure 500094DEST_PATH_IMAGE030
Figure 856251DEST_PATH_IMAGE068
,其中,
Figure 462813DEST_PATH_IMAGE070
为根据第一设备生成的待签名消息处理得到的哈希函数值。
12.如权利要求10所述的装置,其特征在于,所述第一生成模块还用于:
当所述隐私数据
Figure 908707DEST_PATH_IMAGE026
等于所述第二设备生成的第二子私钥
Figure 335140DEST_PATH_IMAGE072
与第五随机数
Figure 23217DEST_PATH_IMAGE074
之和时,按照以下公式计算得到第三中间变量
Figure DEST_PATH_IMAGE114
Figure 936815DEST_PATH_IMAGE080
当所述隐私数据
Figure 773184DEST_PATH_IMAGE028
等于所述第二设备生成的第四随机数和所述第五随机数之和 时,按照以下公式计算得到第四中间变量:
Figure DEST_PATH_IMAGE115
按照以下公式计算得到第二部分签名值
Figure 284882DEST_PATH_IMAGE032
Figure DEST_PATH_IMAGE116
13.如权利要求9所述的装置,其特征在于,第一计算模块还用于:
按照以下公式计算所述第二基点
Figure 111674DEST_PATH_IMAGE012
Figure DEST_PATH_IMAGE117
14.一种门限SM2数字签名装置,其特征在于,所述装置设置在第二设备中,包括:
第二选取模块,用于随机选取第二子私钥
Figure DEST_PATH_IMAGE118
,其中,
Figure 111860DEST_PATH_IMAGE093
Figure 32673DEST_PATH_IMAGE002
为第一基点G的阶,
Figure 476424DEST_PATH_IMAGE002
为素数,G为椭圆曲线E上的第一基点;
第二生成模块,用于生成第五随机数
Figure 614013DEST_PATH_IMAGE094
和第六随机数
Figure DEST_PATH_IMAGE119
,接收第一设备发送的第二基点
Figure 965360DEST_PATH_IMAGE012
,其中,
Figure 737751DEST_PATH_IMAGE098
第二计算模块,用于根据所述第六随机数
Figure 86824DEST_PATH_IMAGE096
计算得到所述椭圆曲线E上的第三基点值
Figure 55917DEST_PATH_IMAGE016
,以及根据所述第二基点
Figure 663484DEST_PATH_IMAGE012
和所述第三基点
Figure 401633DEST_PATH_IMAGE016
,计算第一部分签名值
Figure 187187DEST_PATH_IMAGE030
,并在所述
Figure 535254DEST_PATH_IMAGE100
时,生成第四随机数
Figure 431665DEST_PATH_IMAGE076
第三生成模块,用于利用不经意传输协议对第二设备的隐私数据和隐私数据
Figure 495622DEST_PATH_IMAGE028
进行编 码,得到第一中间变量和第二中间变量,并将所述第一中间变量和第二中间变量, 以及随机生成的第三随机数和随机数组发送给所述第一设备,以使得所述第一设备计 算第二部分签名值,生成签名值
Figure 43648DEST_PATH_IMAGE036
15.如权利要求14所述的装置,其特征在于,所述第二计算模块具体用于:
按照以下公式计算得到所述椭圆曲线上的第四基点
Figure 92638DEST_PATH_IMAGE060
Figure 886282DEST_PATH_IMAGE062
确定所述第四基点
Figure 443034DEST_PATH_IMAGE060
的横坐标
Figure 536892DEST_PATH_IMAGE064
和纵坐标
Figure 19432DEST_PATH_IMAGE066
按照以下公式计算所述第一部分签名值
Figure 565951DEST_PATH_IMAGE030
Figure 395236DEST_PATH_IMAGE068
,其中,
Figure 202655DEST_PATH_IMAGE070
为根据所述第一设备生成的待签名消息处理得到的哈希函数值;
按照以下公式计算所述第四随机数
Figure 842715DEST_PATH_IMAGE076
Figure DEST_PATH_IMAGE122
16.如权利要求14所述的装置,其特征在于,当所述隐私数据等于所述第二设备生成 的第二子私钥与第五随机数之和,所述隐私数据
Figure 670808DEST_PATH_IMAGE028
等于所述第二设备生成的第四随机 数和所述第五随机数之和时,所述第三生成模块具体于:
所述第二设备随机生成
Figure 383833DEST_PATH_IMAGE104
Figure DEST_PATH_IMAGE123
这256个第三随机数
Figure 21487DEST_PATH_IMAGE018
,以及随机生成
Figure DEST_PATH_IMAGE124
这256个随机数组
Figure 718310DEST_PATH_IMAGE020
,其中,
Figure 958668DEST_PATH_IMAGE110
按照以下公式计算得到第一中间变量
Figure 470551DEST_PATH_IMAGE022
和第二中间变量
Figure 747949DEST_PATH_IMAGE024
Figure DEST_PATH_IMAGE125
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 CN111064583A (zh) 2020-04-24
CN111064583B true 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)

Families Citing this family (6)

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

Also Published As

Publication number Publication date
CN111064583A (zh) 2020-04-24

Similar Documents

Publication Publication Date Title
CN111064583B (zh) 一种门限sm2数字签名方法、装置、电子设备及存储介质
US8874900B2 (en) Direct anonymous attestation scheme with outsourcing capability
CN109818730B (zh) 盲签名的获取方法、装置和服务器
US9832018B2 (en) Method of generating a public key for an electronic device and electronic device
JP7206324B2 (ja) 暗号アルゴリズム向けのワンタイムの中国剰余定理のべき乗のためのシステムおよび方法
Chow et al. Server-aided signatures verification secure against collusion attack
WO2001046787A2 (en) Method of authenticating users of software
CN112036878B (zh) 数据处理方法及装置
CN112632630A (zh) 一种基于sm2的协同签名计算方法及装置
JP2017526981A5 (zh)
EP2738973A1 (en) System and method for cryptography using multiplicative masking using simultaneous exponentiation techniques
CN111262707B (zh) 数字签名方法及验证方法、设备、存储介质
EP3785399B1 (en) Method for generating on-board a cryptographic key using a physically unclonable function
CN112184245A (zh) 一种跨区块链的交易身份确认方法及装置
CN111600703A (zh) 基于sm2的签名方法、系统、电子设备及存储介质
JP4494965B2 (ja) 処理中の計算を容易にするための暗号化方法、及び装置
Vullers Efficient implementations of attribute-based credentials on smart cards
CN112887097A (zh) 基于sm2椭圆曲线的签名方法、相关装置、及存储介质
CN111984225A (zh) 基于边缘计算的支持隐私保护的模幂运算任务外包方法
CN113972984B (zh) ElGamal密文等价判断方法及装置
CN111125782B (zh) 一种不可克隆芯片id的验证方法及系统
CN109687962B (zh) 基于私钥池的抗量子计算mqv密钥协商方法和系统
Tejashwini et al. Mobile communication security using Galios Field in elliptic curve Cryptography
CN117201041A (zh) 基于区块链的链下协同门限签名方法及装置
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