CN110971414B - 生成签名的方法、装置、终端及服务器 - Google Patents

生成签名的方法、装置、终端及服务器 Download PDF

Info

Publication number
CN110971414B
CN110971414B CN201911269567.8A CN201911269567A CN110971414B CN 110971414 B CN110971414 B CN 110971414B CN 201911269567 A CN201911269567 A CN 201911269567A CN 110971414 B CN110971414 B CN 110971414B
Authority
CN
China
Prior art keywords
signature
sub
generating
message
public key
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
CN201911269567.8A
Other languages
English (en)
Other versions
CN110971414A (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.)
Tenpay Payment Technology Co Ltd
Original Assignee
Tenpay Payment Technology 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 Tenpay Payment Technology Co Ltd filed Critical Tenpay Payment Technology Co Ltd
Priority to CN201911269567.8A priority Critical patent/CN110971414B/zh
Publication of CN110971414A publication Critical patent/CN110971414A/zh
Application granted granted Critical
Publication of CN110971414B publication Critical patent/CN110971414B/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/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
    • 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
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • 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)
    • 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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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
    • 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
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/68Special signature format, e.g. XML format

Abstract

本发明公开了一种生成签名的方法、装置、终端及服务器,属于信息技术领域。本发明通过跟随节点生成子签名和公钥,来提供给签名聚合方,从而生成聚合签名和聚合公钥,由于得到的聚合签名的长度小于由多个子签名拼接得到的多重签名的长度,且聚合公钥的长度小于由多个公钥拼接得到的多重公钥的长度,因此,在网络传输聚合签名以及聚合公钥时,减轻了网络传输的负担,存储时节约了存储空间,且签名校验时,直接使用聚合公钥以及聚合签名对待签名的消息进行校验,大大降低了签名校验的复杂度。

Description

生成签名的方法、装置、终端及服务器
本申请是申请日为2017年11月10日、申请号为201711106750.7、发明名称为“生成签名的方法、装置、终端及服务器”的分案申请。
技术领域
本发明涉及信息技术领域,特别涉及一种生成签名的方法、装置、终端及服务器。
背景技术
随着信息技术的不断发展,区块链作为一项全新的技术得到大力的发展。区块链是指一串使用密码学方法相关联产生的区块,区块链中每个区块中的区块数据均与上一个区块中的区块数据存在关联,因此,无法通过篡改区块数据来进行作弊,能够确保任何区块上的区块数据均是公开透明的。区块链是由众多节点共同组成一个端到端的网络,节点之间的数据交换通过数字签名技术进行验证。数字签名技术是通过数字加密,对数字信息进行鉴别的技术。在某些情况中,例如当某一交易需要多方共识时,多方会对某一消息进行签名,这样的签名方式被称为多重签名方式。
相关技术中,多重签名方式的实现方案是,假设有N个签名方,则进行多重签名时,把N个不同的签名串联拼接成一个长签名,保存在区块链中,验签时需要同时拥有N个签名方的公钥,对长签名进行验证,N为大于1的整数。
在实现本发明的过程中,发明人发现相关技术至少存在以下问题:
基于上述多重签名的方法,验签时需要拥有所有签名方的公钥,对所有签名进行一一签名校验,使签名校验的复杂度大大提高。
发明内容
本发明实施例提供了一种生成签名的方法、装置、终端及服务器,能够解决相关技术中签名校验的复杂度高的问题。所述技术方案如下:
一方面,提供了一种生成签名的方法,所述方法应用于数据共享系统中的跟随节点上,所述方法包括:
获取随机数,根据所述随机数,生成特征值;
获取待签名的消息、私钥以及公钥;
获取消息摘要;其中,所述消息摘要由所述签名聚合方根据所述待签名的消息以及所述特征值计算得到;
根据所述消息摘要、所述随机数以及所述私钥,生成子签名;
将所述子签名以及所述公钥发送至所述签名聚合方。
一方面,提供了一种生成签名的装置,应用于数据共享系统中的跟随节点上,所述装置包括:
第一生成模块,用于获取随机数,根据所述随机数,生成特征值;
第一获取模块,用于获取待签名的消息、私钥以及公钥;
第二获取模块,用于获取消息摘要;其中,所述消息摘要由签名聚合方根据所述待签名的消息以及所述特征值计算得到;
第二生成模块,用于根据所述消息摘要、所述随机数以及所述私钥,生成子签名;
发送模块,用于将所述子签名以及所述公钥发送至所述签名聚合方。
一方面,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述所述的生成签名的方法。
一方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述所述的生成签名的方法。
本发明实施例提供的技术方案带来的有益效果是:跟随节点生成子签名和公钥,来提供给签名聚合方,从而生成聚合签名和聚合公钥,由于得到的聚合签名的长度小于由多个子签名拼接得到的多重签名的长度,且聚合公钥的长度小于由多个公钥拼接得到的多重公钥的长度,因此,在网络传输聚合签名以及聚合公钥时,减轻了网络传输的负担,存储时节约了存储空间,且签名校验时,直接使用聚合公钥以及聚合签名对待签名的消息进行校验,大大降低了签名校验的复杂度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种实施环境图;
图2是本发明实施例提供的一种生成签名的流程图;
图3是本发明实施例提供的一种多个账户地址进行转账的场景示意图;
图4是本发明实施例提供的一种生成签名的流程图;
图5是本发明实施例提供的一种各节点共识过程的示意图;
图6是本发明实施例提供的一种以并行方式生成签名的示意图;
图7是本发明实施例提供的一种生成签名的流程图;
图8是本发明实施例提供的一种多个合约方发起合约的示意图;
图9是本发明实施例提供的一种生成签名的装置的结构示意图;
图10是本发明实施例提供的一种生成签名的装置的结构示意图;
图11是本发明实施例提供的一种终端1100的结构框图;
图12是本发明实施例提供的一种服务器的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
参见图1所示的数据共享系统,数据共享系统100是指用于进行节点与节点之间数据共享的系统,该数据共享系统中可以包括多个节点101、102和103,多个节点101可以是指数据共享系统中各个客户端,数据共享系统可以配置一条或多条区块链,用以存储信息和数据。每个节点101在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该数据共享系统内的共享数据。
为了保证数据共享系统内的信息互通,数据共享系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输,节点之间可以进行通讯并达成信任,需要依赖数字签名技术,它主要实现了身份确认以及信息真实性、完整性验证。例如,当数据共享系统中的任意节点接收到输入信息时,本节点校验通过后,信息会被广播给其他节点。节点间达成共识过程中,需要节点间对签名信息进行验证,一定数量的节点验证通过即可达成共识。达成共识后,该输入信息作为共享数据中的数据进行存储,使得数据共享系统中全部节点上存储的数据均一致。其中,数据共享系统可为交易系统,交易系统指用于金融交易的系统。交易系统中可以包括多个节点,每个节点在进行交易时生成账本数据,并基于账本数据维护该交易系统内的共享账本。对于数据共享系统中的每个节点,均具有与其对应的节点标识,而且数据共享系统中的每个节点均可以存储有数据共享系统中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至数据共享系统中的其他节点。
在区块链技术的应用中,当某一交易需要一个以上的用户对其签名,该交易才能发送到区块链时,就需要用到多重签名技术,即签名聚合方根据多个用户的签名以及公钥,生成聚合签名以及聚合公钥,验签时,根据聚合签名以及聚合公钥对已签名的消息进行验签即可。实际的应用场景中,在生成签名的过程中,多个签名方接收到生成签名的触发指令后,选取随机数,根据随机数,生成特征值。签名聚合方根据待签名的消息以及多个签名方的特征值,生成消息摘要。多个签名方获取消息摘要(该消息摘要由签名聚合方根据待签名的消息以及特征值计算得到),然后,根据消息摘要、随机数以及私钥,生成子签名。签名聚合方获取多个签名方的公钥和子签名。然后,签名聚合方根据多个签名方的公钥,生成聚合公钥。签名聚合方根据多个子签名的和值以及消息摘要,生成聚合签名。
该数据共享系统的客户端设备和各个节点还可以具有至少一种数据库,用以存储随机数、子签名、消息摘要、聚合签名、聚合公钥等等。
下面以三个实施场景对本方案进行详细说明。
图2是本发明实施例提供的一种生成签名的方法的流程图。以方法应用于数据共享系统中的客户端设备上,且多个签名方为客户端设备所提供的多个账户地址为例,这种情况下,多个签名方与签名聚合方在同一数据共享系统中的同一客户端设备上,即多个签名方与签名聚合方为同一个执行主体,待签名的消息为各个账户地址对应的转账金额。下面对各个步骤进行详述:
200、客户端设备获取签名生成指令,该签名生成指令用于指示从多个账户地址向至少一个账户地址进行转账以及多个账户地址的转出金额。
如图3所示,假设某个用户拥有多个账户地址,当其需要将这多个账户地址中的资产转账给一个或多个目的地址时,该多个账户即为多个签名方。该用户操作客户端设备进行交易时,客户端设备接收到转账请求,转账请求中携带有该笔交易中待签名的消息,该待签名的消息需要签名,触发客户端设备开始生成签名。其中,待签名的消息中可以为本次转账请求或本次转账请求中的作为转出账户的账户地址、每个账户地址的转出金额以及作为转入账户的账户地址。需要说明的是,这种场景下,用户拥有多少的账户地址,以及这多个账户地址各自的转账金额的具体数值,在此不做限定。
201、客户端设备获取多个账户地址的多个随机数,根据该多个随机数,分别生成该多个账户地址的特征值。
客户端设备接收到签名生成指令后,为了区分客户端设备中多个账户地址,客户端设备为多个账户地址选取该多个账户地址各自的随机数,或取出预先存储的多个账户地址各自的随机数,然后,根据该多个随机数,生成该多个账户地址各自的特征值。
具体地,以一个账户地址为例,该账户地址的执行主体为客户端设备,步骤200可以包括以下步骤1至步骤4:
步骤1:客户端设备为该账户地址的获取其第一数值p以及第二数值q,第一数值p以及第二数值q为素数,满足q为(p-1)的因子,且p≥2512,q≥2140
客户端设备在[2512,+∞)的范围内选取一个素数,将其确定为第一数值p,在[2140,+∞)的范围内选取一个素数,将其确定为第二数值q,使得第一数值p以及第二数值q满足q为(p-1)的因子。除上述的方式外,客户端设备也可以在相关的数据库中取出预先存储的第一数值p以及第二数值q,预先存储的第一数值p以及第二数值q均为素数,且满足q为(p-1)的因子,且p≥2512,q≥2140
步骤2:获取生成底数g,g满足(gq-1)能被p整除。
客户端设备随机选取一个数值,将其确定为生成底数g,使得生成底数g满足(gq-1)能被p整除。或者,客户端设备在相关的数据库中取出预先存储的生成底数g,该生成底数g满足(gq-1)能被p整除。
步骤3:获取随机数,随机数的取值范围为(0,q)。
客户端设备在(0,q)的范围内随机选取一个数值,将其确定为随机数。或者,客户端设备在相关的数据库中取出预先存储的随机数,该随机数满足其在(0,q)的范围内。
步骤4:根据随机数、生成底数以及第一数值,生成特征值。
获取随机数、生成底数以及第一数值后,客户端设备可以按照下述公式(1)计算该账户地址的特征值:
R=gr(mod p) (1)
其中,R表示特征值,r表示随机数,g为生成底数,p为第一数值。
需要说明的是,客户端设备可以为其它账户地址按照上述步骤1至步骤4生成各自的特征值,此处不再赘述。生成过程可以是并行的,即客户端设备同时为多个账户地址获取其各自的随机数,根据该多个随机数为其该多个账户地址生成其各自的特征值。生成过程也可以是串行的,即客户端设备为某个账户地址获取其随机数,然后根据该随机数为该账户地址生成其特征值,然后,客户端设备为下一个账户地址根据其随机数生成其特征值,直到为所有账户地址生成特征值后结束该操作,在此不做限定。
202、客户端设备获取待签名的消息以及预先生成的多个账户地址的特征值,生成消息摘要,该待签名的消息包括作为转出账户的账户地址、每个账户地址的转出金额以及作为转入账户的账户地址。
按照上述过程为各账户地址均生成各自的特征值后,客户端设备获取该多个特征值,并根据该多个特征值生成聚合特征值;然后,客户端设备根据得到的聚合特征值以及作为转出账户的账户地址、每个账户地址的转出金额以及作为转入账户的账户地址以及预设单向散列函数,生成消息摘要。
具体地,步骤202可以包括以下步骤1至步骤3:
步骤1:客户端设备为多个账户地址获取其各自的特征值以及待签名的消息。
其中,客户端设备可以将转账请求直接作为待签名的消息,也可以是提取转账请求中作为转出账户的账户地址、每个账户地址的转出金额以及作为转入账户的账户地址,以作为待签名的消息。在该实施例中,仅以待签名的消息为提取到的作为转出账户的账户地址、每个账户地址的转出金额以及作为转入账户的账户地址为例进行说明。
在该步骤中,客户端设备可以事先存储有步骤201中生成的各个账户地址的特征值和第一数值,在生成消息摘要之前,客户端设备可以获取存储的各个账户地址的特征值和第一数值。
步骤2:客户端设备根据多个账户地址各自的特征值以及第一数值,生成聚合特征值。
具体的计算方式可以是,客户端设备计算多个特征值的乘积,根据多个特征值的乘积与第一数值,生成聚合特征值。进一步地,上述计算过程中,客户端设备根据多个特征值的乘积与第一数值,生成聚合特征值的过程可以通过求余运算进行,计算的公式可以如下述公式(2):
Figure BDA0002313786000000071
其中,R表示聚合特征值,n表示账户地址的总个数,Ri表示第i个账户地址的特征值,mod表示求余运算,p为第一数值。
步骤3:根据聚合特征值、该待签名的消息以及预设单向散列函数,生成消息摘要。
根据上述生成的聚合特征值、待签名的消息以及预设单项散列函数,得到该消息的散列值,该散列值即为消息摘要。其中,预设单项散列函数可以是SHA256安全散列函数。
进一步地,可以根据如下公式(3)计算消息摘要:
h=H(m,R) (3)
其中,h表示消息摘要,H表示求散列值运算,m表示待签名的消息,R表示聚合特征值。
203、客户端设备获取私钥以及公钥,根据消息摘要、随机数以及私钥,生成子签名。
获取到消息摘要后,客户端设备可以获取待转账的各账户地址的私钥以及公钥。其中,获取私钥以及公钥可以采用下述多种可能实现方式:(1)在数据库中可以存储有各个账户地址的私钥以及公钥,客户端设备需要时,可以从数据库中直接获取各账户地址的私钥以及公钥。(2)客户端设备为各账户地址临时生成私钥以及公钥,私钥满足在(0,q)的范围内,其中,q为上述获取的第二数值;公钥则根据私钥、生成底数以及第一数值生成,具体计算公式可以如下述公式(4):
X=gx(mod p) (4)
其中,X表示公钥,x表示私钥,g为生成底数,p为第一数值,mod表示求余运算。
然后,客户端设备获取上述过程中生成的消息摘要、随机数以及第二数值,根据各账户地址的私钥、消息摘要、随机数以及第二数值,计算各账户地址的子签名,计算公式可以如下述公式(5):
Si=ri+hxi(mod q) (5)
其中,Si表示第i个账户地址的子签名,ri表示第i个账户地址的随机数,h表示消息摘要,xi表示第i个账户地址的私钥,q为第二数值,mod表示求余运算。
204、客户端设备获取多个账户地址的公钥和子签名,根据多个账户地址的公钥,生成聚合公钥。
按照上述处理过程客户端设备为各账户地址获取其各自的公钥后,根据这些公钥的乘积以及与第一数值,生成聚合公钥。进一步地,上述计算的过程中,客户端设备为各账户地址获取其各自的第一数值,计算多个公钥的乘积,根据多个公钥的乘积与第一数值进行求余运算,生成聚合公钥。可以按照下述公式(6)进行计算:
Figure BDA0002313786000000081
其中,X表示聚合公钥,∏表示求积运算,n表示账户地址的总个数,Xi表示第i个账户地址的公钥,mod表示求余运算,p为第一数值。
205、客户端设备根据多个子签名的和值以及消息摘要,生成聚合签名。
客户端设备为各账户地址获取其各自的子签名,将这些子签名相加,得到多个子签名的和值,将该和值确定为聚合子签名,然后,根据聚合子签名与消息摘要生成聚合签名。
进一步地,上述计算的过程中,将各账户地址的子签名相加,得到多个子签名的和值,将该和值与第二数值进行求余运算,将得到的结果确定为聚合子签名,可以按照下述公式(7)进行计算:
Figure BDA0002313786000000082
S表示聚合子签名,∑表示求和运算,n表示账户地址的总个数,Si表示第i个账户地址的子签名,mod表示求余运算,q为第二数值。
通过上述过程确定聚合子签名后,将聚合子签名以及消息摘要进行拼接,将拼接得到的结果确定为聚合签名。通过上述过程确定聚合子签名时,因为是根据子签名的和值生成的聚合子签名,因此得到的聚合子签名长度远小于将该多个子签名拼接后的长度。因此,根据聚合子签名得到的聚合签名的长度小于拼接得到的签名的长度,因此,存储时可以节省存储空间,且通过网络传输聚合签名时,可以减轻网络传输的负担。
需要说明的是,在上述步骤中,通过计算可以得到特征值、消息摘要、子签名、聚合签名、聚合公钥等,客户端设备可以将得到的特征值、消息摘要、子签名、聚合签名、聚合公钥等进行存储。存储时,客户端设备可以将上述生成的结果均存储在相关的数据库中,也可以将其与各账户地址绑定存储,在此不做限定。
需要说明的是,上述生成聚合签名、生成聚合公钥的过程,可以是并行的,即客户端设备同时获取所有账户地址各自的子签名,根据多个子签名生成聚合子签名,然后根据聚合子签名和消息摘要生成聚合签名,同理,客户端设备同时获取所有账户地址各自的公钥,根据多个公钥生成聚合公钥。可选的,上述生成聚合签名、生成聚合公钥的过程,也可以是串行的,即客户端设备获取第一个账户地址的子签名和第二个账户地址的子签名,根据该两个子签名生成部分聚合子签名,然后,客户端设备获取第三个账户地址的子签名,并根据上述的部分聚合子签名以及该子签名生成新的部分聚合子签名,然后,客户端设备获取第四个账户地址的子签名,并根据上述的部分聚合子签名以及该子签名生成新的部分聚合子签名,以此类推,直至将所有账户地址的子签名均参与生成聚合子签名,然后,根据生成的聚合子签名以及消息摘要,生成聚合签名。在此不做限定。
206、客户端设备将消息、聚合公钥以及聚合签名发送至数据共享系统中的任一节点。
在该步骤中,可以将聚合签名添加至消息内再发送至数据共享系统,也可以将消息和聚合签名一起发送至数据共享系统,在此不做限定。
通过上述过程生成聚合公钥以及聚合签名后,客户端设备将消息、聚合公钥和聚合签名发送至数据共享系统,由数据共享系统对消息进行签名校验。
207、数据共享系统中的任一节点根据聚合公钥以及聚合签名,对消息进行签名校验。
具体地,客户端设备将各账户地址的消息、生成底数、第一数值以及聚合公钥、聚合签名发送至数据共享系统,由数据共享系统发送至系统内的节点,由接收到上述信息的节点根据各账户地址的消息、生成底数、第一数值以及聚合公钥、聚合签名对消息进行签名校验。签名校验时判断下述公式(8)是否成立,如果公式(8)成立,则签名校验通过,如果公式(8)不成立,则签名校验不通过。
h=H(m,gsX-h(mod p)) (8)
其中,h表示消息摘要,H表示求散列值运算,m表示作为消息,g为生成底数,S表示聚合子签名,X表示聚合公钥,mod表示求余运算,p为第一数值。
对于上述签名校验方法,可以采用数学方法对其正确性进行证明,具体证明方法可以如下:
根据上述计算方法,公式(8)h=H(m,gsX-h(mod p))等价于R=gsX-h(mod p),根据欧几里得算法可得:
Figure BDA0002313786000000101
由此可以推导出gsX-h(mod p)=R,因为h=H(m,gsX-h(mod p))等价于R=gsX-h(modp),因此h=H(m,gsX-h(mod p))成立,因此上述签名校验方法正确。
208、数据共享系统将签名校验结果、聚合公钥以及聚合签名添加至该消息中。
数据共享系统将签名校验结果、聚合公钥以及聚合签名添加至消息中,并将消息添加至区块链中。
本发明通过多个签名方的子签名来生成聚合签名,并基于多个签名方的公钥来生成聚合公钥,由于得到的聚合签名的长度小于由多个子签名拼接得到的多重签名的长度,且聚合公钥的长度小于由多个公钥拼接得到的多重公钥的长度,因此,在网络传输聚合签名以及聚合公钥时,减轻了网络传输的负担,存储时节约了存储空间,且签名校验时,直接使用聚合公钥以及聚合签名对已签名的消息进行校验,大大降低了签名校验的复杂度。进一步地,提供了上述签名生成方法在转账场景中的具体应用,提高了签名生成的实用性,也提高了转账场景下的签名生成以及签名校验的效率。
图4是本发明实施例提供的一种生成签名的方法的流程图。以当方法应用于数据共享系统中的领导节点上为例,这种情况下,签名聚合方为该数据共享系统中的领导节点,多个签名方中的每个签名方为该数据共享系统中的跟随节点。任一跟随节点可以根据该数据共享系统中的领导节点所广播的心跳信息,确定该领导节点运行正常,并基于领导节点的指示复制日志。当该跟随节点在一段时间内未接收到该领导节点的心跳信息时,可以确定该领导节点运行故障,并将投票请求广播至该数据共享系统中的各个节点,一旦接收到该集群中半数以上的节点设备的投票,跟随节点可以切换为领导状态运行,并将心跳信息广播至集群中的各个节点设备、基于和客户端设备的交互存储日志、指示各个节点设备复制日志。下面对各个步骤进行详述:
400、领导节点将共识确认包发送至各跟随节点。
在可信区块链使用bft-raft(一致性算法)算法进行节点间共识时,如图5所示,领导节点将共识确认包发送至各跟随节点,该共识确认包为节点间需要对其达成共识后对其进行存储的数据包,其中携带有待签名的消息。
401、各跟随节点接收共识确认包。
领导节点发送共识确认包后,各跟随节点接收共识确认包,共识确认包中携带有待签名的消息,触发各跟随节点对待签名的消息进行签名。
402、各跟随节点从共识确认包中获取客户端设备的输入信息。
各跟随节点接收到领导节点发送的共识确认包后,解析该共识确认包并获取待签名的消息。其中,待签名的消息可以是客户端设备的输入信息,例如转账消息等。
403、各跟随节点获取各自的公钥以及私钥。
通过上述过程各跟随节点获取客户端设备的输入信息后,各跟随节点获取各自的公钥以及私钥,获取方法可以参照上述步骤203进行处理,在此不做赘述。
404、领导节点获取各跟随节点的公钥。
上述步骤完成后,领导节点获取各跟随节点的公钥。其中,领导节点获取各跟随节点的公钥可以采用下述多种可能实现方式:(1)在领导节点的数据库中可以存储有各个跟随节点的公钥,领导节点需要时,可以从数据库中直接获取各账户地址的公钥。(2)各跟随节点在各自的数据库中可以存储自己的公钥以及私钥,各跟随节点获取自己的公钥后,将公钥发送至领导节点。这种情况下,跟随节点第一次发送公钥后,领导节点可以存储该跟随节点的公钥,下次领导节点需要该跟随节点的公钥时,处理方式可参照上述实现方式(1)进行处理。(3)各跟随节点临时生成私钥以及公钥,生成的计算方法可以参照上述步骤203进行处理,在此不做赘述。然后,各跟随节点将生成的公钥发送给领导节点。这种情况下,跟随节点第一次发送公钥后,领导节点可以存储该跟随节点的公钥,下次领导节点需要该跟随节点的公钥时,处理方式可参照上述实现方式(1)进行处理,在此不做赘述。
405、各跟随节点获取各自的随机数,根据各自的随机数,生成各自的特征值。
需要说明的是,各跟随节点获取随机数的方法可以按照上述步骤201中的步骤3进行处理,各跟随节点根据随机数生成特征值的方法可以按照上述步骤201中步骤4进行处理,在此不做赘述。生成各自特征值后,各跟随节点将各自的特征值发送给领导节点。
406、各跟随节点将各自生成的特征值发送给领导节点。
407、当领导节点接收到各跟随节点发送的各自的特征值时,根据客户端设备的输入信息以及各跟随节点的特征值,领导节点生成消息摘要。
需要说明的是,生成消息摘要的计算过程可以按照上述步骤202进行处理,在此不做赘述。生成消息摘要后,领导节点将该消息摘要发送至各跟随节点。
408、领导节点将消息摘要发送至数据共享系统中的各跟随节点。
409、各跟随节点根据消息摘要、随机数以及私钥,生成子签名。
各跟随节点生成子签名的计算过程可以按照上述步骤203进行处理,在此不做赘述。通过上述步骤,各跟随节点生成各自的子签名后,将各自的子签名发送至领导节点。
410、领导节点接收每个跟随节点所发送的公钥和子签名,并根据各跟随节点的公钥,生成聚合公钥。
领导节点生成聚合公钥的计算过程可以按照上述步骤204进行处理,在此不做赘述。
411、领导节点根据多个子签名的和值以及消息摘要,生成聚合签名。
领导节点生成聚合签名的计算过程可以按照上述步骤205进行处理,在此不做赘述。
412、领导节点将聚合公钥和聚合签名发送至每个跟随节点。
领导节点将生成的聚合公钥和聚合签名添加到共识确认包中,然后将该共识确认包发送至各跟随节点。各跟随节点解析共识确认包,并提取其中的聚合公钥、聚合签名以及客户端设备的输入信息。然后,各跟随节点根据聚合公钥以及聚合签名对该消息进行签名校验,该签名校验过程可以参照上述步骤207进行处理,在此不做赘述。
413、当所有跟随节点对消息进行签名校验通过后,节点间达成共识,每个节点均存储共识确认包中的客户端设备的输入信息、聚合签名以及聚合公钥。
各跟随节点根据聚合公钥以及聚合签名对消息进行签名校验通过后,各节点间达成共识,然后,每个跟随节点均存储共识确认包中的客户端设备的输入信息、聚合签名以及聚合公钥。
上述过程得到的聚合签名的长度小于拼接得到的签名的长度,聚合公钥的长度小于拼接得到的公钥的长度,因此,在共识过程中,通过网络传输聚合签名时,可以减轻网络传输的负担,且对消息进行签名校验时,只需根据聚合公钥以及聚合签名对消息进行签名校验,降低了签名校验的复杂度。
需要说明的是,上述生成聚合签名、生成聚合公钥的过程,可以是并行的,如图6所示,领导节点根据多个子签名生成聚合子签名,然后根据聚合子签名和消息摘要生成聚合签名,同理,领导节点同时根据多个公钥生成聚合公钥。可选的,生成聚合签名和生成聚合公钥的过程也可以是串行的,即第一个跟随节点获取自己的子签名,然后发送给第二个跟随节点;第二个跟随节点获取第一个跟随节点的子签名以及自己的子签名,生成部分聚合子签名,然后发送给第三个跟随节点;第三个跟随节点获取第二个跟随节点发送的部分聚合子签名以及自己的子签名,生成新的部分聚合子签名,然后发送给第四个跟随节点,依此类推,直至最后一个跟随节点生成新的部分聚合子签名,将该部分聚合子签名发送至领导节点,领导节点接收到该部分聚合子签名,将其确定为聚合子签名,然后,根据生成的聚合子签名以及消息摘要,生成聚合签名。在此不做限定。
本发明通过多个签名方的子签名来生成聚合签名,并基于多个签名方的公钥来生成聚合公钥,由于得到的聚合签名的长度小于由多个子签名拼接得到的多重签名的长度,且聚合公钥的长度小于由多个公钥拼接得到的多重公钥的长度,因此,在网络传输聚合签名以及聚合公钥时,减轻了网络传输的负担,存储时节约了存储空间,且签名校验时,直接使用聚合公钥以及聚合签名对已签名的消息进行校验,大大降低了签名校验的复杂度。进一步地,提供了上述签名生成方法在共识场景中的具体应用,提高了签名生成的实用性,也提高了共识场景下的签名生成以及签名校验的效率。
图7是本发明实施例提供的一种生成签名的方法的流程图。以方法应用于数据共享系统中的客户端设备上,且多个签名方中的任一个签名方所在的客户端设备作为执行聚合签名的执行主体为例,这种情况下,为了便于描述,将参与智能合约的客户端设备中作为签名聚合方的客户端设备称为第一客户端设备,将参与智能合约的其他客户端设备称为第二客户端设备,在智能合约场景下,待签名的消息为合约数据,该合约数据用于限制交易完成的条件。下面对各个步骤进行详述:
700、第一客户端设备和至少一个第二客户端获取签名生成指令,该签名生成指令用于指示多个合约方的合约内容以及转账金额。
如图8所示,在合约中涉及到多方共同发起转账时,需要多个合约方的签名才能达成该合约。当多个合约方操作各自的客户端设备进行转账时,各客户端设备接收到合约转账请求,该合约转账请求中携带有该笔交易中待签名的消息,该消息需要多个合约方签名,触发多个合约方开始生成签名。
701、第一客户端设备和至少一个第二客户端设备获取各自的多个随机数,根据该多个随机数,分别生成各自的特征值。
接收到签名生成触发指令时,至少一个第二客户端设备获取各自的随机数,该获取过程可以参照上述步骤201进行处理,此处不再赘述。获取到至少一个第二客户端设备的随机数后,至少一个第二客户端设备根据各自的随机数,生成各自的特征值,该生成方法可以参照上述步骤201进行处理,此处不再赘述。生成特征值后,至少一个第二客户端设备将生成的特征值发送至第一客户端设备。
702、至少一个第二客户端设备将各自的特征值发送至第一客户端设备。
703、第一客户端设备根据合约数据以及至少一个第二客户端设备的至少一个特征值,生成消息摘要。
第一客户端设备生成消息摘要的过程可以参照上述步骤202进行处理,此处不再赘述。
704、将消息摘要发送至至少一个第二客户端设备。
705、至少一个第二客户端设备获取消息摘要,然后,第一客户端设备和至少一个第二客户端设备获取合约数据、私钥以及公钥。
第一客户端设备和至少一个第二客户端设备获取各自的私钥以及公钥的过程可以参照上述步骤203进行处理,此处不再赘述。
706、第一客户端设备和至少一个第二客户端设备根据消息摘要、随机数以及私钥,生成子签名。
至少一个第二客户端设备生成各自的子签名的过程可以参照上述步骤203进行处理,此处不再赘述。
707、至少一个第二客户端设备将各自的子签名发送至第一客户端设备。
708、第一客户端设备获取第一客户端设备以及至少一个第二客户端设备各自的公钥和子签名,根据第一客户端设备以及至少一个第二客户端设备各自的公钥,生成聚合公钥。
第一客户端设备接收至少一个第二客户端设备发送的公钥和子签名,并存储接收到的公钥以及子签名。然后,第一客户端设备生成聚合公钥的过程可以参照上述步骤进行204处理,此处不再赘述。
709、第一客户端设备根据第一客户端设备以及至少一个第二客户端设备的子签名的和值以及消息摘要,生成聚合签名。
第一客户端设备生成聚合签名的过程可以参照上述步骤205进行处理,此处不再赘述。
710、第一客户端设备将聚合公钥和聚合签名添加至合约数据中。
生成聚合公钥和聚合签名后,第一客户端设备将聚合公钥和聚合签名添加至合约数据中,然后,将合约数据发送至数据共享系统。进一步地,可以由数据共享系统的各个节点基于聚合公钥以及聚合签名对合约数据进行签名校验,当签名校验成功时,数据共享系统对合约数据、聚合公钥以及聚合签名进行存储。当然,对合约数据也可以不进行签名校验,而直接存储合约数据、聚合公钥以及聚合签名。当执行合约时,从数据共享系统中获取聚合公钥以及聚合签名,根据聚合公钥以及聚合签名对合约数据进行签名校验。
通过上述过程得到的聚合签名,其长度小于拼接得到的签名的长度,聚合公钥的长度小于拼接得到的公钥的长度,因此,在通过网络传输聚合签名时,可以减轻网络传输的负担,且存储该聚合公钥和聚合签名时,可以节省存储空间。
需要说明的是,上述生成聚合签名、生成聚合公钥的过程,可以是并行的,即聚合方第一客户端设备根据多个子签名生成聚合子签名,然后根据聚合子签名和消息摘要生成聚合签名,同理,第一客户端设备同时根据多个公钥生成聚合公钥。可选的,生成聚合签名和生成聚合公钥的过程也可以是串行的,即第一个合约方客户端设备获取自己的子签名,然后发送给至少一个第二个合约方客户端设备;至少一个第二个合约方客户端设备获取第一个合约方客户端设备的子签名以及自己的子签名,生成部分聚合子签名,然后发送给第三个合约方客户端设备;第三个合约方客户端设备获取至少一个第二个合约方客户端设备发送的部分聚合子签名以及自己的子签名,生成新的部分聚合子签名,然后发送给第四个合约方客户端设备,依此类推,直至最后一个合约方客户端设备生成新的部分聚合子签名,将该部分聚合子签名发送至聚合方第一客户端设备,聚合方客户端根据该部分聚合子签名以及自己的子签名生成聚合子签名,然后,根据生成的聚合子签名以及消息摘要,生成聚合签名。在此不做限定。
本发明通过多个签名方的子签名来生成聚合签名,并基于多个签名方的公钥来生成聚合公钥,由于得到的聚合签名的长度小于由多个子签名拼接得到的多重签名的长度,且聚合公钥的长度小于由多个公钥拼接得到的多重公钥的长度,因此,在网络传输聚合签名以及聚合公钥时,减轻了网络传输的负担,存储时节约了存储空间,且签名校验时,直接使用聚合公钥以及聚合签名对已签名的消息进行校验,大大降低了签名校验的复杂度。进一步地,提供了上述签名生成方法在智能合约场景中的具体应用,提高了签名生成的实用性,也提高了智能合约场景下的签名生成以及签名校验的效率。
图9是本发明实施例提供的一种生成签名的结构示意图。参见图9,所述装置包括生成模块901、获取模块902。
该生成模块901,用于根据待签名的消息以及多个签名方的特征值,生成消息摘要;其中,每个签名方的特征值由所述签名方的随机数计算得到;
该获取模块902,用于获取所述多个签名方的公钥和子签名;其中,每个签名方的子签名由所述签名方的随机数、所述消息摘要以及所述多个签名方的私钥计算得到;
该生成模块901,还用于根据所述多个签名方的公钥,生成聚合公钥;其中,所述聚合公钥的长度小于所述多个公钥拼接后的长度;
该生成模块901,还用于根据所述多个子签名的和值以及所述消息摘要,生成聚合签名。
在任一种可能实现方式中,所述生成模块901包括获取子模块9011、生成子模块9012。
该获取子模块9011,用于获取所述多个签名方的特征值、待签名的消息以及第一数值;
该生成子模块9012,用于根据所述多个签名方的特征值以及所述第一数值,生成聚合特征值;
该生成子模块9012,还用于根据所述聚合特征值、所述待签名的消息以及预设单向散列函数,生成所述消息摘要。
在任一种可能实现方式中,所述生成子模块9012,还用于:
计算所述多个特征值的乘积,根据所述多个特征值的乘积与所述第一数值,生成聚合特征值。
在任一种可能实现方式中,所述生成子模块9012,还用于:
计算所述多个公钥的乘积,根据所述多个公钥的乘积与所述第一数值,生成聚合公钥。
在任一种可能实现方式中,所述生成模块901,还用于:
根据所述多个子签名,生成聚合子签名,将所述聚合子签名以及所述消息摘要进行拼接,将拼接得到的结果确定为聚合签名。
在任一种可能实现方式中,当所述方法应用于数据共享系统中的客户端设备上时,所述多个签名方为所述客户端设备所提供的多个账户地址,所述待签名的消息为各个账户地址对应的数值转移信息。
在任一种可能实现方式中,当所述方法应用于数据共享系统中的客户端设备上时,所述待签名的消息为合约数据,所述合约数据用于限制交易完成的条件。
在任一种可能实现方式中,当所述方法应用于数据共享系统中的领导节点上时,所述多个签名方中的每个签名方为所述数据共享系统中的跟随节点;
相应地,所述装置还包括:
发送模块903,用于所述根据待签名的消息以及多个签名方的特征值,生成消息摘要之后,将所述消息摘要发送至所述数据共享系统中的跟随节点;
所述获取模块902还用于:
接收每个跟随节点所发送的公钥和子签名;
所述发送模块903还用于:
所述根据所述多个子签名的和值以及所述消息摘要,生成聚合签名之后,将所述聚合公钥和所述聚合签名发送至所述每个跟随节点。
图10是本发明实施例提供的一种生成签名的装置结构示意图。参见图10,所述装置包括生成模块1001、获取模块1002。
该生成模块1001,用于获取随机数,根据所述随机数,生成特征值;
该获取模块1002,用于获取待签名的消息、私钥以及公钥;
该获取模块1002,还用于获取消息摘要;其中,所述消息摘要由所述签名聚合方根据所述待签名的消息以及所述特征值计算得到;
该生成模块1001,还用于根据所述消息摘要、所述随机数以及所述私钥,生成子签名。
在任一种可能实现方式中,所述生成模块1001,还用于:
获取第一数值p以及第二数值q,所述第一数值p以及所述第二数值q为素数,满足q为(p-1)的因子,且p≥2512,q≥2140
获取生成底数g,所述g满足(gq-1)能被p整除;
获取随机数,所述随机数的取值范围为(0,q);
根据所述随机数、所述生成底数、以及所述第一数值,生成特征值。
在任一种可能实现方式中,所述装置还包括:
发送模块1003,用于当所述方法应用于数据共享系统中的跟随节点上时,将所述子签名以及所述公钥发送至所述签名聚合方。
图11是本发明实施例提供的一种终端1100的结构框图。该终端1100可以是PC(Personal Computer,个人计算机)、智能手机、平板电脑等。终端1100还可能被称为用户设备、便携式终端等其他名称。
通常,终端1100包括有:处理器1101和存储器1102。
处理器1101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1101可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是有形的和非暂态的。存储器1102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1102中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1101所执行以实现本申请中提供的生成签名的方法。
在一些实施例中,终端1100还可选包括有:外围设备接口1103和至少一个外围设备。具体地,外围设备包括:射频电路1104、触摸显示屏1105、摄像头1106、音频电路1107、定位组件1108和电源1109中的至少一种。
外围设备接口1103可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1101和存储器1102。在一些实施例中,处理器1101、存储器1102和外围设备接口1103被集成在同一芯片或电路板上;在一些其他实施例中,处理器1101、存储器1102和外围设备接口1103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1104用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1104包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1104可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1104还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
触摸显示屏1105用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。触摸显示屏1105还具有采集在触摸显示屏1105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1101进行处理。触摸显示屏1105用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,触摸显示屏1105可以为一个,设置终端1100的前面板;在另一些实施例中,触摸显示屏1105可以为至少两个,分别设置在终端1100的不同表面或呈折叠设计;在再一些实施例中,触摸显示屏1105可以是柔性显示屏,设置在终端1100的弯曲表面上或折叠面上。甚至,触摸显示屏1105还可以设置成非矩形的不规则图形,也即异形屏。触摸显示屏1105可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1106用于采集图像或视频。可选地,摄像头组件1106包括前置摄像头和后置摄像头。通常,前置摄像头用于实现视频通话或自拍,后置摄像头用于实现照片或视频的拍摄。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能,主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能。在一些实施例中,摄像头组件1106还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1107用于提供用户和终端1100之间的音频接口。音频电路1107可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1101进行处理,或者输入至射频电路1104以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1100的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1101或射频电路1104的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1107还可以包括耳机插孔。
定位组件1108用于定位终端1100的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1108可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1109用于为终端1100中的各个组件进行供电。电源1109可以是交流电、直流电、一次性电池或可充电电池。当电源1109包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1100还包括有一个或多个传感器1110。该一个或多个传感器1110包括但不限于:加速度传感器1111、陀螺仪传感器1112、压力传感器1113、指纹传感器1114、光学传感器1115以及接近传感器1116。
加速度传感器1111可以检测以终端1100建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1111可以用于检测重力加速度在三个坐标轴上的分量。处理器1101可以根据加速度传感器1111采集的重力加速度信号,控制触摸显示屏1105以横向视图或纵向视图进行用户界面的显示。加速度传感器1111还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1112可以检测终端1100的机体方向及转动角度,陀螺仪传感器1112可以与加速度传感器1111协同采集用户对终端1100的3D动作。处理器1101根据陀螺仪传感器1112采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1113可以设置在终端1100的侧边框和/或触摸显示屏1105的下层。当压力传感器1113设置在终端1100的侧边框时,可以检测用户对终端1100的握持信号,根据该握持信号进行左右手识别或快捷操作。当压力传感器1113设置在触摸显示屏1105的下层时,可以根据用户对触摸显示屏1105的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1114用于采集用户的指纹,以根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1101授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1114可以被设置终端1100的正面、背面或侧面。当终端1100上设置有物理按键或厂商Logo时,指纹传感器1114可以与物理按键或厂商Logo集成在一起。
光学传感器1115用于采集环境光强度。在一个实施例中,处理器1101可以根据光学传感器1115采集的环境光强度,控制触摸显示屏1105的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1105的显示亮度;当环境光强度较低时,调低触摸显示屏1105的显示亮度。在另一个实施例中,处理器1101还可以根据光学传感器1115采集的环境光强度,动态调整摄像头组件1106的拍摄参数。
接近传感器1116,也称距离传感器,通常设置在终端1100的正面。接近传感器1116用于采集用户与终端1100的正面之间的距离。在一个实施例中,当接近传感器1116检测到用户与终端1100的正面之间的距离逐渐变小时,由处理器1101控制触摸显示屏1105从亮屏状态切换为息屏状态;当接近传感器1116检测到用户与终端1100的正面之间的距离逐渐变大时,由处理器1101控制触摸显示屏1105从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图11中示出的结构并不构成对终端1100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述实施例所提供的生成签名的方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图12是本发明实施例提供的一种服务器的结构框图。例如,服务器1200可以被提供为一节点。参照图12,服务器1200包括处理组件1222,其进一步包括一个或多个处理器,以及由存储器1232所代表的存储器资源,用于存储可由处理部件1222的执行的指令,例如应用程序。存储器1232中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1222被配置为执行指令,以执行上述图2、4和图7所示实施例中任一个所提供的生成签名的方法中服务器侧的方法步骤。
服务器1200还可以包括一个电源组件1226被配置为执行服务器1200的电源管理,一个有线或无线网络接口1250被配置为将服务器1200连接到网络,和一个输入输出(I/O)接口1258。服务器1200可以操作基于存储在存储器1232的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述实施例所提供的生成签名的方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由上面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (13)

1.一种生成签名的方法,其特征在于,所述方法应用于数据共享系统中的跟随节点上,所述方法包括:
获取随机数,根据所述随机数,生成特征值;
获取待签名的消息、私钥以及公钥;
获取多个签名方的特征值、待签名的消息以及第一数值,所述第一数值为[2512,+∞)的范围内的素数;
根据所述多个签名方的特征值以及所述第一数值,生成聚合特征值;
根据所述聚合特征值、所述待签名的消息以及预设单向散列函数,生成所述消息摘要;
根据所述消息摘要、所述随机数以及所述私钥,生成子签名;
将所述子签名以及所述公钥发送至所述签名聚合方,由所述签名聚合方获取多个签名方的公钥和子签名,根据所述多个签名方的公钥的乘积与所述第一数值进行求余运算生成聚合公钥,根据多个子签名的和值以及所述消息摘要生成聚合签名。
2.根据权利要求1所述的方法,其特征在于,所述获取随机数,根据所述随机数,生成特征值,包括:
获取第一数值p以及第二数值q,所述第一数值p以及所述第二数值q为素数,满足q为(p-1)的因子,且p≥2512,q≥2140
获取生成底数g,所述g满足(gq-1)能被p整除;
获取随机数,所述随机数的取值范围为(0,q);
根据所述随机数、所述生成底数、以及所述第一数值,生成特征值。
3.根据权利要求1所述的方法,其特征在于,所述聚合公钥的长度小于多个公钥拼接后的长度。
4.根据权利要求1所述的方法,其特征在于,所述根据所述多个签名方的特征值以及所述第一数值,生成聚合特征值,包括:
计算多个特征值的乘积,根据所述多个特征值的乘积与所述第一数值,生成聚合特征值。
5.根据权利要求1所述的方法,其特征在于,所述根据多个子签名的和值以及所述消息摘要生成聚合签名,包括:
根据所述多个子签名,生成聚合子签名,将所述聚合子签名以及所述消息摘要进行拼接,将拼接得到的结果确定为聚合签名。
6.根据权利要求1所述的方法,其特征在于,当所述签名聚合方为数据共享系统中的客户端设备时,所述多个签名方为所述客户端设备所提供的多个账户地址,所述待签名的消息为各个账户地址对应的数值转移信息。
7.根据权利要求1所述的方法,其特征在于,当所述签名聚合方为数据共享系统中的客户端设备时,所述待签名的消息为合约数据,所述合约数据用于限制交易完成的条件。
8.根据权利要求1所述的方法,其特征在于,当所述签名聚合方为数据共享系统中的领导节点时,所述多个签名方中的每个签名方为所述数据共享系统中的跟随节点;
相应地,所述获取消息摘要,包括:
接收所述数据共享系统中的领导节点发送的消息摘要;
所述获取多个签名方的公钥和子签名包括:
接收每个跟随节点所发送的公钥和子签名;
所述根据所述多个子签名的和值以及所述消息摘要生成聚合签名之后,所述方法还包括:
接收所述领导节点发送的所述聚合公钥和所述聚合签名。
9.根据权利要求8所述的方法,其特征在于,所述聚合公钥和所述聚合签名由所述领导节点添加至共识确认包中并发送至所述跟随节点,所述共识确认包中还包括待签名的消息;所述方法还包括:
从所述共识确认包中提取聚合公钥、聚合签名以及待签名的消息;
根据聚合公钥以及聚合签名对所述消息进行签名校验;
当所有跟随节点对消息进行签名校验通过后,存储共识确认包中的待签名的消息、聚合签名以及聚合公钥。
10.一种生成签名的装置,其特征在于,应用于数据共享系统中的跟随节点上,所述装置包括:
第一生成模块,用于获取随机数,根据所述随机数,生成特征值;
第一获取模块,用于获取待签名的消息、私钥以及公钥;
第二获取模块,用于获取多个签名方的特征值、待签名的消息以及第一数值,所述第一数值为[2512,+∞)的范围内的素数;根据所述多个签名方的特征值以及所述第一数值,生成聚合特征值;根据所述聚合特征值、所述待签名的消息以及预设单向散列函数,生成所述消息摘要;
第二生成模块,用于根据所述消息摘要、所述随机数以及所述私钥,生成子签名;
发送模块,用于将所述子签名以及所述公钥发送至所述签名聚合方,由所述签名聚合方获取多个签名方的公钥和子签名,根据多个签名方的公钥的乘积与所述第一数值进行求余运算生成聚合公钥,根据所述多个子签名的和值以及所述消息摘要生成聚合签名。
11.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如权利要求1至9任一所述的生成签名的方法。
12.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如权利要求1至9任一所述的生成签名的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如权利要求1至权利要求9任一项所述的生成签名的方法所执行的操作。
CN201911269567.8A 2017-11-10 2017-11-10 生成签名的方法、装置、终端及服务器 Active CN110971414B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911269567.8A CN110971414B (zh) 2017-11-10 2017-11-10 生成签名的方法、装置、终端及服务器

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711106750.7A CN107968708B (zh) 2017-11-10 2017-11-10 生成签名的方法、装置、终端及服务器
CN201911269567.8A CN110971414B (zh) 2017-11-10 2017-11-10 生成签名的方法、装置、终端及服务器

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201711106750.7A Division CN107968708B (zh) 2017-11-10 2017-11-10 生成签名的方法、装置、终端及服务器

Publications (2)

Publication Number Publication Date
CN110971414A CN110971414A (zh) 2020-04-07
CN110971414B true CN110971414B (zh) 2021-05-04

Family

ID=62000078

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201911269567.8A Active CN110971414B (zh) 2017-11-10 2017-11-10 生成签名的方法、装置、终端及服务器
CN201711106750.7A Active CN107968708B (zh) 2017-11-10 2017-11-10 生成签名的方法、装置、终端及服务器

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201711106750.7A Active CN107968708B (zh) 2017-11-10 2017-11-10 生成签名的方法、装置、终端及服务器

Country Status (6)

Country Link
US (1) US11128450B2 (zh)
EP (1) EP3611872A4 (zh)
JP (1) JP6966572B2 (zh)
KR (1) KR102350462B1 (zh)
CN (2) CN110971414B (zh)
WO (1) WO2019091289A1 (zh)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110971414B (zh) * 2017-11-10 2021-05-04 财付通支付科技有限公司 生成签名的方法、装置、终端及服务器
CN108650097B (zh) * 2018-04-28 2021-03-09 上海扈民区块链科技有限公司 一种高效的聚合数字签名方法
US11769156B2 (en) * 2018-05-15 2023-09-26 International Business Machines Corporation Automated data projection for smart contract groups on a blockchain
CN109064146B (zh) * 2018-08-07 2021-05-11 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种数字货币交易方法、设备、系统、终端及客户端钱包
CN110826091B (zh) * 2018-08-14 2022-05-06 珠海金山办公软件有限公司 一种文件签名方法、装置、电子设备及可读存储介质
CN110943838A (zh) * 2018-09-21 2020-03-31 上海派链信息科技有限公司 区块链网络中确定区块的共识的方法、设备和存储介质
CN112968883B (zh) * 2018-09-27 2023-04-07 福建福链科技有限公司 一种安全性高的区块链异构共识方法及终端
EP3888290A4 (en) * 2018-11-27 2022-08-24 Akamai Technologies, Inc. TRUST-BASED, HIGH-PERFORMANCE, CONSENSUS-BASED DISTRIBUTED REGISTRATION SYSTEM
CN109672535B (zh) * 2018-12-11 2021-10-08 成都四方伟业软件股份有限公司 联盟链签名生成方法及装置
CN111385096B (zh) * 2018-12-28 2023-08-08 北京沃东天骏信息技术有限公司 一种区块链网络系统、签名处理方法、终端及存储介质
CN110084600B (zh) * 2019-04-29 2021-08-27 百度在线网络技术(北京)有限公司 决议事务请求的处理、验证方法、装置、设备及介质
CN110209683B (zh) * 2019-06-05 2021-11-16 北京资源律动科技有限公司 一种实时获取环境数据并将其写入区块链的系统
CN110300172B (zh) * 2019-06-28 2022-06-07 深圳市迅雷网络技术有限公司 一种区块链数据的共识方法及相关设备
CN110247774A (zh) * 2019-06-28 2019-09-17 深圳市网心科技有限公司 一种区块链数据的共识方法及相关设备
CN112689848A (zh) * 2019-06-28 2021-04-20 深圳市网心科技有限公司 一种区块链数据的共识方法及相关设备
CN110363513A (zh) * 2019-07-15 2019-10-22 湖南智慧政务区块链科技有限公司 基于区块链的联合支付方法和装置
CN110400409B (zh) * 2019-07-26 2022-02-22 深圳市迅雷网络技术有限公司 基于bls签名算法的门限投票方法、系统及相关设备
CN110401541A (zh) * 2019-07-26 2019-11-01 深圳市网心科技有限公司 基于EC-Schnoor签名算法的门限投票方法、系统及相关设备
CN110401537A (zh) * 2019-07-26 2019-11-01 深圳市网心科技有限公司 基于bls签名算法的门限投票方法、系统及相关设备
CN110505064A (zh) * 2019-07-26 2019-11-26 深圳市网心科技有限公司 基于EC-Schnoor签名算法的门限投票方法、系统及相关设备
CN110830259A (zh) * 2019-08-06 2020-02-21 贵州大学 为多媒体数据提供原始性和完整性证明的方法及系统
US11588645B1 (en) * 2019-09-06 2023-02-21 University Of South Florida Systems and methods for compromise resilient and compact authentication for digital forensics
US20210099312A1 (en) * 2019-09-27 2021-04-01 Cypherium Blockchain Inc. Systems and methods for selecting and utilizing a committee of validator nodes in a distributed system
CN111314067B (zh) * 2020-02-05 2021-04-16 腾讯科技(深圳)有限公司 区块存储方法、装置、计算机设备及存储介质
JP7121195B2 (ja) * 2020-02-14 2022-08-17 グーグル エルエルシー セキュアマルチパーティリーチおよび頻度推定
CN111371564B (zh) * 2020-03-04 2023-02-03 深圳大学 一种数字签名及区块链交易方法、装置及电子设备
CN111476572B (zh) * 2020-04-09 2024-03-19 财付通支付科技有限公司 基于区块链的数据处理方法、装置、存储介质及设备
CN113592638A (zh) * 2020-04-30 2021-11-02 顺丰科技有限公司 交易请求的处理方法、装置以及联盟链
CN111478772B (zh) * 2020-06-22 2020-10-16 杭州趣链科技有限公司 一种流水线友好的签名和验签方法、设备及存储介质
CN111769938B (zh) * 2020-06-29 2023-03-24 福建福链科技有限公司 一种区块链传感器的密钥管理系统、数据验证系统
EP4175217A4 (en) * 2020-06-30 2023-08-23 Fujitsu Limited SIGNATURE CONTROL METHOD, SIGNATURE CONTROL PROGRAM AND INFORMATION PROCESSING DEVICE
CN114124396B (zh) * 2020-09-01 2023-12-01 中国电信股份有限公司 信息传输方法、系统和存储介质
CN112261082B (zh) * 2020-09-21 2021-11-19 中国科学院计算技术研究所 基于区块链和安全多方计算的被动dns数据共享方法及系统
CN112380575B (zh) * 2020-11-17 2024-03-15 深圳市联创知识产权服务中心 多方电子签名合成方法、装置、设备及存储介质
CN112468304A (zh) * 2020-11-27 2021-03-09 湖南赛吉智慧城市建设管理有限公司 数据加密方法、装置、计算机设备及存储介质
US11675650B2 (en) * 2020-12-30 2023-06-13 Mission Secure, Inc. System and method for n-modular redundant communication
WO2022153452A1 (ja) * 2021-01-14 2022-07-21 富士通株式会社 制御方法、制御プログラム、および情報処理装置
CN112600678B (zh) * 2021-03-02 2021-05-07 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质
KR20220161035A (ko) * 2021-05-28 2022-12-06 삼성에스디에스 주식회사 원본 증명 방법, 이를 위한 사용자 단말 및 키 관리 서버
CN113742709B (zh) * 2021-09-13 2023-09-05 抖音视界有限公司 信息的处理方法、装置、可读介质和电子设备
KR102439195B1 (ko) * 2022-05-03 2022-08-31 세종대학교산학협력단 다중 서명 생성 방법 및 시스템과 이를 수행하기 위한 컴퓨팅 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017186317A1 (en) * 2016-10-04 2017-11-02 Nec Europe Ltd. Method and system for byzantine fault-tolerance replicating of data on a plurality of servers

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142397A (ja) * 1998-10-30 2001-05-25 Hitachi Ltd ディジタル署名方法、秘密情報の管理方法およびシステム
JP4194745B2 (ja) * 2000-09-19 2008-12-10 株式会社エヌ・ティ・ティ・データ 電子署名システム及び電子署名方法
AU2009200408B2 (en) * 2006-09-12 2012-05-10 Cpc Patent Technologies Pty Ltd Password generator
US8595504B2 (en) * 2008-08-12 2013-11-26 Industrial Technology Research Institute Light weight authentication and secret retrieval
JP5669204B2 (ja) * 2011-03-17 2015-02-12 Necソリューションイノベータ株式会社 分散情報管理システム、分散情報管理方法、および分散情報管理プログラム
US9713019B2 (en) * 2011-08-17 2017-07-18 CBF Networks, Inc. Self organizing backhaul radio
US9141823B2 (en) * 2013-03-15 2015-09-22 Veridicom, Sa De Cv Abstraction layer for default encryption with orthogonal encryption logic session object; and automated authentication, with a method for online litigation
CN103414731A (zh) * 2013-08-29 2013-11-27 青岛大学 一种并行密钥隔离的基于身份的聚合签名方法
FR3023400A1 (fr) * 2014-07-04 2016-01-08 Schneider Electric Ind Sas Procede de gestion de l'installation d'une application sur un dispositif electronique
CN104462965B (zh) * 2014-11-14 2018-03-13 华为技术有限公司 应用程序完整性验证方法及网络设备
US9853977B1 (en) * 2015-01-26 2017-12-26 Winklevoss Ip, Llc System, method, and program product for processing secure transactions within a cloud computing system
US9762393B2 (en) * 2015-03-19 2017-09-12 Conduent Business Services, Llc One-to-many matching with application to efficient privacy-preserving re-identification
CN105162760B (zh) * 2015-07-28 2018-08-14 郝孟一 随机抽取方法、装置以及系统
US9948460B2 (en) * 2015-08-28 2018-04-17 City University Of Hong Kong Multivariate cryptography based on clipped hopfield neural network
CN105721413B (zh) * 2015-09-08 2018-05-29 腾讯科技(深圳)有限公司 业务处理方法及装置
CN106549909B (zh) * 2015-09-17 2020-04-24 阿里巴巴集团控股有限公司 一种授权验证方法及设备
CN105406970B (zh) * 2015-10-21 2019-03-12 浪潮电子信息产业股份有限公司 签名的方法及装置、验证签名的方法及装置
US11025407B2 (en) * 2015-12-04 2021-06-01 Verisign, Inc. Hash-based digital signatures for hierarchical internet public key infrastructure
US10567377B2 (en) * 2016-05-23 2020-02-18 Pemian & Corella, LLC Multifactor privacy-enhanced remote identification using a rich credential
CN106296200A (zh) * 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 基于区块链技术的分布式光伏电力交易平台
GB2538022B (en) * 2016-08-20 2018-07-11 PQ Solutions Ltd Multiple secrets in quorum based data processing
US10218511B2 (en) * 2016-12-23 2019-02-26 Amazon Technologies, Inc. Signature delegation
US10230525B2 (en) * 2016-12-23 2019-03-12 Amazon Technologies, Inc. Public key rollup for merkle tree signature scheme
US10243939B2 (en) * 2016-12-23 2019-03-26 Amazon Technologies, Inc. Key distribution in a distributed computing environment
US10511445B1 (en) * 2017-01-05 2019-12-17 Amazon Technologies, Inc. Signature compression for hash-based signature schemes
US10608824B1 (en) * 2017-01-09 2020-03-31 Amazon Technologies, Inc. Merkle signature scheme tree expansion
CN106888096B (zh) * 2017-03-23 2019-10-08 西安电子科技大学 基于混淆技术的安全广播多重签名方法
CN107171788B (zh) * 2017-04-08 2020-06-30 西安邮电大学 一种基于身份且签名长度恒定的在线离线聚合签名方法
CN107222482A (zh) * 2017-06-01 2017-09-29 黑龙江卓亚科技有限公司 一种基于复合区块链网络的数据管理系统及方法
US10581613B2 (en) * 2017-06-09 2020-03-03 Ecole Polytechnique Federale De Lausanne (Epfl) Cryptographically verifiable data structure having multi-hop forward and backwards links and associated systems and methods
US10862831B2 (en) * 2017-08-03 2020-12-08 Digital 14 Llc System, method, and computer program product providing end-to-end security of centrally accessible group membership information
US10601907B2 (en) * 2017-09-22 2020-03-24 Artiste QB Net Inc. System and method for platform to securely distribute compute workload to web capable devices
CN110971414B (zh) * 2017-11-10 2021-05-04 财付通支付科技有限公司 生成签名的方法、装置、终端及服务器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017186317A1 (en) * 2016-10-04 2017-11-02 Nec Europe Ltd. Method and system for byzantine fault-tolerance replicating of data on a plurality of servers

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Combination Multi-Signature Scheme;Zhang Jun;《2009 International Conference on Networking and Digital Society》;20090530;1-4 *
Keeping Authorities "Honest or Bust"with Decentralized Witness Cosigning;Ewa Syta;《2016 IEEE Symposium on Security and Privacy》;20160816;1-20 *

Also Published As

Publication number Publication date
US20200076586A1 (en) 2020-03-05
US11128450B2 (en) 2021-09-21
KR102350462B1 (ko) 2022-01-11
CN107968708A (zh) 2018-04-27
JP6966572B2 (ja) 2021-11-17
KR20200003144A (ko) 2020-01-08
JP2020520607A (ja) 2020-07-09
EP3611872A4 (en) 2020-12-09
WO2019091289A1 (zh) 2019-05-16
EP3611872A1 (en) 2020-02-19
CN107968708B (zh) 2020-01-17
CN110971414A (zh) 2020-04-07

Similar Documents

Publication Publication Date Title
CN110971414B (zh) 生成签名的方法、装置、终端及服务器
CN111245745B (zh) 消息发送方法、装置、节点设备及存储介质
CN109615515B (zh) 债权凭证转移方法、装置、电子设备及存储介质
CN111339086B (zh) 区块处理方法、基于区块链的数据查询方法及装置
CN110290146B (zh) 分享口令的生成方法、装置、服务器及存储介质
CN111080443B (zh) 基于区块链的业务处理方法、装置、设备及存储介质
CN111506884A (zh) 用户邀请方法、装置、计算机设备及计算机可读存储介质
CN110597924B (zh) 基于区块链的用户标识处理方法、装置、设备及存储介质
CN112711774A (zh) 数据处理方法、装置、设备及存储介质
CN110826103A (zh) 基于区块链的文档权限处理方法、装置、设备及存储介质
CN110598386A (zh) 基于区块链的数据处理方法、装置、设备及存储介质
CN111212074B (zh) 基于区块链的资格认定方法、装置、设备及存储介质
CN111062725A (zh) 人脸支付方法、装置及系统、计算机可读存储介质
CN110677262A (zh) 基于区块链的信息公证方法、装置及系统
CN111131392A (zh) 处理消息的方法、装置、电子设备及介质
CN111667371B (zh) 基于区块链的资源聚合方法、系统、设备及存储介质
CN110597840B (zh) 基于区块链的伴侣关系建立方法、装置、设备及存储介质
CN110727894B (zh) 目标素材设置方法、装置、设备及存储介质
CN110570289A (zh) 基于区块链的业务处理方法、装置、设备及存储介质
CN114565388B (zh) 共识轮次的更新方法、装置、电子设备及存储介质
CN111327427B (zh) 提交备选区块的方法、装置、节点设备、系统及存储介质
CN113852459A (zh) 密钥协商方法、设备及计算机可读存储介质
CN110971692B (zh) 开通服务的方法、装置及计算机存储介质
CN111741040A (zh) 连接建立方法、地址获取方法、装置、设备及存储介质
CN110569631B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40021564

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant