CN110768799B - 数字签名方法、装置、设备及介质、系统 - Google Patents
数字签名方法、装置、设备及介质、系统 Download PDFInfo
- Publication number
- CN110768799B CN110768799B CN201911387146.5A CN201911387146A CN110768799B CN 110768799 B CN110768799 B CN 110768799B CN 201911387146 A CN201911387146 A CN 201911387146A CN 110768799 B CN110768799 B CN 110768799B
- Authority
- CN
- China
- Prior art keywords
- output value
- user
- signature
- preset
- information
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种数字签名方法、装置、设备及介质、系统。其中,数字签名方法包括:获取系统参数;获取当前用户的第一用户证书和第一私钥;其中,第一用户证书根据当前用户的第一身份标识、当前用户的第一公钥和预设主私钥生成;根据第一用户证书、第一私钥和系统参数,生成当前用户针对目标消息的第一签名信息。根据本发明实施例,能够降低数字签名的成本。
Description
技术领域
本发明属于数据安全技术领域,尤其涉及一种数字签名方法、装置、设备及介质、系统。
背景技术
现有的多重数字签名技术一般是基于传统公钥密码系统、身份密码系统或无证书密码系统实现的。
其中,在基于传统公钥密码系统实现的多重数字签名技术中,用户的公钥需要证书颁发机构(Certificate Authority,CA)提供数字证书来认证,CA证书库的维护和管理需要较大的成本;在基于身份密码系统的多重数字签名技术中,用户的私钥是由第三方可信机构的私钥生成器(Private Key Generation,PKG)生成的,使得生成用户的私钥的成本较高;在基于无证书密码系统的多重数字签名技术中,密钥生成中心(Key GenerationCenter,KGC)为用户生成的部分私钥必须通过安全信道发送给用户 ,使得传输成本较高。
发明内容
本发明实施例提供一种数字签名方法、装置、设备及介质、系统,能够降低数字签名的成本。
第一方面,本发明实施例提供了一种数字签名方法,包括:
获取系统参数;
获取当前用户的第一用户证书和第一私钥;其中,第一用户证书根据当前用户的第一身份标识、当前用户的第一公钥和预设主私钥生成;
根据第一用户证书、第一私钥和系统参数,生成当前用户针对目标消息的第一签名信息。
第二方面,本发明实施例提供了一种数字签名装置,包括:
系统参数获取模块,用于获取系统参数;
用户信息获取模块,用于获取当前用户的第一用户证书和第一私钥;其中,第一用户证书根据当前用户的第一身份标识、当前用户的第一公钥和预设主私钥生成;
第一签名生成模块,用于根据第一用户证书、第一私钥和系统参数,生成当前用户针对目标消息的第一签名信息。
第三方面,本发明实施例提供了一种数字签名设备,设备包括:处理器以及存储有计算机程序指令的存储器;
处理器执行计算机程序指令时实现如第一方面所述的数字签名方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面所述的数字签名方法。
第五方面,本发明实施例提供了一种数字签名系统,包括:
密钥生成设备,用于生成每个用户的公钥和私钥;
证书生成设备,用于根据每个用户的身份标识、该用户的公钥和预设主私钥,生成该用户的用户证书;
数字签名设备,用于获取系统参数、当前用户的第一用户证书和第一私钥;根据第一用户证书、第一私钥和系统参数,生成当前用户针对目标消息的第一签名信息。
本发明实施例的数字签名方法、装置、设备及介质、系统,能够利用当前用户的第一用户证书、当前用户的第一私钥和系统参数,生成当前用户针对目标消息的第一签名信息,其中,第一用户证书是根据当前用户的第一身份标识、当前用户的第一公钥和预设主私钥所生成的,因此,在本发明实施例中,无需从第三方获取用户证书和用户私钥,由于用户证书被当成用户的私钥的一部分参与签名过程,所以用户证书可以公开,无需通过安全信道发送,因此,能够降低数字签名的成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的数字签名系统的结构示意图;
图2是本发明另一个实施例提供的数字签名系统的结构示意图;
图3是本发明一个实施例提供的数字签名方法的流程示意图;
图4是本发明一个实施例提供的数字签名装置的结构示意图;
图5是本发明实施例提供的数字签名设备的硬件结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了解决现有技术问题,本发明实施例提供了一种数字签名方法、装置、设备及介质、系统。下面首先对本发明实施例所提供的数字签名系统进行介绍。
图1示出了本发明一个实施例提供的数字签名系统的结构示意图。图1所示的数字签名系统包括密钥生成设备110、证书生成设备120和数字签名设备130。其中,密钥生成设备110、证书生成设备120和数字签名设备130可以分别为服务器或者电子设备,数字签名设备130由需要进行签名的用户使用。
本发明实施例中,服务器可以是一种高性能的电子计算器,用于存储和处理数据;电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
具体地,密钥生成设备110用于确定每个用户的私钥,并根据每个用户的私钥生成该用户的公钥。证书生成设备120用于根据每个用户的身份标识、该用户的公钥和预设主私钥,生成该用户的用户证书。数字签名设备130用于获取系统参数、当前用户的第一用户证书和第一私钥;根据第一私钥、第一用户证书和系统参数,生成当前用户针对目标消息的第一签名信息。
在这些实施例中,数字签名设备130需要根据用户签名顺序信息依次进行签名,即用户签名顺序信息会对每个用户的签名位置进行排序,使每个用户根据其签名位置进行签名。
图2示出了本发明另一个实施例提供的数字签名系统的结构示意图。图2所示的数字签名系统包括密钥生成设备210、证书生成设备220、数字签名设备230、签名收集设备240和签名验证设备250。其中,密钥生成设备210、证书生成设备220、数字签名设备230、签名收集设备240和签名验证设备250可以分别为服务器或者电子设备,数字签名设备230由需要进行签名的用户使用。
本发明实施例中,服务器可以是一种高性能的电子计算器,用于存储和处理数据;电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
具体地,密钥生成设备210用于确定每个用户的私钥,并根据每个用户的私钥生成该用户的公钥。证书生成设备220用于根据每个用户的身份标识、该用户的公钥和预设主私钥,生成该用户的用户证书。数字签名设备230用于获取系统参数、当前用户的第一用户证书和第一私钥;根据第一私钥、第一用户证书和系统参数,生成当前用户针对目标消息的第一签名信息。签名收集设备240用于获取每个数字签名设备230生成的签名信息,并根据所获取的签名信息,生成目标消息的目标签名;签名验证设备250用于验证目标签名。
在这些实施例中,数字签名设备230不需要根据用户签名顺序信息依次进行签名,即多个用户可以并行地进行签名。
图3示出了本发明一个实施例提供的数字签名方法的流程示意图。
在本发明一些实施例中,图3所示的数字签名方法可以由图1所示数字签名系统的数字签名设备130执行。如图3所示,该数字签名方法可以包括:
S310、获取系统参数;
S320、获取当前用户的第一用户证书和第一私钥;其中,第一用户证书根据当前用户的第一身份标识、当前用户的第一公钥和预设主私钥生成;
S330、根据第一用户证书、第一私钥和系统参数,生成当前用户针对目标消息的第一签名信息。
在本发明实施例中,能够利用当前用户的第一用户证书、当前用户的第一私钥和系统参数,生成当前用户针对目标消息的第一签名信息,其中,第一用户证书是根据当前用户的第一身份标识、当前用户的第一公钥和预设主私钥所生成的,因此,在本发明实施例中,无需从第三方获取用户证书和用户私钥,由于用户证书被当成用户的私钥的一部分参与签名过程,所以用户证书可以公开,无需通过安全信道发送,因此,能够降低数字签名的成本。
在本发明一些实施例中,图1所示数字签名系统的还可以包括系统参数生成设备,
系统参数生成设备在数字签名系统初始化时可以生成数字签名系统的预设主私钥和数字
签名系统的系统参数,其中,系统参数可以表示为,为公开参数,只要是
数字签名系统中的数字签名设备130均可以获取。
其中,系统参数可以包括阶为预设大素数的加法循环群、预设生成元、预设数据集和第一哈希函数,预设数据集中的数据为小于或等于预设大素数的非负整数,预设生成元为加法循环群的生成元,预设主私钥为预设数据集中的第一预设数据,第一哈希函数的第一输入值为二进制比特串,第一哈希函数的第二输入值属于加法循环群,第一哈希函数的输出值属于加法循环群。
具体地,可以由一个最小生成元生成,并且可以具有多个生成元,可以在的多个生成元中随机选择的一个生成元。可以为中的第一预设数据,即,并且,为在中随机选择的一个预设数据。的表达式可以为,其中,的第一输入值可以为二进制比特串,的第二输入值可
以属于,的输出值可以属于。
在本发明实施例中,第一用户证书根据预设主私钥和第一输出值生成,第一输出值为第一哈希函数针对第一身份标识对应的二进制比特串和第一公钥的输出值,第一公钥根据第一私钥和预设生成元生成,第一私钥和预设主私钥属于预设数据集,所述第一公钥和所述第一输出值属于加法循环群。
在本发明一些实施例中,若预设生成元仅为加法循环群的生成元,密钥生成设备110生成用户的公钥的具体方法可以包括:
在预设数据集中获取每个用户对应的第二预设数据,作为该用户的私钥;
将预设生成元做用户对应的私钥次数的群加法运算,得到该用户的公钥。
下面,以当前用户为例,详细说明当前用户的第一公钥和第一私钥的生成方法。
当前用户可以表示为用户,为用户总数。用户对应的第二预
设数据可以为在中随机获取一个预设数据,即,可以将获取的作为用户
的第一私钥,第一私钥可以表示为。当确定了用户的之后,可以利用和生
成用户的第一公钥,第一公钥可以表示为,如果仅为的生成元,则的计算
公式可以为。由此,可以生成用户的公私钥对,其中,由用户自己保管,可以发送给数字签名系统中的其他数字签名设备。
在本发明另一些实施例中,系统参数还可以包括阶为预设大素数的乘法循环群,若预设生成元为乘法循环群的生成元,密钥生成设备110生成用户的公钥的具体方法可以包括:
在预设数据集中获取每个用户对应的第二预设数据,作为该用户的私钥;
将预设生成元作为底数,将每个用户对应的私钥作为预设生成元的指数进行幂运算,得到该用户的公钥。
在本发明一些实施例中,证书生成设备120生成用户证书的具体方法可以包括:
将每个用户的身份标识对应的二进制比特串和该用户的公钥输入第一哈希函数,得到该用户对应的第一输出值;
根据预设主私钥和每个用户对应的第一输出值,生成该用户的用户证书。
下面,以当前用户为例,详细说明当前用户的第一用户证书的生成方法。
然后,可以将预设主私钥对第一输出值进行签名,得到当前用户的用户证书。
其中,用户的第一用户证书可以表示为,可以将和做群加法运算
或者利用和进行幂运算,作为用户的,其中,的计算公式可以为。可见,在本发明实施例中,的生成本质上采用
了BLS(Boneh-Lynn-Shacham)短签名技术,可以用对和的消息摘要进行签名,
以生成。
在本发明一些实施例中,系统参数还可以包括预设主公钥、第二哈希函数和第三哈希函数,其中,预设主公钥根据预设主私钥和预设生成元生成,预设主私钥为预设数据集中的第一预设数据,第二哈希函数的输入值为二进制比特串,第二哈希函数的输出值属于预设数据集,第三哈希函数的输入值为二进制比特串,第三哈希函数的输出值属于加法循环群。
具体地,的计算公式可以为,即为和做群加法运算或者和进行幂运算得到的。的表达式可以为,其中,的输入值可
以为二进制比特串,的输出值可以属于。的表达式可以为,其
中,的输入值可以为二进制比特串,的输出值可以属于。
在这些实施例中,可选地,S330的具体方法可以包括:
获取第一身份标识和第一签名位置信息、第一公钥、第一私钥以及用户签名顺序信息;
将第一身份标识、用户签名顺序信息、第一公钥和预设主公钥拼接,得到第一拼接信息;
将第一拼接信息对应的二进制比特串输入第二哈希函数,得到第二输出值;其中,第二输出值属于预设数据集;
将第一身份标识、第一签名位置信息、第一公钥和预设主公钥拼接,得到第二拼接信息;
将第二拼接信息对应的二进制比特串输入第三哈希函数,得到第三输出值;其中,第三输出值属于加法循环群;
获取预设数据集中的第三预设数据;
根据目标消息、第一用户证书、第一私钥、预设生成元、第二输出值、第三输出值和第三预设数据,生成第一签名信息。
其中,用户签名顺序信息可以表示为,用于表示数字签名系统中的用户签名顺
序,其中,用户签名顺序可以根据当前签名场景中的各个用户的用户权限生成,用户权限越
高则签名位置越靠后;或者用户权限越高则签名位置越靠前。当前用户的第一签名位置信
息可以表示为,可以为位的二进制比特串,由的末位向首位的第位字符为1,其
他位字符为0,用于表示用户在用户签名顺序中为第位。
第二输出值可以表示为,具体地,的表达式可以为
,其中,为第一拼接信息,的输入值为第一拼接信息对应的二进制比特串。
第三输出值可以表示为,具体地,的表达式可以为,其中,为第二拼接信息,的输入值为第二拼接信息对应的二进制比特串。
在本发明一些实施例中,根据目标消息、第一用户证书、第一私钥、预设生成元、第二输出值、第三输出值和第三预设数据生成第一签名信息的具体方法可以包括:
根据第三预设数据和预设生成元,生成第一签名值;
根据目标消息、第一用户证书、第一私钥、第二输出值、第三输出值和第三预设数据,生成第二签名值;
根据第一签名值和第二签名值,生成第一签名信息。
在本发明一些实施例中,若预设生成元仅为加法循环群的生成元,根据第三预设数据和预设生成元生成第一签名值的具体方法可以包括:
将预设生成元做第三预设数据次数的群加法运算,得到第一签名值。
在本发明另一些实施例中,系统参数还可以包括阶为预设大素数的乘法循环群,若预设生成元为乘法循环群的生成元,据第三预设数据和预设生成元生成第一签名值的具体方法可以包括:
将预设生成元作为底数,将第三预设数据作为预设生成元的指数进行幂运算,得到第一签名值。
在本发明一些实施例中,系统参数还可以包括第四哈希函数,第四哈希函数的输入值为二进制比特串,第四哈希函数的输出值属于加法循环群。
在本发明一些实施例中,根据目标消息、第一用户证书、第一私钥、第二输出值、第三输出值和第三预设数据生成第二签名值的具体方法可以包括:
将目标消息对应的二进制比特串输入第四哈希函数,得到第四输出值;其中,第四输出值属于加法循环群;
将第一用户证书、第一私钥、第二输出值、第三输出值、第四输出值和第三预设数据输入预设计算函数,得到第二签名值。
在本发明一些实施例中,根据第一签名值和第二签名值生成第一签名信息的具体方法可以包括:
在当前用户为首个签名用户的情况下,将第一签名值和第二签名值,作为第一签名信息。
在本发明另一些实施例中,根据第一签名值和第二签名值生成第一签名信息的具体方法可以包括:
在当前用户不是首个签名用户的情况下,获取签名位置在当前用户之前的全部第一用户的第一签名值和第二签名值;
计算当前用户和全部第一用户的第一签名值总和以及第二签名值总和;
将第一签名值总和以及第二签名值总和,作为第一签名信息。
在本发明一些实施例中,除了第一个签名用户以外,其他的签名用户在进行签名之前,需要首先验证签名位置与该签名用户前相邻的签名用户所发送的第二签名信息,即验证签名位置在该签名用户的前一位的签名用户所发送的第二签名信息,如果第二签名信息通过验证,才能继续进行签名,如果第二签名信息未通过验证,则停止签名。
因此,在本发明一些实施例中,在S330之前,该数字签名方法还可以包括:
在当前用户不是首个签名用户的情况下,接收第二用户发送的第二签名信息;第二用户为签名位置与当前用户前相邻的第一用户,第一用户为签名位置在当前用户之前的用户;
此时,S330的具体方法可以包括:
在第二签名信息通过验证的情况下,根据第一用户证书、第一私钥和系统参数,生成当前用户针对目标消息的第一签名信息。
在本发明实施例中,可选地,为了对第二签名信息进行验证,在S330之前,该数字签名方法还可以包括:
获取每个第一用户的第二公钥、第二身份标识和第二签名位置信息;其中,第二公钥属于加法循环群;
针对每个第一用户,将第二身份标识对应的二进制比特串和第二公钥输入第一哈希函数,得到每个第一用户对应的第五输出值;其中,第五输出值属于所述加法循环群;
针对每个第一用户,将第二身份标识、用户签名顺序信息、第二公钥和预设主公钥拼接,得到每个第一用户对应的第三拼接信息;
将每个第三拼接信息对应的二进制比特串输入第二哈希函数,得到每个第一用户对应的第六输出值;其中,第六输出值属于预设数据集;
针对每个第一用户,将第二身份标识、该第一用户的第二签名位置信息、第二公钥和预设主公钥拼接,到每个第一用户对应的第四拼接信息;
将每个第四拼接信息对应的二进制比特串输入第三哈希函数,得到每个第一用户对应的第七输出值;其中,第七输出值属于加法循环群;
将目标消息对应的二进制比特串输入第四哈希函数,得到第八输出值;其中,第八输出值属于加法循环群;
根据第五输出值、第六输出值、第七输出值和第八输出值,确定第二签名信息是否通过验证。
需要说明的是,第五输出值、第六输出值、第七输出值和第八输出值的计算方法与上述的第一输出值、第二输入值、第三输出值和第四输出值的方法相似,在此不做赘述。
在本发明一些实施例中,系统参数还可以包括阶为预设大素数的乘法循环群和双线性映射函数,双线性映射函数的输入值属于加法循环群,双线性映射函数的输出值属于乘法循环群。
在这些实施例中,可选地,根据第五输出值、第六输出值、第七输出值和第八输出值确定第二签名信息是否通过验证的具体方法可以包括:
获取第二签名信息中的第一签名值和第二签名信息中的第二签名值;
将第二签名信息中的第二签名值以及预设生成元输入双线性映射函数,得到第九输出值;其中,第二签名值属于加法循环群,第九输出值属于乘法循环群;
针对每个第一用户,计算第六输出值和预设生成元的乘积,得到每个第一用户对应的第一计算值;
将全部第一用户对应的第一计算值总和与第二签名信息中的第一签名值相加,得到第二计算值;其中,第二计算值属于加法循环群;
将第八输出值和第二计算值输入双线性映射函数,得到第十输出值;其中,第十输出值属于乘法循环群;
将全部第一用户对应的第五输出值总和与预设主公钥输入双线性映射函数,得到第十一输出值;其中,第五输出值总和属于加法循环群,第十一输出值属于乘法循环群;
将每个第一用户对应的第七输出值与该第一用户对应的第二公钥输入双线性映射函数,得到该第一用户对应的第十二输出值;其中,第十二输出值属于乘法循环群;
根据第九输出值、第十输出值、第十一输出值和每个第一用户对应的第十二输出值,确定第二签名信息是否通过验证。
在本发明一些实施例中,根据第九输出值、第十输出值、第十一输出值和每个第一用户对应的第十二输出值确定第二签名信息是否通过验证的具体方法可以包括:
将第九输出值、第十输出值、第十一输出值和每个第一用户对应的第十二输出值输入预设校验公式,判断预设校验公式是否成立;
若预设校验公式成立,则确定第二签名信息通过验证;
若预设校验公式不成立,则确定第二签名信息未通过验证。
将第九输出值、第十输出值、第十一输出值和每个第一用户对应的第十二输出值输入预设校验公式后,若预设校验公式成立,则确定第二签名信息通过验证,若预设校验公式不成立,则确定第二签名信息未通过验证。
该预设校验公式是基于双线性映射的思想,利用签名用户的公钥和身份标识及系统参数验证签名信息是否有效,一旦用户签名顺序不正确,则预设校验公式不会成立,由此可以保证签名用户按照用户签名顺序进行签名。
在本发明另一些实施例中,图3所示的数字签名方法可以由图2所示数字签名系统的数字签名设备230执行。
在本发明一些实施例中,S330的具体方法可以包括:
将目标消息对应的二进制比特串输入第二哈希函数,得到第十三输出值;其中,第十三输出值属于预设数据集;
根据第十三输出值、第一私钥和第一用户证书,生成第一签名信息。
在本发明一些实施例中,图2所示数字签名系统的也可以还包括系统参数生成设
备,系统参数生成设备在数字签名系统初始化时可以生成的系统参数,系统参数可以表示
为,为公开参数,只要是数字签名系统中的数字签名设备230均可以获
取。
需要说明的是,密钥生成设备210和证书生成设备220生成每个用户的公钥、私钥和用户证书的方法与图1所示实施例相同,在此不做赘述。
在本发明一些实施例中,根据第十三输出值、第一私钥和第一用户证书生成第一签名信息的具体方法可以包括:
将第十三输出值做第一私钥次数的群加法运算或根据第十三输出值和第一私钥进行幂运算,得到运算结果;
将运算结果与第一用户证书相加,得到第一签名信息。
在本发明一些实施例中,在S330之后,该数字签名方法还可以包括:
将第一签名信息发送给目标设备,以使目标设备对第一签名信息进行验证,并在第一签名信息验证通过的情况下,根据第一签名信息生成目标消息的目标签名。
其中,目标设备可以为图2所示数字签名系统的签名收集设备240。
继续参见图2,签名收集设备240在收集到全部的数字签名设备230所发送的消息签名对之后,可以获取每个数字签名设备230对应的签名信息,并对每个签名信息进行验证,然后利用验证通过的签名信息,生成目标消息的目标签名。
下面,以当前用户为例,详细说明签名收集设备240对第一签名信息进行验证的方法。
图4示出了本发明一个实施例提供的数字签名装置的结构示意图。
在本发明一些实施例中,图4所示的数字签名装置可以设置于图1所示数字签名系统的数字签名设备130内。如图4所示,该数字签名装置可以包括:
系统参数获取模块410,用于获取系统参数;
用户信息获取模块420,用于获取当前用户的第一用户证书和第一私钥;其中,第一用户证书根据当前用户的第一身份标识、当前用户的第一公钥和预设主私钥生成;
第一签名生成模块430,用于根据第一用户证书、第一私钥和系统参数,生成当前用户针对目标消息的第一签名信息。
在本发明实施例中,能够利用当前用户的第一用户证书、当前用户的第一私钥和系统参数,生成当前用户针对目标消息的第一签名信息,其中,第一用户证书是根据当前用户的第一身份标识、当前用户的第一公钥和预设主私钥所生成的,因此,在本发明实施例中,无需从第三方获取用户证书和用户私钥,由于用户证书被当成用户的私钥的一部分参与签名过程,所以用户证书可以公开,无需通过安全信道发送,因此,能够降低数字签名的成本。
在本发明一些实施例中,第一用户证书根据预设主私钥和第一输出值生成,第一输出值为第一哈希函数针对第一身份标识对应的二进制比特串和第一公钥的输出值,第一公钥根据第一私钥和预设生成元生成,第一私钥和预设主私钥属于预设数据集,预设数据集中的数据为小于或等于预设大素数的非负整数,第一公钥和第一输出值属于阶为预设大素数的加法循环群,预设生成元为加法循环群的生成元。
在本发明一些实施例中,系统参数包括预设生成元、预设主公钥、第二哈希函数和第三哈希函数,其中,预设主公钥根据预设主私钥和预设生成元生成。
在本发明一些实施例中,第一签名生成模块430可以具体用于:
获取第一身份标识和第一签名位置信息、第一公钥以及用户签名顺序信息;
将第一身份标识、用户签名顺序信息、第一公钥和预设主公钥拼接,得到第一拼接信息;
将第一拼接信息对应的二进制比特串输入第二哈希函数,得到第二输出值;其中,第二输出值属于预设数据集;
将第一身份标识、第一签名位置信息、第一公钥和预设主公钥拼接,得到第二拼接信息;
将第二拼接信息对应的二进制比特串输入第三哈希函数,得到第三输出值;其中,第三输出值属于加法循环群;
获取预设数据集中的第三预设数据;
根据目标消息、第一用户证书、第一私钥、预设生成元、第二输出值、第三输出值和第三预设数据,生成第一签名信息。
在本发明一些实施例中,第一签名生成模块430可以进一步用于:
根据第三预设数据和所述预设生成元,生成第一签名值;
根据目标消息、第一用户证书、第一私钥、第二输出值、第三输出值和第三预设数据,生成第二签名值;
根据第一签名值和第二签名值,生成第一签名信息。
在本发明一些实施例中,系统参数还可以包括第四哈希函数。
在本发明一些实施例中,第一签名生成模块430还可以进一步用于:
将目标消息对应的二进制比特串输入第四哈希函数,得到第四输出值;其中,第四输出值属于加法循环群;
将第一用户证书、第一私钥、第二输出值、第三输出值、第四输出值和第三预设数据输入预设计算函数,得到第二签名值。
在本发明一些实施例中,第一签名生成模块430可以进一步用于:
在当前用户为首个签名用户的情况下,将第一签名值和第二签名值,作为第一签名信息。
在本发明一些实施例中,第一签名生成模块430还可以进一步用于:
在当前用户不是首个签名用户的情况下,获取签名位置在当前用户之前的全部第一用户的第一签名值和第二签名值;
计算当前用户和全部第一用户的第一签名值总和以及第二签名值总和;
将第一签名值总和以及第二签名值总和,作为第一签名信息。
在本发明一些实施例中,该数字签名装置还可以包括:
第一签名获取模块,用于在当前用户不是首个签名用户的情况下,接收第二用户发送的第二签名信息;第二用户为签名位置与当前用户前相邻的第一用户,第一用户为签名位置在当前用户之前的用户;
在这些实施例中,可选地,第一签名生成模块430还可以具体用于:
在第二签名信息通过验证的情况下,根据第一用户证书、第一私钥和系统参数,生成当前用户针对目标消息的第一签名信息。
在本发明一些实施例中,系统参数还可以包括第一哈希函数。
在本发明一些实施例中,该数字签名装置还可以包括:
用户信息获取模块,用于获取每个第一用户的第二公钥、第二身份标识和第二签名位置信息;其中,第二公钥属于加法循环群;
第一签名验证模块,用于:
针对每个第一用户,将第二身份标识对应的二进制比特串和第二公钥输入第一哈希函数,得到每个第一用户对应的第五输出值;其中,第五输出值属于加法循环群;
针对每个第一用户,将第二身份标识、用户签名顺序信息、第二公钥和预设主公钥拼接,得到每个第一用户对应的第三拼接信息;
将每个第三拼接信息对应的二进制比特串输入第二哈希函数,得到每个第一用户对应的第六输出值;其中,第六输出值属于预设数据集;
针对每个第一用户,将第二身份标识、该第一用户的第二签名位置信息、第二公钥和预设主公钥拼接,到每个第一用户对应的第四拼接信息;
将每个第四拼接信息对应的二进制比特串输入第三哈希函数,得到每个第一用户对应的第七输出值;其中,第七输出值属于加法循环群;
将目标消息对应的二进制比特串输入第四哈希函数,得到第八输出值;其中,第八输出值属于加法循环群;
根据第五输出值、第六输出值、第七输出值和第八输出值,确定第二签名信息是否通过验证。
在本发明一些实施例中,系统参数还可以包括阶为预设大素数的乘法循环群和双线性映射函数。
在本发明一些实施例中,第一签名验证模块可以具体用于:
获取第二签名信息中的第一签名值和第二签名信息中的第二签名值;
将第二签名信息中的第二签名值以及预设生成元输入双线性映射函数,得到第九输出值;其中,第二签名值属于加法循环群,第九输出值属于乘法循环群;
针对每个第一用户,计算第六输出值和预设生成元的乘积,得到每个第一用户对应的第一计算值;
将全部第一用户对应的第一计算值总和与第二签名信息中的第一签名值相加,得到第二计算值;其中,第二计算值属于加法循环群;
将第八输出值和第二计算值输入双线性映射函数,得到第十输出值;其中,第十输出值属于乘法循环群;
将全部第一用户对应的第五输出值总和与预设主公钥输入双线性映射函数,得到第十一输出值;其中,第五输出值总和属于加法循环群,第十一输出值属于乘法循环群;
将每个第一用户对应的第七输出值与该第一用户对应的第二公钥输入双线性映射函数,得到该第一用户对应的第十二输出值;其中,第十二输出值属于乘法循环群;
根据第九输出值、第十输出值、第十一输出值和每个第一用户对应的第十二输出值,确定第二签名信息是否通过验证。
在本发明一些实施例中,第一签名验证模块可以进一步用于:
将第九输出值、第十输出值、第十一输出值和每个第一用户对应的第十二输出值输入预设校验公式,判断预设校验公式是否成立;
若预设校验公式成立,则确定第二签名信息通过验证;
若预设校验公式不成立,则确定第二签名信息未通过验证。
在本发明另一些实施例中,图4所示的数字签名装置可以设置于图2所示数字签名系统的数字签名设备230内。
在本发明一些实施例中,系统参数可以包括第二哈希函数,第二哈希函数的输出值属于预设数据集。
在这些实施例中,可选地,第一签名生成模块430可以具体用于:
将目标消息对应的二进制比特串输入第二哈希函数,得到第十三输出值;其中,第十三输出值属于预设数据集;
根据第十三输出值、第一私钥和第一用户证书,生成第一签名信息。
在本发明一些实施例中,该数字签名装置还可以包括:
第一签名发送模块,用于将第一签名信息发送给目标设备,以使目标设备对第一签名信息进行验证,并在第一签名信息验证通过的情况下,根据第一签名信息生成目标消息的目标签名。
本发明实施例提供的数字签名装置能够实现图3所示的方法实施例中的各个过程和效果,为避免重复,这里不再赘述。
图5示出了本发明实施例提供的数字签名设备的硬件结构示意图。
如图5所示,数字签名设备可以包括处理器501以及存储有计算机程序指令的存储器502。
具体地,上述处理器501可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit ,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器502可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器502可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器502可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器502可在综合网关容灾设备的内部或外部。在特定实施例中,存储器502是非易失性固态存储器。在特定实施例中,存储器502包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器501通过读取并执行存储器502中存储的计算机程序指令,以实现上述实施例中的任意一种数字签名方法。
在一个示例中,数字签名设备还可包括通信接口503和总线510。其中,如图5所示,处理器501、存储器502、通信接口503通过总线510连接并完成相互间的通信。
通信接口503,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线510包括硬件、软件或两者,将数字签名设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-E5press(PCI-5)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线510可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
该数字签名设备可以执行本发明实施例中的数字签名方法,从而实现结合图3和图4描述的数字签名方法和装置。
另外,结合上述实施例中的数字签名方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种数字签名方法。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (14)
1.一种数字签名方法,其特征在于,包括:
获取系统参数;
获取当前用户的第一用户证书和第一私钥;其中,所述第一用户证书根据所述当前用户的第一身份标识、所述当前用户的第一公钥和预设主私钥生成,所述第一用户证书根据所述预设主私钥和第一输出值生成,所述第一输出值为第一哈希函数针对所述第一身份标识对应的二进制比特串和所述第一公钥的输出值,所述第一公钥根据所述第一私钥和预设生成元生成,所述第一私钥和所述预设主私钥属于预设数据集,所述预设数据集中的数据为小于或等于预设大素数的非负整数,所述第一公钥和所述第一输出值属于阶为所述预设大素数的加法循环群,所述预设生成元为所述加法循环群的生成元;
根据所述第一用户证书、所述第一私钥和所述系统参数,生成所述当前用户针对目标消息的第一签名信息;其中,所述系统参数包括所述预设生成元、预设主公钥、第二哈希函数和第三哈希函数,所述预设主公钥根据所述预设主私钥和所述预设生成元生成;
所述根据所述第一用户证书、所述第一私钥和所述系统参数,生成所述当前用户针对所述目标消息的所述第一签名信息,包括:获取所述第一身份标识和第一签名位置信息、所述第一公钥以及用户签名顺序信息;将所述第一身份标识、所述用户签名顺序信息、所述第一公钥和所述预设主公钥拼接,得到第一拼接信息;将所述第一拼接信息对应的二进制比特串输入所述第二哈希函数,得到第二输出值;其中,所述第二输出值属于所述预设数据集;将所述第一身份标识、所述第一签名位置信息、所述第一公钥和所述预设主公钥拼接,得到第二拼接信息;将所述第二拼接信息对应的二进制比特串输入所述第三哈希函数,得到第三输出值;其中,所述第三输出值属于所述加法循环群;获取所述预设数据集中的第三预设数据;根据所述目标消息、所述第一用户证书、所述第一私钥、所述预设生成元、所述第二输出值、所述第三输出值和所述第三预设数据,生成所述第一签名信息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标消息、所述第一用户证书、所述第一私钥、所述预设生成元、所述第二输出值、所述第三输出值和所述第三预设数据,生成所述第一签名信息,包括:
根据所述第三预设数据和所述预设生成元,生成第一签名值;
根据所述目标消息、所述第一用户证书、所述第一私钥、所述第二输出值、所述第三输出值和所述第三预设数据,生成第二签名值;
根据所述第一签名值和所述第二签名值,生成所述第一签名信息。
3.根据权利要求2所述的方法,其特征在于,所述系统参数还包括第四哈希函数。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标消息、所述第一用户证书、所述第一私钥、所述第二输出值、所述第三输出值和所述第三预设数据,生成第二签名值,包括:
将所述目标消息对应的二进制比特串输入所述第四哈希函数,得到第四输出值;其中,所述第四输出值属于所述加法循环群;
将所述第一用户证书、所述第一私钥、所述第二输出值、所述第三输出值、所述第四输出值和所述第三预设数据输入预设计算函数,得到所述第二签名值。
5.根据权利要求3所述的方法,其特征在于,所述根据所述第一用户证书、所述第一私钥和所述系统参数,生成所述当前用户针对所述目标消息的所述第一签名信息之前,还包括:
在所述当前用户不是首个签名用户的情况下,接收第二用户发送的第二签名信息;所述第二用户为签名位置与所述当前用户前相邻的第一用户,所述第一用户为签名位置在所述当前用户之前的用户;
其中,所述根据所述第一用户证书、所述第一私钥和所述系统参数,生成所述当前用户针对所述目标消息的所述第一签名信息,包括:
在所述第二签名信息通过验证的情况下,根据所述第一用户证书、所述第一私钥和所述系统参数,生成所述当前用户针对所述目标消息的所述第一签名信息。
6.根据权利要求5所述的方法,其特征在于,所述系统参数还包括所述第一哈希函数。
7.根据权利要求6所述的方法,其特征在于,所述在所述第二签名信息通过验证的情况下,根据所述第一用户证书、所述第一私钥和所述系统参数,生成所述当前用户针对所述目标消息的所述第一签名信息之前,还包括:
获取每个所述第一用户的第二公钥、第二身份标识和第二签名位置信息;其中,所述第二公钥属于所述加法循环群;
针对每个所述第一用户,将所述第二身份标识对应的二进制比特串和所述第二公钥输入所述第一哈希函数,得到每个所述第一用户对应的第五输出值;其中,所述第五输出值属于所述加法循环群;
针对每个所述第一用户,将所述第二身份标识、所述用户签名顺序信息、所述第二公钥和所述预设主公钥拼接,得到每个所述第一用户对应的第三拼接信息;
将每个第三拼接信息对应的二进制比特串输入所述第二哈希函数,得到每个所述第一用户对应的第六输出值;其中,所述第六输出值属于所述预设数据集;
针对每个所述第一用户,将所述第二身份标识、该第一用户的第二签名位置信息、所述第二公钥和所述预设主公钥拼接,得到每个所述第一用户对应的第四拼接信息;
将每个第四拼接信息对应的二进制比特串输入所述第三哈希函数,得到每个所述第一用户对应的第七输出值;其中,所述第七输出值属于所述加法循环群;
将所述目标消息对应的二进制比特串输入所述第四哈希函数,得到第八输出值;其中,所述第八输出值属于所述加法循环群;
根据所述第五输出值、所述第六输出值、所述第七输出值和所述第八输出值,确定所述第二签名信息是否通过验证。
8.根据权利要求7所述的方法,其特征在于,所述系统参数还包括阶为所述预设大素数的乘法循环群和双线性映射函数。
9.根据权利要求8所述的方法,其特征在于,所述根据所述第五输出值、所述第六输出值、所述第七输出值和所述第八输出值,确定所述第二签名信息是否通过验证,包括:
获取所述第二签名信息中的第一签名值和所述第二签名信息中的第二签名值;
将所述第二签名信息中的第二签名值以及所述预设生成元输入所述双线性映射函数,得到第九输出值;其中,所述第二签名值属于加法循环群,所述第九输出值属于所述乘法循环群;
针对每个所述第一用户,计算所述第六输出值和所述预设生成元的乘积,得到每个所述第一用户对应的第一计算值;
将全部所述第一用户对应的第一计算值总和与所述第二签名信息中的第一签名值相加,得到第二计算值;其中,所述第二计算值属于所述加法循环群;
将所述第八输出值和所述第二计算值输入所述双线性映射函数,得到第十输出值;其中,所述第十输出值属于所述乘法循环群;
将全部所述第一用户对应的第五输出值总和与所述预设主公钥输入所述双线性映射函数,得到第十一输出值;其中,所述第五输出值总和属于所述加法循环群,所述第十一输出值属于所述乘法循环群;
将每个所述第一用户对应的第七输出值与该第一用户对应的第二公钥输入所述双线性映射函数,得到该第一用户对应的第十二输出值;其中,所述第十二输出值属于所述乘法循环群;
根据所述第九输出值、所述第十输出值、所述第十一输出值和每个所述第一用户对应的第十二输出值,确定所述第二签名信息是否通过验证。
10.根据权利要求9所述的方法,其特征在于,所述根据所述第九输出值、所述第十输出值、所述第十一输出值和每个所述第一用户对应的第十二输出值,确定所述第二签名信息是否通过验证,包括:
将所述第九输出值、所述第十输出值、所述第十一输出值和每个所述第一用户对应的第十二输出值输入预设校验公式,判断所述预设校验公式是否成立;
若所述预设校验公式成立,则确定所述第二签名信息通过验证;
若所述预设校验公式不成立,则确定所述第二签名信息未通过验证。
11.一种数字签名装置,其特征在于,包括:
系统参数获取模块,用于获取系统参数;
用户信息获取模块,用于获取当前用户的第一用户证书和第一私钥;其中,所述第一用户证书根据所述当前用户的第一身份标识、所述当前用户的第一公钥和预设主私钥生成,所述第一用户证书根据所述预设主私钥和第一输出值生成,所述第一输出值为第一哈希函数针对所述第一身份标识对应的二进制比特串和所述第一公钥的输出值,所述第一公钥根据所述第一私钥和预设生成元生成,所述第一私钥和所述预设主私钥属于预设数据集,所述预设数据集中的数据为小于或等于预设大素数的非负整数,所述第一公钥和所述第一输出值属于阶为所述预设大素数的加法循环群,所述预设生成元为所述加法循环群的生成元;
第一签名生成模块,用于根据所述第一用户证书、所述第一私钥和所述系统参数,生成所述当前用户针对目标消息的第一签名信息;其中,所述系统参数包括所述预设生成元、预设主公钥、第二哈希函数和第三哈希函数,所述预设主公钥根据所述预设主私钥和所述预设生成元生成;
所述第一签名生成模块具体用于:获取所述第一身份标识和第一签名位置信息、所述第一公钥以及用户签名顺序信息;将所述第一身份标识、所述用户签名顺序信息、所述第一公钥和所述预设主公钥拼接,得到第一拼接信息;将所述第一拼接信息对应的二进制比特串输入所述第二哈希函数,得到第二输出值;其中,所述第二输出值属于所述预设数据集;将所述第一身份标识、所述第一签名位置信息、所述第一公钥和所述预设主公钥拼接,得到第二拼接信息;将所述第二拼接信息对应的二进制比特串输入所述第三哈希函数,得到第三输出值;其中,所述第三输出值属于所述加法循环群;获取所述预设数据集中的第三预设数据;根据所述目标消息、所述第一用户证书、所述第一私钥、所述预设生成元、所述第二输出值、所述第三输出值和所述第三预设数据,生成所述第一签名信息。
12.一种数字签名设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-10任意一项所述的数字签名方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-10任意一项所述的数字签名方法。
14.一种数字签名系统,其特征在于,包括:
密钥生成设备,用于生成每个用户的公钥和私钥;
证书生成设备,用于根据每个用户的身份标识、该用户的公钥和预设主私钥,生成该用户的用户证书;
数字签名设备,用于获取系统参数、当前用户的第一用户证书和第一私钥;根据所述第一用户证书、所述第一私钥和所述系统参数,生成所述当前用户针对目标消息的第一签名信息;其中,所述第一用户证书根据所述预设主私钥和第一输出值生成,所述第一输出值为第一哈希函数针对所述当前用户的第一身份标识对应的二进制比特串和所述当前用户的第一公钥的输出值,所述第一公钥根据所述第一私钥和预设生成元生成,所述第一私钥和所述预设主私钥属于预设数据集,所述预设数据集中的数据为小于或等于预设大素数的非负整数,所述第一公钥和所述第一输出值属于阶为所述预设大素数的加法循环群,所述预设生成元为所述加法循环群的生成元;其中,所述系统参数包括所述预设生成元、预设主公钥、第二哈希函数和第三哈希函数,所述预设主公钥根据所述预设主私钥和所述预设生成元生成;
所述数字签名设备具体用于:获取所述第一身份标识和第一签名位置信息、所述第一公钥以及用户签名顺序信息;将所述第一身份标识、所述用户签名顺序信息、所述第一公钥和所述预设主公钥拼接,得到第一拼接信息;将所述第一拼接信息对应的二进制比特串输入所述第二哈希函数,得到第二输出值;其中,所述第二输出值属于所述预设数据集;将所述第一身份标识、所述第一签名位置信息、所述第一公钥和所述预设主公钥拼接,得到第二拼接信息;将所述第二拼接信息对应的二进制比特串输入所述第三哈希函数,得到第三输出值;其中,所述第三输出值属于所述加法循环群;获取所述预设数据集中的第三预设数据;根据所述目标消息、所述第一用户证书、所述第一私钥、所述预设生成元、所述第二输出值、所述第三输出值和所述第三预设数据,生成所述第一签名信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911387146.5A CN110768799B (zh) | 2019-12-30 | 2019-12-30 | 数字签名方法、装置、设备及介质、系统 |
PCT/CN2020/121108 WO2021135504A1 (zh) | 2019-12-30 | 2020-10-15 | 数字签名方法、装置、设备及介质、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911387146.5A CN110768799B (zh) | 2019-12-30 | 2019-12-30 | 数字签名方法、装置、设备及介质、系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110768799A CN110768799A (zh) | 2020-02-07 |
CN110768799B true CN110768799B (zh) | 2020-04-14 |
Family
ID=69341688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911387146.5A Active CN110768799B (zh) | 2019-12-30 | 2019-12-30 | 数字签名方法、装置、设备及介质、系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110768799B (zh) |
WO (1) | WO2021135504A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110768799B (zh) * | 2019-12-30 | 2020-04-14 | 中国银联股份有限公司 | 数字签名方法、装置、设备及介质、系统 |
CN111754233B (zh) * | 2020-06-29 | 2023-11-07 | 兴唐通信科技有限公司 | 基于多方签名的电子支付方法和系统 |
CN112243011A (zh) * | 2020-12-18 | 2021-01-19 | 东方微电科技(武汉)有限公司 | 一种签名验证方法、系统、电子设备及存储介质 |
CN112906059B (zh) * | 2021-01-19 | 2024-02-23 | 中国银联股份有限公司 | 代理签名和验证方法、装置、系统及存储介质 |
CN114448623A (zh) * | 2022-01-24 | 2022-05-06 | 中国银联股份有限公司 | 代理签名及验证方法、代理秘钥生成方法、装置和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546173A (zh) * | 2011-12-19 | 2012-07-04 | 河海大学 | 基于证书的数字签名系统及签名方法 |
CN106254372A (zh) * | 2016-08-31 | 2016-12-21 | 厦门天锐科技股份有限公司 | 一种基于身份密码机制的多重数字签名方法 |
CN107302437A (zh) * | 2017-07-31 | 2017-10-27 | 飞天诚信科技股份有限公司 | 一种脱机认证数据的个人化方法及个人化设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4814755B2 (ja) * | 2006-10-31 | 2011-11-16 | 日本電信電話株式会社 | 署名生成装置、署名検証装置、それらの方法及びプログラム |
CN103746811B (zh) * | 2013-12-27 | 2017-01-25 | 西安邮电大学 | 从身份公钥系统到证书公钥系统的匿名签密方法 |
US10305871B2 (en) * | 2015-12-09 | 2019-05-28 | Cloudflare, Inc. | Dynamically serving digital certificates based on secure session properties |
GB2560636A (en) * | 2017-02-22 | 2018-09-19 | Ctia The Wireless Ass | Mobile message source authentication |
CN110768799B (zh) * | 2019-12-30 | 2020-04-14 | 中国银联股份有限公司 | 数字签名方法、装置、设备及介质、系统 |
-
2019
- 2019-12-30 CN CN201911387146.5A patent/CN110768799B/zh active Active
-
2020
- 2020-10-15 WO PCT/CN2020/121108 patent/WO2021135504A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546173A (zh) * | 2011-12-19 | 2012-07-04 | 河海大学 | 基于证书的数字签名系统及签名方法 |
CN106254372A (zh) * | 2016-08-31 | 2016-12-21 | 厦门天锐科技股份有限公司 | 一种基于身份密码机制的多重数字签名方法 |
CN107302437A (zh) * | 2017-07-31 | 2017-10-27 | 飞天诚信科技股份有限公司 | 一种脱机认证数据的个人化方法及个人化设备 |
Non-Patent Citations (7)
Title |
---|
"Certificateless short sequential_and_broadcast multisignature schemes using elliptic curve bilinear pairings";SK Haflzul Islam等;《Journal of king Saud University-Computer and Information Sciences》;20130526;正文第1-8页 * |
"Notes on the security of certificateless aggregate signature schemes";Futai Zhang等;《Elsevier Information Sciences》;20140728;正文第32-37页 * |
"可证安全的高效无证书有序多重签名方案";许艳等;《通信学报》;20141130;第35卷(第11期);正文第126-131页 * |
"对一个高效的基于证书签名方案的分析和改进";周华静等;《安庆师范学院学报(自然科学版)》;20160229;第22卷(第1期);正文第47-51页 * |
"面向多用户的无证书数字签名方案研究";许艳;《中国博士学位论文全文数据库信息科技辑》;20160315;正文第1-7章 * |
"高效的基于证书短签名方案";吴晨煌;《计算机系统应用》;20130228;第22卷(第2期);正文第129-132,145页 * |
"高效的无证书有序多重签名方案";秦艳琳等;《通信学报》;20130731;第34卷(第7期);正文第105-109页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110768799A (zh) | 2020-02-07 |
WO2021135504A1 (zh) | 2021-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110768799B (zh) | 数字签名方法、装置、设备及介质、系统 | |
CN111191284B (zh) | 一种基于区块链技术的敏感信息司法存证的处理方法、装置及系统 | |
CN107133520B (zh) | 云计算平台的可信度量方法和装置 | |
CN101873307A (zh) | 基于身份的前向安全的数字签名方法、装置及系统 | |
WO2021036086A1 (zh) | 交易数据处理方法、装置、系统及计算机可读存储介质 | |
EP2660796B1 (en) | Arithmetical device, arithmetical device elliptical scalar multiplication method and elliptical scalar multiplication program, arithmetical device multiplicative operation method and multiplicative operation program, as well as arithmetical device zero determination method and zero determination program | |
CN107395370A (zh) | 基于标识的数字签名方法和装置 | |
CN105515778A (zh) | 云存储数据完整性服务签名方法 | |
KR101253683B1 (ko) | 연쇄 해시에 의한 전자서명 시스템 및 방법 | |
CN111147249B (zh) | 数据处理方法、装置、设备及介质 | |
CN113364595B (zh) | 电网隐私数据签名聚合方法、装置和计算机设备 | |
CN110602190A (zh) | 区块链共识的方法及区块链节点和存储装置 | |
JP2009005213A (ja) | 一括検証装置、プログラム及び一括検証方法 | |
CN102769530A (zh) | 一种计算高效的在线/离线数字签名方法 | |
CN114640463A (zh) | 一种数字签名方法、计算机设备及介质 | |
CN112039675A (zh) | 一种基于区块链智能合约的令牌生成与认证方法 | |
CN111314080A (zh) | 一种基于sm9算法的协同签名方法、装置、介质 | |
CN104868994A (zh) | 一种协同密钥管理的方法、装置及系统 | |
US8850213B2 (en) | Method for verifying an electronic signature and data processing device | |
WO2021179258A1 (zh) | 数字签名方法、数字签名装置、系统和存储介质 | |
CN114567422A (zh) | 一种基于隐私保护的公开验证真值确定方法 | |
CN112541759A (zh) | 区块链系统中基于utxo模型的隐藏交易方法、装置及相关产品 | |
CN112800476A (zh) | 一种数据脱敏方法、装置及电子设备 | |
CN114065233A (zh) | 一种面向大数据和区块链应用的数字签名聚合方法 | |
CN111669268A (zh) | 基于区块链的电子数据处理方法、装置及相关产品 |
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 |