CN116318688B - 协同签名方法、设备和存储介质 - Google Patents

协同签名方法、设备和存储介质 Download PDF

Info

Publication number
CN116318688B
CN116318688B CN202310594531.7A CN202310594531A CN116318688B CN 116318688 B CN116318688 B CN 116318688B CN 202310594531 A CN202310594531 A CN 202310594531A CN 116318688 B CN116318688 B CN 116318688B
Authority
CN
China
Prior art keywords
signature
key
random number
generating
result
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
CN202310594531.7A
Other languages
English (en)
Other versions
CN116318688A (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 CN202310594531.7A priority Critical patent/CN116318688B/zh
Publication of CN116318688A publication Critical patent/CN116318688A/zh
Application granted granted Critical
Publication of CN116318688B publication Critical patent/CN116318688B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例提供一种协同签名方法、设备和存储介质,所述方法包括:根据身份标识和系统主私钥,生成签名密钥,签名密钥包括签名私钥变量和第一生成元。根据第一随机数、第二随机数、签名私钥变量、以及第一生成元,生成混淆签名密钥;将第一随机数和混淆签名密钥发送至第一签名端,使得第一签名端根据混淆签名密钥,生成第一签名结果,将第一签名结果发送至第二签名端;将第二随机数和混淆签名密钥发送至第二签名端,使得第二签名端根据第二随机数、混淆签名密钥、第一签名结果、以及待验证消息,生成第二签名结果,将第二签名结果发送至第一签名端,通过第一签名端根据第二签名结果和第一随机数,生成目标签名,提高了数字签名的安全性。

Description

协同签名方法、设备和存储介质
技术领域
本发明涉及信息安全数据处理技术领域,尤其涉及一种协同签名方法、设备和存储介质。
背景技术
数字签名是信息发送者产生的别人无法伪造的一段数字串,这段数字串可以有效证明信息发送者的身份信息。数字签字在身份认证、数据完整性、不可否认性以及匿名性等方面都有着重要的应用。
为了提高用户数字签名的安全性,目前出现了通信双方协同签名的技术方案。即双方各自持有部分签名密钥,双方都不知道完整的签名密钥,通过交互联合完成整个签名过程。
然而,传统的基于SM9签名算法进行两方协同签名方案中,一旦通信双方进行串谋,那么通信双方将可以获得系统主私钥,从而使得整个密钥系统存在较大的安全隐患。
发明内容
本发明实施例提供一种协同签名方法、设备和存储介质,用以提高用户签名密钥以及签名的安全性,还可以防止签名端之间的串谋后泄露系统主私钥的问题,从而提高了整个密钥系统的安全性。
第一方面,本发明实施例提供一种协同签名方法,应用于密钥生成中心,该方法包括:
获取用户的身份标识和系统主私钥,所述用户为生成待验证消息的用户;
根据所述身份标识和所述系统主私钥,生成签名密钥,所述签名密钥包括签名私钥变量和第一生成元;
生成第一随机数和第二随机数,并根据所述第一随机数、所述第二随机数、所述签名私钥变量、以及所述第一生成元,生成混淆签名密钥;
将所述第一随机数和所述混淆签名密钥发送至第一签名端,以使得所述第一签名端根据所述混淆签名密钥,生成第一签名结果,并将所述第一签名结果发送至第二签名端;
将所述第二随机数和所述混淆签名密钥发送至第二签名端,以使得所述第二签名端根据第二随机数、所述混淆签名密钥、所述第一签名结果、以及待验证消息,生成第二签名结果,并将所述第二签名结果发送至第一签名端,通过所述第一签名端根据所述第二签名结果和所述第一随机数,生成所述待验证消息的目标签名。
第二方面,本发明实施例提供一种协同签名装置,位于密钥生成中心,该装置包括:
获取模块,用于获取用户的身份标识和系统主私钥,所述用户为生成待验证消息的用户;
确定模块,用于根据所述身份标识和所述系统主私钥,生成签名密钥,所述签名密钥包括签名私钥变量和第一生成元;
生成模块,用于生成第一随机数和第二随机数,并根据所述第一随机数、所述第二随机数、所述签名私钥变量、以及所述第一生成元,生成混淆签名密钥;
第一发送模块,用于将所述第一随机数和所述混淆签名密钥发送至第一签名端,以使得所述第一签名端根据所述混淆签名密钥,生成第一签名结果,并将所述第一签名结果发送至第二签名端;
第二发送模块,用于将所述第二随机数和所述混淆签名密钥发送至第二签名端,以使得所述第二签名端根据第二随机数、所述混淆签名密钥、所述第一签名结果、以及待验证消息,生成第二签名结果,并将所述第二签名结果发送至第一签名端,通过所述第一签名端根据所述第二签名结果和所述第一随机数,生成所述待验证消息的目标签名。
第三方面,本发明实施例提供一种电子设备,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现如第一方面所述的协同签名方法。
第四方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被管控设备的处理器执行时,使所述处理器至少可以实现如第一方面所述的协同签名方法。
第五方面,本发明实施例提供一种协同签名方法,应用于第一签名端,所述方法包括:
接收密钥生成中心发送的第一随机数和混淆签名密钥,所述混淆签名密钥是所述密钥生成中心根据所述第一随机数、第二随机数、签名私钥变量、以及第一生成元生成的;
根据所述混淆签名密钥,生成第一签名结果,并将所述第一签名结果发送至第二签名端,以使得所述第二签名端根据所述第一签名结果、第二随机数、所述混淆签名密钥、以及待验证消息,生成第二签名结果,并将所述第二签名结果发送至第一签名端;
接收所述第二签名端发送的第二签名结果,并根据所述第二签名结果和所述第一随机数,生成待验证消息的目标签名。
第六方面,本发明实施例提供一种协同签名装置,位于第一签名端,所述装置包括:
第一接收模块,用于接收密钥生成中心发送的第一随机数和混淆签名密钥,所述混淆签名密钥是所述密钥生成中心根据所述第一随机数、第二随机数、签名私钥变量、以及第一生成元生成的;
生成模块,用于根据所述混淆签名密钥,生成第一签名结果,并将所述第一签名结果发送至第二签名端,以使得所述第二签名端根据所述第一签名结果、第二随机数、所述混淆签名密钥、以及待验证消息,生成第二签名结果,并将所述第二签名结果发送至第一签名端;
第二接收模块,用于接收所述第二签名端发送的第二签名结果,并根据所述第二签名结果和所述第一随机数,生成待验证消息的目标签名。
第七方面,本发明实施例提供一种电子设备,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现如第五方面所述的协同签名方法。
第八方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被计算设备的处理器执行时,使所述处理器至少可以实现如第五方面所述的协同签名方法。
第九方面,本发明实施例提供一种协同签名方法,应用于第二签名端,所述方法包括:
接收密钥生成中心发送的第二随机数和混淆签名密钥,所述混淆签名密钥是所述密钥生成中心根据第一随机数、所述第二随机数、签名私钥变量、以及第一生成元生成的;
接收第一签名端发送的第一签名结果;
根据所述第二随机数、所述混淆签名密钥、所述第一签名结果、以及待验证消息,生成第二签名结果,并将所述第二签名结果发送至第一签名端,以使得所述第一签名端根据所述第二签名结果和第一随机数,生成所述待验证消息的目标签名。
第十方面,本发明实施例提供一种协同签名装置,位于第二签名端,所述装置包括:
第一接收模块,用于接收密钥生成中心发送的第二随机数和混淆签名密钥,所述混淆签名密钥是所述密钥生成中心根据第一随机数、所述第二随机数、签名私钥变量、以及第一生成元生成的;
第二接收模块,用于接收第一签名端发送的第一签名结果;
生成模块,用于根据所述第二随机数、所述混淆签名密钥、所述第一签名结果、以及待验证消息,生成第二签名结果,并将所述第二签名结果发送至第一签名端,以使得所述第一签名端根据所述第二签名结果和第一随机数,生成所述待验证消息的目标签名。
第十一方面,本发明实施例提供一种电子设备,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现如第九方面所述的协同签名方法。
第十二方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被计算设备的处理器执行时,使所述处理器至少可以实现如第九方面所述的协同签名方法。
本发明实施例提供的协同签名方案由密钥生成中心生成用户所对应的签名密钥,并将签名密钥进行混淆处理后,分别发送至两个签名端,再由两个签名端协同完成签名。具体地,当需要对某一待验证消息进行签名时,对于密钥生成中心来说,首先获取该待验证消息所对应的用户身份标识以及系统主私钥,并根据该用户的身份标识和系统主私钥,生成该用户对应的签名密钥,签名密钥包括签名私钥变量和第一生成元。接着,生成第一随机数和第二随机数,并根据第一随机数、第二随机数、签名私钥变量、以及第一生成元,生成混淆签名密钥。最后将该混淆签名密钥和第一随机数发送至第一签名端,将该混淆签名密钥和第二随机数发送至第二签名端。第一签名端便可以根据混淆签名密钥生成第一签名结果,并将第一签名结果发送至第二签名端。第二签名端可以根据密钥生成中心发送的第二随机数、混淆签名密钥、待验证消息以及第一签名端发送的第一签名结果,生成第二签名结果,并将第二签名结果发送至第一签名端。第一签名端接收到第二签名端发送的第二签名结果之后,可以根据第二签名结果和第一随机数,生成该待验证消息所对应的目标签名。
在上述方案中,密钥生成中心通过生成的第一随机数和第二随机数对用户签名密钥中的签名私钥变量以及第一生成元进行混淆处理,然后将混淆后获得的混淆签名密钥发送至第一签名端和第二签名端,使得签名端无法直接获取到该用户所对应的签名密钥,不仅可以提高用户签名密钥的安全性,而且还可以提高用户数字签名的安全性。并且,由于密钥生成中心是对用户签名密钥中的签名私钥变量和第一生成元进行混淆处理后,生成的混淆签名密钥,那么即使两个签名端之间进行串谋后,两个签名端也无法直接通过第一随机数、第二随机数和混淆签名密钥,获得系统主私钥,即防止了签名端之间的串谋后出现泄露系统主私钥的问题,从而提高了整个密钥系统的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种协同签名系统的示意图;
图2为本发明实施例提供的一种协同签名方法的流程图;
图3为本发明一示例性实施例的一种协同签名方法的应用场景示意图;
图4为本发明实施例提供的一种生成混淆签名密钥的流程图;
图5为本发明实施例提供的一种协同签名方法的流程示意图;
图6为本发明实施例提供的另一种协同签名方法的流程示意图;
图7为本发明实施例提供的一种协同签名装置的结构示意图;
图8为与图7所示实施例提供的协同签名装置对应的电子设备的结构示意图;
图9为本发明实施例提供的一种协同签名装置的结构示意图;
图10为与图9所示实施例提供的协同签名装置对应的电子设备的结构示意图;
图11为本发明实施例提供的一种协同签名装置的结构示意图;
图12为与图11所示实施例提供的协同签名装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”。
还需要说明的是,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
随着网络技术的快速发展,越来越多的应用领域开始在网络上进行数据通信,那么如何保证网络中传输的数据安全性就显得非常重要了。数字签名是一种保护数据安全的有效方法,采用技术手段达到和传统手写签名等相同的功能,用于鉴定签名值和签名信息的有效性。通常数字签名的方式,可以使得验证者可以验证签名消息在传输过程中是否被篡改,同时还能保证签名者身份的真实性。
在实际应用中,若将用户签名密钥存储于一个用户中,那么敌手只要攻破该用户就可以获得该用户签名密钥,从而可以基于用户签名密钥伪造该用户的信息发送给其他用户。为了提高用户数字签名的安全性,可以采用通信双方协同签名方法来完成消息的签名。即双方各自持有部分签名密钥,双方都不知道完整的签名密钥,通过交互联合完成整个签名过程。
然而,在传统方案中,基于SM9签名算法进行两方协同签名时,密钥生成中心所以生成的第一部分签名密钥和第二部分签名密钥/>满足/>,并且分别为参与签名的两个签名端/>和/>所拥有。那么一旦两方串谋,容易计算出/>。而。由于/>可以计算出,那么系统主私钥/>是可以计算出的。即若通信双方进行串谋,那么通信双方将获取到完整的签名密钥,并且根据完整的签名密钥可以反推出密钥生成中心的系统主私钥,不仅影响了签名的安全性,还会使得整个密钥系统存在安全隐患。
基于此,本发明实施例提供了一种解决上述技术问题的新方案,密钥生成中心通过生成的第一随机数和第二随机数对用户签名密钥中的签名私钥变量以及第一生成元进行混淆处理,生成混淆签名密钥,然后将混淆后的混淆签名密钥发送至第一签名端和第二签名端,使得签名端无法直接获取到该用户所对应的签名密钥,不仅可以提高用户签名密钥以及用户数字签名的安全性。并且还可以防止了签名端之间的串谋后泄露系统主私钥的问题,从而提高了整个密钥系统的安全性。
通过下面各个实施例对本方案的协同签名方法进行详细介绍。
本发明实施例提供的协同签名方法可以适用于图1所示的协同签名系统中,该系统中可以包括:密钥生成中心、第一签名端、以及第二签名端。
其中,密钥生成中心(Key Generation Center,简称KGC)是一个可信机构。用户可以利用自身身份标识向KGC申请签名密钥,当密钥生成中心接收到该用户发送的申请之后,可以基于该用户的身份标识为该用户生成签名密钥,并将生成的签名密钥颁发给该用户。
第一签名端和第二签名端是指用于协同生成签名的终端。可选地,第一签名端可以为生成待验证消息的用户,第二签名端可以为选取出与第一签名端协同生成签名的终端用户。第一签名端对待验证消息进行签名之前,可以先向密钥生成中心发送用户的身份标识,以使得密钥生成中心可以基于该用户的身份标识和系统主私钥,生成用户所对应的签名密钥,签名密钥包括签名私钥变量和第一生成元,其中第一生成元为第一加法循环群对应的第一生成元。然后,密钥生成中心并对签名密钥进行混淆处理,生成第一随机数和第二随机数,并根据第一随机数、第二随机数、签名私钥变量、以及第一生成元,生成混淆签名密钥。最后,密钥生成中心将第一随机数和混淆签名密钥发送至第一签名端,将第二随机数和混淆签名密钥发送至第二签名端,以使得第一签名端和第二签名端通过交互协同起来为待验证消息签名,以获得待验证消息所对应的目标签名。
在一可选实施例中,第二签名端可以为生成待验证消息的用户,第一签名端可以为选取出与第一签名端协同生成签名的终端用户。第二签名端对待验证消息进行签名之前,可以先向密钥生成中心发送用户的身份标识,以使得密钥生成中心可以基于该用户的身份标识和系统主私钥,生成用户所对应的签名密钥,签名密钥包括签名私钥变量和第一生成元,其中第一生成元为第一加法循环群对应的第一生成元。然后,密钥生成中心并对签名密钥进行混淆处理,生成第一随机数和第二随机数,并根据第一随机数、第二随机数、签名私钥变量、以及第一生成元,生成混淆签名密钥。最后,密钥生成中心将第一随机数和混淆签名密钥发送至第二签名端,将第二随机数和混淆签名密钥发送至第一签名端,以使得第一签名端和第二签名端通过交互协同起来为待验证消息签名,以获得待验证消息所对应的目标签名。
在另一可选实施例中,第一签名端和第二签名端均为生成待验证消息的用户选取出的为待验证消息进行协同签名的终端用户。具体的,生成待验证消息的用户向密钥生成中心发送用户的身份标识,以使得密钥生成中心可以基于该用户的身份标识和系统主私钥,生成用户所对应的签名密钥,签名密钥包括签名私钥变量和第一生成元,其中第一生成元为第一加法循环群对应的第一生成元。然后,密钥生成中心并对签名密钥进行混淆处理,生成第一随机数和第二随机数,并根据第一随机数、第二随机数、签名私钥变量、以及第一生成元,生成混淆签名密钥。最后,密钥生成中心将第一随机数和混淆签名密钥发送至第一签名端,将第二随机数和混淆签名密钥发送至第二签名端,以使得第一签名端和第二签名端通过交互协同起来为待验证消息签名,以获得待验证消息所对应的目标签名。另外,第一签名端或第二签名端可以获取生成待验证消息的用户的身份标识,由第一签名端或者第二签名端向密钥生成中心发送该用户的身份标识,以向密钥生成中心申请用户的签名密钥,使得密钥生成中心生成混淆签名密钥后分别发送至第一签名端和第二签名端。
综上,在上述实施例中,通过密钥生成中心生成待验证消息所对应的签名密钥,该签名密钥包括签名私钥变量和第一生成元,并基于生成的第一随机数和第二随机数对用户签名密钥中的签名私钥变量以及第一生成元进行混淆处理,然后将混淆后获得的混淆签名密钥发送至第一签名端和第二签名端,使得签名端无法直接获取到该用户所对应的签名密钥,那么即使两个签名端之间进行串谋后,两个签名端也无法直接通过第一随机数、第二随机数和混淆签名密钥,获得系统主私钥,不仅提高了用户签名密钥以及数字签名的安全性,还可以防止出现签名端之间的串谋后而泄露系统主私钥的问题,从而提高了整个密钥系统的安全性。
以上介绍了协同签名系统中不同组成单元的主要功能,下面结合以下实施例,对协同签名的过程进行详细说明。
图2为本发明实施例提供的一种协同签名方法的流程图。图3为本发明一示例性实施例的一种协同签名方法的应用场景示意图;参考附图2、附图3所示,本实施例提供了一种协同签名方法,该方法的执行主体可以为密钥生成中心,具体的,如图2所示,该协同签名方法可以包括如下步骤:
201、获取用户的身份标识和系统主私钥,该用户为生成待验证消息的用户。
202、根据身份标识和系统主私钥,生成签名密钥,签名密钥包括签名私钥变量和第一生成元。
203、生成第一随机数和第二随机数,并根据第一随机数、第二随机数、签名私钥变量、以及第一生成元,生成混淆签名密钥。
204、将第一随机数和混淆签名密钥发送至第一签名端,以使得第一签名端根据混淆签名密钥,生成第一签名结果,并将第一签名结果发送至第二签名端。
205、将第二随机数和混淆签名密钥发送至第二签名端,以使得第二签名端根据第二随机数、混淆签名密钥、第一签名结果、以及待验证消息,生成第二签名结果,并将第二签名结果发送至第一签名端,通过第一签名端根据第二签名结果和第一随机数,生成待验证消息的目标签名。
在发送消息之前,可以对消息进行签名,基于签名可以对消息的数字身份消息进行检验,以避免其他人伪造消息。那么在本发明实施例中,对待验证消息进行签名之前,首先获取该验证消息所对应的签名密钥,可以通过密钥生成中心生成签名密钥。具体的,密钥生成中心首先获取用户的身份标识和系统主私钥。其中,该用户为生成待验证消息的用户,身份标识是能够证明本人身份的凭证。接着,根据身份标识和系统主私钥,生成签名密钥。
在一可选实施例中,根据身份标识和系统主私钥,生成签名密钥的具体实现方式可以包括:获取第一加法循环群对应的第一生成元;根据身份标识和系统主私钥,生成签名私钥变量;根据签名私钥变量和第一生成元,生成签名密钥。例如,可以采用SM9算法来生成用户的签名密钥,首先随机选取一个随机数作为系统主私钥ks。接着,基于系统主私钥ks和身份标识,计算签名私钥变量/>,即/>。然后,根据签名私钥变量和第一生成元P1,生成签名密钥D即D=/>.P1。其中,/>()为密码杂凑函数,/>为签名私钥函数标识符,/>为模运算,/>为一固定素数。
在实际应用中,若密钥生成中心直接对签名私钥变量进行拆分为两个签名子密钥,并将签名子密钥分别发送至第一签名端和第二签名端,那么一旦第一签名端和第二签名端串谋后,就可以直接基于各自对应的签名子密钥推算出系统主私钥,那么整个密钥系统将受到威胁,从而使得整个密钥系统存在很大的安全隐患。那么为了避免出现两个签名端串谋后而泄露出系统主私钥的情况,密钥生成中心对用户签名密钥中的签名私钥变量和第一生成元进行混淆处理,使得第一签名端和第二签名端串谋后,也无法获取到系统主私钥。
具体的,密钥生成中心生成第一随机数和第二随机数。其中,第一随机数和第二随机数为Zn中的任意整数。而后,为了进一步提高用户签名密钥的安全性,密钥生成中心对用户签名密钥所包括的签名私钥变量和第一生成元进行混淆处理。具体的,根据第一随机数、第二随机数、签名私钥变量、以及第一生成元,生成混淆签名密钥,这样第一签名端和第二签名端串谋后,也无法直接根据混淆签名密钥、第一随机数和第二随机数,推算出签名私钥变量,从而基于签名私钥变量推算出系统主私钥,提高了整个密钥系统的安全性,同时还可以使得用户签名密钥以及用户数字签名更安全。
在生成混淆签名密钥之后,将第一随机数和混淆签名密钥发送至第一签名端,将第二随机数和混淆签名密钥发送至第二签名端,以便第一签名端和第二签名端协同完成签名过程。在本发明实施例中,通过将混淆签名密钥和第一随机数存储至第一签名端,将混淆签名密钥和第二随机数存储至第二签名端,那么当敌手对第一签名端和第二签名端都进行攻击后,也无法获得系统主私钥,提高了系统的安全性。
接着,第一签名端接收到密钥生成中心发送的第一随机数和混淆签名密钥,第二签名端接收密钥生成中心发送的第二随机数和混淆签名密钥。第一签名端接收到密钥生成中心发送的第一随机数和混淆签名密钥之后,根据混淆签名密钥,生成第一签名结果,并将第一签名结果发送至第二签名端。
在一可选实施例中,第一签名端根据混淆签名密钥,生成第一签名结果的具体实现方式可以包括:获取系统主公钥以及第一加法循环群对应的第一生成元,系统主公钥为密钥生成中心生成的签名主公钥;根据系统主公钥和第一生成元,生成双线性对g值;随机生成第三随机数;根据双线性对g值和第三随机数,生成乘法循环群中的第一元素;根据第三随机数和混淆签名密钥,生成第一临时密钥;基于双线性对g值、乘法循环群中的第一元素、第一临时密钥,生成第一签名结果。
第一签名端生成第一签名结果之后,将第一签名结果发送至第二签名端。第二签名端接收第一签名端发送的第一签名结果。而后,获取待验证消息,并根据第二随机数、混淆签名密钥、第一签名结果、以及待验证消息,生成第二签名结果。
在一可选实施例中,第一签名结果包括双线性对g值、乘法循环群中的第一元素、第一临时密钥,那么第二签名端根据第二随机数、混淆签名密钥、第一签名结果、以及待验证消息,生成第二签名结果的具体实现方式可以包括:获取待验证消息;根据待验证消息和第一签名结果中的乘法循环群中的元素,确定第一签名因子;生成第四随机数;根据第一签名结果中的第一临时密钥、第四随机数、第一签名因子、以及混淆签名密钥,生成群点;根据第二随机数和群点,生成第二临时密钥;并基于第一签名因子、群点、以及第二临时密钥,生成第二签名结果。
第二签名端生成第二签名结果之后,将生成的第二签名结果发送至第一签名端。第一签名端接收第二签名端发送的第二签名结果,并根据第二签名结果和第一随机数,生成待验证消息的目标签名。即由第一签名端和第二签名端协同生成待验证消息的目标签名,可以提高目标签名的安全性。
在一可选实施例中,其中,第二签名结果中包括第一签名因子、群点、第二临时密钥,第一签名端根据第二签名结果和第一随机数,生成待验证消息的目标签名的具体实现方式可以包括:根据第一随机数、第二签名结果中的群点、以及第二签名结果中的第二临时密钥,生成第二签名因子;并根据第二签名结果中的第一签名因子和第二签名因子,生成待验证消息的目标签名。
本发明实施例提供的协同签名方法,通过密钥生成中心生成的第一随机数和第二随机数对用户签名密钥中的签名私钥变量以及第一生成元进行混淆处理,然后将混淆处理后获得的混淆签名密钥发送至第一签名端和第二签名端,以使得两个签名端无法直接获取到系统主私钥。并且,由于密钥生成中心是对用户签名密钥中的签名私钥变量和第一生成元进行混淆处理后,生成的混淆签名密钥,那么即使两个签名端之间进行串谋后,两个签名端也无法直接通过第一随机数、第二随机数和混淆签名密钥,获得系统主私钥,即防止了签名端之间的串谋后出现泄露系统主私钥的问题,从而提高了整个密钥系统的安全性。
为了便于理解密钥生成中心使用第一随机数和第二随机数分别对用户签名密钥中的签名私钥变量和第一生成元进行混淆处理,以生成混淆签名密钥的过程,结合图4对密钥生成中心生成混淆签名密钥的过程进行详细说明。
图4为本发明实施例提供的一种生成混淆签名密钥的流程图;在上述实施例的基础上,继续参考附图4所示,该方法的执行主体可以为密钥生成中心,具体的,该方法可以包括如下步骤:
401、获取第一随机数和第二随机数的第一和值。
402、将第一和值的逆元确定为第一中间参数。
403、根据第一中间参数和签名私钥变量,生成目标签名变量。
404、根据目标签名变量和第一生成元,生成混淆签名密钥。
在本发明实施例中,为了提高用户签名密钥的安全性以及防止两个签名端进行串谋后获得系统主私钥,密钥生成中心对用户签名密钥中的签名私钥变量和第一生成元进行混淆处理。具体的,首先获取第一随机数和第二随机数的第一和值,并将第一和值的逆元确定为第一中间参数。而后,根据第一中间参数和签名私钥变量,生成目标签名变量。最后,根据目标签名变量和第一生成元,生成混淆签名密钥。
具体的,假设第一随机数为,第二随机数为/>,且/>,签名私钥变量为/>,第一生成元为/>。首先获取第一随机数和第二随机数的第一和值/>。获取第一和值的逆元/>,并将其确定为第一中间参数d=/>。根据第一中间参数和签名私钥变量,生成目标签名变量/>,即/>。接着,根据目标签名变量和第一生成元,生成混淆签名密钥/>,即/>
密钥生成中心生成混淆签名密钥之后,将混淆签名密钥和第一随机数发送至第一签名端,将混淆签名密钥和第二随机数发送至第二签名端,这样第一签名端和第二签名端基于混淆签名密钥和第一随机数以及第二随机数,无法直接计算出签名私钥变量,也就无法直接通过签名私钥变量/>计算出系统主私钥/>,这样生成混淆签名密钥以及分发混淆签名密钥的方式,不仅可以提高用户签名密钥安全性,还可以防止两个签名端串谋后泄露系统主私钥的问题,提高了整个密钥系统的安全性。
综上,本发明实施例,密钥生成中心通过获取第一随机数和第二随机数的第一和值,并将第一和值的逆元确定为第一中间参数。然后根据第一中间参数和签名私钥变量,生成目标签名变量,根据目标签名变量和第一生成元,生成混淆签名密钥,这样生成的混淆签名密钥可以更好地隐藏用户签名密钥,同时签名端之间串谋后,也无法直接获得签名私钥变量,从而基于签名私钥变量推算出系统主私钥,大大提高了系统的安全性。
上述实施例主要介绍了密钥生成中心的执行过程,为了便于理解签名端协同签名的执行过程,结合图5对第一签名端所执行的过程进行详细介绍。
图5为本发明实施例提供的一种协同签名方法的流程示意图;参考附图5所示,本实施例提供了一种协同签名方法,该方法的执行主体可以为第一签名端,可以理解的是,该终端设备可以实现为软件、或者软件和硬件的组合。具体的,该协同签名方法可以包括:
501、接收密钥生成中心发送的第一随机数和混淆签名密钥,混淆签名密钥是密钥生成中心根据第一随机数、第二随机数、以及签名密钥生成的。
502、根据混淆签名密钥,生成第一签名结果,并将第一签名结果发送至第二签名端,以使得第二签名端根据第一签名结果、第二随机数、混淆签名密钥、以及待验证消息,生成第二签名结果,并将第二签名结果发送至第一签名端。
503、接收第二签名端发送的第二签名结果,并根据第二签名结果和所述第一随机数,生成待验证消息的目标签名。
在本发明实施例中,第一签名端和第二签名端基于密钥生成中心发送的混淆签名密钥来通过交互完成协同签名。具体的,第一签名端首先接收密钥生成中心发送的第一随机数和混淆签名密钥。而后,根据混淆签名密钥,生成第一签名结果。
在一可选实施例中,根据混淆签名密钥,生成第一签名结果的具体实现方式可以包括:获取系统主公钥以及第一加法循环群对应的第一生成元,系统主公钥为密钥生成中心生成的签名主公钥;根据系统主公钥和第一生成元,生成双线性对g值;生成第三随机数;根据双线性对g值和第三随机数,生成乘法循环群中的第一元素;根据第三随机数和混淆签名密钥,生成第一临时密钥;根据双线性对g值、乘法循环群中的第一元素、第一临时密钥,生成第一签名结果。其中,双线性对g值为阶为素数N的乘法循环群中的双线性对g值。
具体的,假设系统主公钥为,第一加法循环群对应的第一生成元为/>。根据系统主公钥和第一生成元,生成双线性对g值,即/>。生成第三随机数/>,且/>,其中,/>为Zn中所有可逆元素的模n同余类所构成的群。然后,根据双线性对g值和第三随机数,计算乘法循环群中的第一元素/>,即/>。而后,根据第三随机数和混淆签名密钥,生成第一临时密钥/>,即/>。将双线性对g值、乘法循环群中的第一元素、第一临时密钥,作为第一签名结果c1,并将双线性对g值、乘法循环群中的第一元素、第一临时密钥发送至第二签名端。
第一签名端在生成第一签名结果之后,将第一签名结果发送至第二签名端,以使得第二签名端根据第一签名结果、第二随机数、混淆签名密钥、以及待验证消息,生成第二签名结果,并将第二签名结果发送至第一签名端。
可选地,第一签名结果包括双线性对g值、乘法循环群中的第一元素、第一临时密钥,那么第一签名端在生成双线性对g值、乘法循环群中的元素、第一临时密钥之后并将其发送至第二签名端。而后,第二签名端获取待验证消息,并根据该待验证消息和乘法循环群中的元素,确定第一签名因子。在一可选实施例中,根据待验证消息和乘法循环群中的第一元素,确定第一签名因子的具体实现方式可以包括:根据第四随机数和双线性对g值,获得乘法循环群中的第二元素;根据乘法循环群中的第一元素和乘法循环群中的第二元素,确定乘法循环群中的第三元素;根据乘法循环群中的第三元素、待验证消息,确定第一签名因子。
接着,第二签名端生成第四随机数,根据第一临时密钥、第四随机数、第一签名因子、以及混淆签名密钥,生成群点。可选地,根据第一临时密钥、第四随机数、第一签名因子、以及混淆签名密钥,生成群点的具体实现方式可以包括:获取第四随机数与第一签名因子的差值;获取差值与混淆签名密钥的乘积值;获取乘积值与第一临时密钥的和值,并将和值确定为群点。
最后,第二签名端根据第二随机数和群点,生成第二临时密钥。根据第一签名因子、群点、第二临时密钥生成第二签名结果,生成第二签名结果。
具体的,假设双线性对g值为,乘法循环群中的第一元素为/>,第一临时密钥为/>,待验证消息为/>,混淆签名密钥为/>。生成第四随机数/>,且/>。其中,为Zn中所有可逆元素的模n同余类所构成的群。第二签名端根据第四随机数/>和双线性对g值,计算乘法循环群中的第二元素/>,即/>。根据乘法循环群中的第一元素/>和乘法循环群中的第二元素/>,计算乘法循环群中的第三元素/>,即。根据乘法循环群中的第三元素/>、待验证消息/>,计算第一签名因子,即/>。其中,/>为固定素数,/>为密码杂凑函数。接着,获取第四随机数/>与第一签名因子/>的差值为/>,获取差值与混淆签名密钥/>的乘积值为/>;获取乘积值与第一临时密钥/>的和值为/>,并将和值确定为群点/>,即/>。而后,根据第二随机数/>和群点/>,计算第二临时密钥/>,即/>。并将作为第二签名结果发送至第一签名端。
第一签名端接收第二签名端发送的第二签名结果,并根据第二签名结果和第一随机数,生成待验证消息的目标签名。在一可选实施例中,第二签名结果包括第一签名因子、群点、第二临时密钥,根据第二签名结果和第一随机数,生成待验证消息的目标签名的具体实现方式可以包括:根据第一随机数、群点、以及第二临时密钥,生成第二签名因子;根据第一签名因子和第二签名因子,生成待验证消息的目标签名。
可选地,根据第一随机数、群点、以及第二临时密钥,生成第二签名因子的具体实现方式可以包括:获取第一随机数与群点的乘积值;获取乘积值与第二临时密钥的和值;将该和值确定为第二签名因子。
具体的,假设第二签名结果中的第一签名因子为、群点为/>、第二临时密钥为,第一随机数为/>。获取第一随机数与群点的乘积值为/>,获取乘积值与第二临时密钥的和值为/>,将该和值确定为第二签名因子/>,即/>。最后基于第一签名因子和第二签名因子,生成目标签名为/>
在本发明实施例中,第一签名端根据接收到密钥生成中心发送的混淆签名密钥,生成第一签名结果,并将第一签名结果发送至第二签名端,即通过第一签名结果与第二签名端进行交互,以使得第二签名端根据第一签名结果、第二随机数、混淆签名密钥、以及待验证消息,生成第二签名结果,将第二签名结果发送至第一签名端,即通过第二签名结果与第一签名端进行交互,使得第一签名端可以根据第二签名结果和第一随机数,生成待验证消息的目标签名,实现了两方协同生成签名,提高了数字签名的安全性。
本发明实施例提供的方案的一些步骤的具体执行过程可以参考前述其他实施例中的相关说明,在此不赘述。
上述实施例介绍了第一签名端协同签名的执行过程,为了更清楚地了解第二签名端执行协同签名的过程,结合图6对第二签名端的执行过程进行示例性说明。
图6为本发明实施例提供的另一种协同签名方法的流程示意图;参考附图6所示,本实施例提供了一种协同签名方法,该方法的执行主体可以为第二签名端,可以理解的是,该终端设备可以实现为软件、或者软件和硬件的组合。具体的,该协同签名方法可以包括:
601、接收密钥生成中心发送的第二随机数和混淆签名密钥,混淆签名密钥是密钥生成中心根据第一随机数、所述第二随机数、签名私钥变量以及第一生成元生成的。
602、接收第一签名端发送的第一签名结果。
603、根据第二随机数、混淆签名密钥、第一签名结果、以及待验证消息,生成第二签名结果,并将第二签名结果发送至第一签名端,以使得第一签名端根据第二签名结果和第一随机数,生成待验证消息的目标签名。
在本发明实施例中,第二签名端在进行协同签名之前,首先接收密钥生成中心发送的第二随机数和混淆签名密钥。其中,混淆签名密钥是密钥生成中心根据第一随机数、第二随机数、签名私钥变量、以及第一生成元生成的。另外,第二签名端接收到密钥生成中心发送的第二随机数和混淆签名密钥之后,可以将其存储至本地,当接收到第一签名端发送的第一签名结果之后,可以直接获取存储的第二随机数和混淆签名密钥,以便于基于第二随机数和混淆签名密钥来完成协同签名。
具体的,接收第一签名端发送的第一签名结果,并根据第二随机数、混淆签名密钥、第一签名结果、以及待验证消息,生成第二签名结果。可选地,第一签名结果包括双线性对g值、乘法循环群中的第一元素、第一临时密钥,那么根据第二随机数、混淆签名密钥、第一签名结果、以及待验证消息,生成第二签名结果的具体实现方式可以包括:获取待验证消息;根据待验证消息和乘法循环群中的第一元素,确定第一签名因子;生成第四随机数;根据第一临时密钥、第四随机数、第一签名因子、以及混淆签名密钥,生成群点;根据第二随机数和群点,生成第二临时密钥。根据第一签名因子、群点、第二临时密钥,生成第二签名结果。
本实施例中未展开描述的相关内容,可以参考前述实施例中的相关说明,在此不赘述。
以下将详细描述本发明的一个或多个实施例的协同签名装置。本领域技术人员可以理解,这些装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图7为本发明实施例提供的一种协同签名装置的结构示意图,该装置位于一认证设备,如图7所示,该装置包括:获取模块11、确定模块12、生成模块13、第一发送模块14、第二发送模块15。
获取模块11,用于获取用户的身份标识和系统主私钥,所述用户为生成待验证消息的用户;
确定模块12,用于根据所述身份标识和所述系统主私钥,生成签名密钥,所述签名密钥包括签名私钥变量和第一生成元;
生成模块13,用于生成第一随机数和第二随机数,并根据所述第一随机数、所述第二随机数、所述签名私钥变量、以及所述第一生成元,生成混淆签名密钥;
第一发送模块14,用于将所述第一随机数和所述混淆签名密钥发送至第一签名端,以使得所述第一签名端根据所述混淆签名密钥,生成第一签名结果,并将所述第一签名结果发送至第二签名端;
第二发送模块15,用于将所述第二随机数和所述混淆签名密钥发送至第二签名端,以使得所述第二签名端根据第二随机数、所述混淆签名密钥、所述第一签名结果、以及待验证消息,生成第二签名结果,并将所述第二签名结果发送至第一签名端,通过所述第一签名端根据所述第二签名结果和所述第一随机数,生成所述待验证消息的目标签名。
可选地,所述确定模块12具体可以用于:获取第一加法循环群对应的第一生成元;根据所述身份标识和所述系统主私钥,生成签名私钥变量;根据所述签名私钥变量和所述第一生成元,生成签名密钥。
可选地,所述生成模块13具体可以用于:获取所述第一随机数和所述第二随机数的第一和值;将所述第一和值的逆元确定为第一中间参数;根据所述第一中间参数和所述签名私钥变量,生成目标签名变量;根据所述目标签名变量和所述第一生成元,生成混淆签名密钥。
图7所示装置可以执行前述实施例中密钥生成中心所执行的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述图7所示协同签名装置的结构可实现为一电子设备,如图8所示,该电子设备可以包括:第一处理器21、第一存储器22、第一通信接口23。其中,第一存储器22上存储有可执行代码,当所述可执行代码被第一处理器21执行时,使第一处理器21至少可以实现如前述实施例中密钥生成中心执行的步骤。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如前述实施例中提供的协同签名方法。
图9为本发明实施例提供的一种协同签名装置的结构示意图,该装置位于第一签名端,如图9所示,该装置包括:第一接收模块31、生成模块32、第二接收模块33。
第一接收模块31,用于接收密钥生成中心发送的第一随机数和混淆签名密钥,所述混淆签名密钥是所述密钥生成中心根据所述第一随机数、第二随机数、签名私钥变量、以及第一生成元生成的;
生成模块32,用于根据所述混淆签名密钥,生成第一签名结果,并将所述第一签名结果发送至第二签名端,以使得所述第二签名端根据所述第一签名结果、第二随机数、所述混淆签名密钥、以及待验证消息,生成第二签名结果,并将所述第二签名结果发送至第一签名端;
第二接收模块33,用于接收所述第二签名端发送的第二签名结果,并根据所述第二签名结果和所述第一随机数,生成待验证消息的目标签名。
可选地,所述生成模块32具体可以用于:获取系统主公钥以及第一加法循环群对应的第一生成元,所述系统主公钥为所述密钥生成中心生成的签名主公钥;根据所述系统主公钥和所述第一生成元,生成双线性对g值;随机生成第三随机数;根据所述双线性对g值和所述第三随机数,生成乘法循环群中的第一元素;根据所述第三随机数和所述混淆签名密钥,生成第一临时密钥;根据所述双线性对g值、所述乘法循环群中的第一元素、以及所述第一临时密钥,生成第一签名结果。
可选地,所述第二签名结果包括第一签名因子、群点、第二临时密钥,基于此第二接收模块33具体可以用于:根据所述第一随机数、所述群点、以及所述第二临时密钥,生成第二签名因子;根据所述第一签名因子和所述第二签名因子,生成待验证消息的目标签名。
图9所示装置可以执行前述实施例中第一签名端所执行的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述图9所示协同签名装置的结构可实现为一电子设备,如图10所示,该设备可以包括:第二处理器41、第二存储器42、第二通信接口43。其中,第二存储器42上存储有可执行代码,当所述可执行代码被第二处理器41执行时,使第二处理器41至少可以实现如前述实施例中第一签名端所执行的步骤。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被设备的第二处理器执行时,使所述第二处理器至少可以实现如前述实施例中提供的协同签名方法。
图11为本发明实施例提供的一种协同签名装置的结构示意图,该装置位于第二签名端,如图11所示,该装置包括:第一接收模块51、第二接收模块模块52、生成模块53。
第一接收模块51,用于接收密钥生成中心发送的第二随机数和混淆签名密钥,所述混淆签名密钥是所述密钥生成中心根据第一随机数、所述第二随机数、签名私钥变量、以及第一生成元生成的;
第二接收模块52,用于接收第一签名端发送的第一签名结果;
生成模块53,用于根据所述第二随机数、所述混淆签名密钥、所述第一签名结果、以及待验证消息,生成第二签名结果,并将所述第二签名结果发送至第一签名端,以使得所述第一签名端根据所述第二签名结果和第一随机数,生成所述待验证消息的目标签名。
可选地,所述第一签名结果包括双线性对g值、乘法循环群中的第一元素、第一临时密钥,基于此生成模块53具体可以用于:获取待验证消息;根据所述待验证消息和所述乘法循环群中的第一元素,确定第一签名因子;生成第四随机数;根据所述第一临时密钥、所述第四随机数、所述第一签名因子、以及所述混淆签名密钥,生成群点;根据所述第二随机数和所述群点,生成所述第二临时密钥;根据所述第一签名因子、所述群点、以及所述第二临时密钥,生成第二签名结果。
图11所示装置可以执行前述实施例中第二签名端所执行的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述图11所示协同签名装置的结构可实现为一电子设备,如图12所示,该设备可以包括:第三处理器61、第三存储器62、第三通信接口63。其中,第三存储器62上存储有可执行代码,当所述可执行代码被第三处理器61执行时,使第三处理器61至少可以实现如前述实施例中第二签名端所执行的步骤。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被设备的第三处理器执行时,使所述第三处理器至少可以实现如前述实施例中提供的协同签名方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (5)

1.一种协同签名方法,其特征在于,应用于密钥生成中心,所述方法包括:
获取用户的身份标识和系统主私钥,所述用户为生成待验证消息的用户;
获取第一加法循环群对应的第一生成元;
根据所述身份标识和所述系统主私钥,生成签名私钥变量;
根据所述签名私钥变量和所述第一生成元,生成签名密钥,所述签名密钥包括签名私钥变量和第一生成元;
生成第一随机数和第二随机数;
获取所述第一随机数和所述第二随机数的第一和值;
将所述第一和值的逆元确定为第一中间参数;
根据所述第一中间参数和所述签名私钥变量,生成目标签名变量;
根据所述目标签名变量和所述第一生成元,生成混淆签名密钥;
将所述第一随机数和所述混淆签名密钥发送至第一签名端,以使得所述第一签名端根据所述混淆签名密钥,生成第一签名结果,并将所述第一签名结果发送至第二签名端;
将所述第二随机数和所述混淆签名密钥发送至第二签名端,以使得所述第二签名端根据第二随机数、所述混淆签名密钥、所述第一签名结果、以及待验证消息,生成第二签名结果,并将所述第二签名结果发送至第一签名端,通过所述第一签名端根据所述第二签名结果和所述第一随机数,生成所述待验证消息的目标签名。
2.一种协同签名方法,其特征在于,应用于第一签名端,所述方法包括:
接收密钥生成中心发送的第一随机数和混淆签名密钥,所述混淆签名密钥是所述密钥生成中心根据所述第一随机数、第二随机数、签名私钥变量、以及第一生成元生成的;
获取系统主公钥以及第一加法循环群对应的第一生成元,所述系统主公钥为所述密钥生成中心生成的签名主公钥;
根据所述系统主公钥和所述第一生成元,生成双线性对g值;
随机生成第三随机数;
根据所述双线性对g值和所述第三随机数,生成乘法循环群中的第一元素;
根据所述第三随机数和所述混淆签名密钥,生成第一临时密钥;
根据所述双线性对g值、所述乘法循环群中的第一元素、以及所述第一临时密钥,生成第一签名结果,并将所述第一签名结果发送至第二签名端,以使得所述第二签名端根据所述第一签名结果、第二随机数、所述混淆签名密钥、以及待验证消息,生成第二签名结果,并将所述第二签名结果发送至第一签名端;
接收所述第二签名端发送的第二签名结果,所述第二签名结果包括第一签名因子、群点、第二临时密钥;
根据所述第一随机数、所述群点、以及所述第二临时密钥,生成第二签名因子;
根据所述第一签名因子和所述第二签名因子,生成待验证消息的目标签名。
3.一种协同签名方法,其特征在于,应用于第二签名端,所述方法包括:
接收密钥生成中心发送的第二随机数和混淆签名密钥,所述混淆签名密钥是所述密钥生成中心根据第一随机数、所述第二随机数、签名私钥变量、以及第一生成元生成的;
接收第一签名端发送的第一签名结果,所述第一签名结果包括双线性对g值、乘法循环群中的第一元素、第一临时密钥;
获取待验证消息;
根据所述待验证消息和所述乘法循环群中的第一元素,确定第一签名因子;
生成第四随机数;
根据所述第一临时密钥、所述第四随机数、所述第一签名因子、以及所述混淆签名密钥,生成群点;
根据所述第二随机数和所述群点,生成第二临时密钥;
根据所述第一签名因子、所述群点、以及所述第二临时密钥,生成第二签名结果,并将所述第二签名结果发送至第一签名端,以使得所述第一签名端根据所述第二签名结果和第一随机数,生成所述待验证消息的目标签名。
4.一种电子设备,其特征在于,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至3中任一项所述的协同签名方法。
5.一种非暂时性机器可读存储介质,其特征在于,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被处理器执行时,使所述处理器执行如权利要求1至4中任一项所述的协同签名方法。
CN202310594531.7A 2023-05-24 2023-05-24 协同签名方法、设备和存储介质 Active CN116318688B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310594531.7A CN116318688B (zh) 2023-05-24 2023-05-24 协同签名方法、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310594531.7A CN116318688B (zh) 2023-05-24 2023-05-24 协同签名方法、设备和存储介质

Publications (2)

Publication Number Publication Date
CN116318688A CN116318688A (zh) 2023-06-23
CN116318688B true CN116318688B (zh) 2023-08-15

Family

ID=86826232

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310594531.7A Active CN116318688B (zh) 2023-05-24 2023-05-24 协同签名方法、设备和存储介质

Country Status (1)

Country Link
CN (1) CN116318688B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118631455A (zh) * 2024-08-08 2024-09-10 北京信安世纪科技股份有限公司 后量子签名方法和设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107070662A (zh) * 2017-03-23 2017-08-18 西安电子科技大学 基于混淆技术的加密盲签名方法
CN107196763A (zh) * 2017-07-06 2017-09-22 数安时代科技股份有限公司 Sm2算法协同签名及解密方法、装置与系统
WO2020065958A1 (ja) * 2018-09-28 2020-04-02 日本電気株式会社 署名生成装置、署名プログラム生成装置、署名生成方法、署名プログラム生成方法、署名プログラム、及び署名生成プログラムの生成プログラム
CN111130804A (zh) * 2019-12-27 2020-05-08 上海市数字证书认证中心有限公司 一种基于sm2算法的协同签名方法及装置、系统、介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4802274B2 (ja) * 2009-10-30 2011-10-26 インターナショナル・ビジネス・マシーンズ・コーポレーション メッセージ送信および受信方法
DE102020104906A1 (de) * 2020-02-25 2021-08-26 Giesecke+Devrient Gesellschaft mit beschränkter Haftung Verfahren zum direkten übertragen von elektronischen münzdatensätzen zwischen endgeräten, bezahlsystem, währungssystem und überwachungseinheit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107070662A (zh) * 2017-03-23 2017-08-18 西安电子科技大学 基于混淆技术的加密盲签名方法
CN107196763A (zh) * 2017-07-06 2017-09-22 数安时代科技股份有限公司 Sm2算法协同签名及解密方法、装置与系统
WO2020065958A1 (ja) * 2018-09-28 2020-04-02 日本電気株式会社 署名生成装置、署名プログラム生成装置、署名生成方法、署名プログラム生成方法、署名プログラム、及び署名生成プログラムの生成プログラム
CN111130804A (zh) * 2019-12-27 2020-05-08 上海市数字证书认证中心有限公司 一种基于sm2算法的协同签名方法及装置、系统、介质

Also Published As

Publication number Publication date
CN116318688A (zh) 2023-06-23

Similar Documents

Publication Publication Date Title
CN107579819B (zh) 一种sm9数字签名生成方法及系统
US10944575B2 (en) Implicitly certified digital signatures
CN109309569B (zh) 基于sm2算法的协同签名的方法、装置及存储介质
Freeman Improved security for linearly homomorphic signatures: A generic framework
CN104993937B (zh) 一种用于云存储数据完整性的检验方法
EP3681093B1 (en) Secure implicit certificate chaining
CN107707358A (zh) 一种ec‑kcdsa数字签名生成方法及系统
CN110932865B (zh) 一种基于sm2数字签名算法的可链接环签名生成方法
CN107248909A (zh) 一种基于sm2算法的无证书安全签名方法
Luo et al. Efficient integrity auditing for shared data in the cloud with secure user revocation
CN116566626B (zh) 环签名方法和设备
CN112436938B (zh) 数字签名的生成方法、装置和服务器
CN113360943A (zh) 一种区块链隐私数据的保护方法及装置
CN116318688B (zh) 协同签名方法、设备和存储介质
WO2022116176A1 (zh) 数字签名的生成方法、装置和服务器
CN114095181A (zh) 一种基于国密算法的门限环签名方法及系统
CN112632630A (zh) 一种基于sm2的协同签名计算方法及装置
CN116346328A (zh) 一种数字签名方法、系统、设备及计算机可读存储介质
CN115529141A (zh) 一种对数签名大小的可追踪环签名生成方法及系统
Shankar et al. Improved Multisignature Scheme for Authenticity of Digital Document in Digital Forensics Using Edward‐Curve Digital Signature Algorithm
CN115001698B (zh) 聚合签名方法、装置、设备和存储介质
Zeng et al. A practical and communication-efficient deniable authentication with source-hiding and its application on Wi-Fi privacy
Wang et al. Perfect ambiguous optimistic fair exchange
Zhao et al. Privacy preserving search services against online attack
Yang et al. An improvement of the batch-authentication and key agreement framework for P2P-based online social networks

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