CN111934889B - 密钥生成方法、签名和验签方法、装置、设备和介质 - Google Patents

密钥生成方法、签名和验签方法、装置、设备和介质 Download PDF

Info

Publication number
CN111934889B
CN111934889B CN202011091696.5A CN202011091696A CN111934889B CN 111934889 B CN111934889 B CN 111934889B CN 202011091696 A CN202011091696 A CN 202011091696A CN 111934889 B CN111934889 B CN 111934889B
Authority
CN
China
Prior art keywords
key
nodes
node
secret
signature
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
CN202011091696.5A
Other languages
English (en)
Other versions
CN111934889A (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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202011091696.5A priority Critical patent/CN111934889B/zh
Publication of CN111934889A publication Critical patent/CN111934889A/zh
Application granted granted Critical
Publication of CN111934889B publication Critical patent/CN111934889B/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/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

Landscapes

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

Abstract

本申请公开了一种密钥生成方法、签名和验签方法、装置、设备和介质,涉及计算机加密技术和区块链技术领域。可用于云计算和云领域。具体实现方案为:确定本机节点的第一本地秘密,将所述第一本地秘密按照所述多方节点的数量切分为秘密碎片,将各所述秘密碎片一一对应的传输给所述多方节点中的每个节点;获取所述多方节点中其他节点各自切分并传输的秘密碎片,并根据获取的所述多方节点各自的秘密碎片生成非对称密钥对的私钥和公钥。本申请能够提高密钥生成的安全性及隐私性。

Description

密钥生成方法、签名和验签方法、装置、设备和介质
技术领域
本申请涉及计算机技术领域,尤其涉及计算机加密技术和区块链技术领域,具体涉及一种密钥生成方法、签名和验签方法、装置、设备和介质。
背景技术
随着计算机所处理业务的复杂度提升,已经大量出现了需要多个参与方协作来完成的业务。在多方业务中,可采用多方安全计算技术来保证各个参与方之间进行协作来完成任务的计算。多方安全计算技术中会采用门限签名技术来保证数据交互的安全性。
门限签名技术是密码学签名领域的一个前沿技术方向。在门限签名技术中,各参与方所采用的密钥,是进行签名的关键技术。现有门限签名技术往往采用中心化密钥生成方式,这在一定程度上会降低密钥的安全性。
发明内容
本申请提供了一种密钥生成方法、签名和验签方法、装置、设备和介质。
根据本申请的一方面,提供了一种密钥生成方法,包括:
确定本机节点的第一本地秘密,将所述第一本地秘密按照所述多方节点的数量切分为秘密碎片,将各所述秘密碎片一一对应的传输给所述多方节点中的每个节点;
获取所述多方节点中其他节点各自切分并传输的秘密碎片,并根据获取的所述多方节点各自的秘密碎片生成非对称密钥对的私钥和公钥。
根据本申请的一方面,提供了一种基于密钥的门限签名方法,包括:
采用本机节点的私钥对待签名消息进行签名,以产生密钥参数碎片,将所述密钥参数碎片传输给所述多方节点中的其他 节点;
获取根据各节点的密钥参数碎片生成的密钥参数;
根据所述密钥参数封装形成所述待签名消息的门限签名结果。
根据本申请的一方面,提供了一种基于密钥的门限签名验签方法,包括:
获取待验签消息和签名结果;其中,所述签名结果采用本申请实施例中任一项所述的基于密钥的门限签名方法进行签名;
采用所述公钥对所述签名结果进行签名验证。
根据本申请的一方面,提供了一种密钥生成的装置,配置于多方节点中的任一节点中,所述装置包括:
秘密碎片生成模块,用于确定本机节点的第一本地秘密,将所述第一本地秘密按照所述多方节点的数量切分为秘密碎片,将各所述秘密碎片一一对应的传输给所述多方节点中的每个节点;
公私钥生成模块,用于获取所述多方节点中其他节点各自切分并传输的秘密碎片,并根据获取的所述多方节点各自的秘密碎片生成非对称密钥对的私钥和公钥。
根据本申请的一方面,提供了一种基于密钥的门限签名装置,配置于多方节点中的任一节点中,所述密钥为本申请实施例中任一项所述密钥生成装置所生成的非对称密钥对,所述装置包括:
密钥参数碎片生成模块,用于采用本机节点的私钥对待签名消息进行签名,以产生密钥参数碎片,将所述密钥参数碎片传输给所述多方节点中的其他节点;
密钥参数获取模块,用于获取根据各节点的密钥参数碎片生成的密钥参数;
门限签名结果形成模块,用于根据所述密钥参数封装形成所述待签名消息的门限签名结果。
根据本申请的一方面,提供了一种基于密钥的门限签名验签装置,配置于多方节点中的任一节点中,所述密钥为本申请实施例中任一项所述密钥生成装置所生成的非对称密钥对,所述装置包括:
签名结果获取模块,用于获取待验签消息和签名结果;其中,所述签名结果采用本申请实施例中任一项所述的基于密钥的门限签名方法进行签名;
签名验证模块,用于采用所述公钥对所述签名结果进行签名验证。
根据本申请的一方面,提供了一种电子设备,该电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本申请实施例中任一项所述的密钥生成方法,或基于密钥的门限签名方法,或基于密钥的门限签名验签方法。
根据本申请的一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如本申请实施例中任一项所述的密钥生成方法、基于密钥的门限签名方法或者基于密钥的门限签名验签方法。
根据本申请的技术能够提高门限签名方案的安全性及隐私性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其他特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例提供的一种密钥生成方法的流程示意图;
图2A是根据本申请实施例提供的另一种密钥生成方法的流程示意图;
图2B是本申请实施例中生成密钥的流程示意图;
图3是根据本申请实施例提供的一种基于密钥的门限签名方法的流程示意图;
图4A是根据本申请实施例提供的另一种基于密钥的门限签名方法的流程示意图;
图4B是本申请实施例中生成密钥参数的流程示意图一;
图4C是本申请实施例中生成密钥参数的流程示意图二;
图5是根据本申请实施例提供的一种基于密钥的门限签名验签方法的流程示意图;
图6是根据本申请实施例提供的一种密钥生成装置的结构示意图;
图7是根据本申请实施例提供的基于密钥的门限签名装置的结构示意图;
图8是根据本申请实施例提供的基于密钥的门限签名验签装置的结构示意图;
图9是用来实现本申请实施例的密钥生成方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本申请实施例提供的一种密钥生成方法的流程示意图。本实施例可适用于门限签名中密钥生成的情况,从而提高密钥生成的安全性和隐私性。本实施例公开的密钥生成方法可以由密钥生成装置来执行,该装置可以由软件和/或硬件的方式实现,配置于电子设备中。
本申请实施例的技术方案所生成的密钥可用于门限签名场景中,门限签名中通常涉及W个参与方,其中N个以上参与方共同进行签名即可完成签名和验签,W和N均为自然数,且W大于N。N即为设定门限签名阈值,为需参与门限签名的节点数量下限值,若参与签名的节点数量小于设定门限签名阈值,则门限签名无法得到有效验签。设定门限签名阈值N的具体数值可以根据实际业务需求和W的值来进行设定。参与方也可称为节点,每个节点都会持有一个私钥,且私钥对应有公钥,组成非对称密钥对。
门限签名技术涉及多方节点,本申请实施例采用去中心化生成密钥和签名技术,多方节点中的任一节点均可执行下述密钥生成方法。多方参与的门限签名可应用于各种业务场景中,例如,可应用于区块链系统,由多个区块链节点共同处理事务请求的过程中,可由多个区块链节点作为多方节点,完成密钥生成、签名和验签的处理,本实施例以区块链应用场景为例进行说明,但本领域技术人员可以理解的是,门限签名技术并不限于区块链应用场景。
参见图1,本实施例提供的密钥生成方法包括:
S110、确定本机节点的第一本地秘密,将所述第一本地秘密按照所述多方节点的数量切分为秘密碎片,将各所述秘密碎片一一对应的传输给所述多方节点中的每个节点。
其中,本地节点可以是区块链中的任一节点。可选的,第一本地秘密是本机节点自身产生的字符串。在区块链上各个节点地位平等,参与事务数据处理的各节点生成各自的第一本地秘密。换言之,此时,区块网络中的节点仅掌握着所属于自己的第一本地秘密。
其中,所述多方节点是指包括本机节点和其他区块链中参与事务数据处理的节点,在一可行实施例中,可选的,所述多方节点为区块链网络中用于处理设定业务或归属于设定组织的多个节点。其中,设定业务可以是银行财务业务、公司办公业务等业务。设定组织则可能是某个组织机构如银行系统构建的某个联盟链。区块链网络中的节点数量庞大,不同节点参与的业务和归属组织存在差异,相较于区块链中全部节点参与签名,让处理设定业务或归属于设定组织的多个节点参与签名,可有效提高签名效率,降低资源占用率。多方节点的数量等于需参与某项业务或归属于某个组织的全部节点的数量。
可选的,利用拉格朗日多项式方法对第一本地秘密进行切分。切分得到的秘密碎片可以是等长的,在这里不作限定,具体依据实际情况确定。第一本地秘密所切分的秘密碎片的数量为多方节点的数量。可选的,电子设备将切分得到的秘密碎片一一对应的传输给多方节点的每个节点的同时为本机节点保留一份秘密碎片。
可选的,可以将本机节点的秘密碎片按照碎片编号发送给相应的节点。
在一个可行的实施例中,确定本机节点的第一本地秘密包括:
基于随机数,按照设定生成算法生成一个字节数组或数字,作为所述第一本地秘密;或根据用户设置的助记词,按照设定恢复算法生成一个字节数组或数字,作为所述第一本地秘密。
基于随机数,按照设定生成算法生成一个字节数组或数字,即第一本地秘密是随机的。
其中,助记词一般由字符串构成,几个字符之间由空格隔开,这些字符串可来源于用户的设定。第一本地秘密根据设定生成算法从助记词恢复确定为一个字节数组或者数字,所以该一个字节数组或者数字与助记词之间的转换是互通的。根据用户设置的助记词,按照设定恢复算法生成一个字节数组或数字,作为所述第一本地秘密。
通过上述方式确定本机节点的第一本地秘密安全性和隐私性更高,各节点产生的第一本地秘密相似的概率更小,第一本地秘密被破解的可能性更低。根据第一本地秘密的秘密碎片生成密钥可以有效提高了密钥生成的安全性。
在一个可行的实施例中,可选的,将所述第一本地秘密按照所述多方节点的数量切分为秘密碎片,各所述秘密碎片一一对应的传输给所述多方节点中的每个节点包括:按照所述多方节点的数量以及设定门限签名阈值,将所述第一本地秘密切分为秘密碎片;其中,所述设定门限签名阈值为需参与门限签名的节点数量下限值;将各所述秘密碎片,按照所述秘密碎片被切分时确定的碎片编号和所述多方节点的节点编号,分别传输给所述多方节点中的每个节点;其中,每个节点中记录的节点编号与节点的对应关系相同。
可选的,对多方节点按照一定的规则统一编号,并记录各节点与编号的关联关系。将所述第一本地秘密按照所述多方节点的数量M以及设定门限签名阈值N,切分为秘密碎片,并利用对节点进行编号的规则对秘密碎片编号。具体可以是基于秘密分享技术对第一本地秘密进行切分,使得切分后的秘密碎片在各自产生私钥后,当通过私钥进行签名时,只有达到设定门限签名阈值数量的节点参与签名,才能有效通过公钥的验证。
具体切分方式可以是:节点j将第一本地秘密Xj转换为一个满足设定精度的大整数,在xy坐标系中,可基于y=fj(x)的多项式确定一条经过N个点的曲线,特别的当N为2时,曲线退化为直线。当x=0时,y=fj(0)等于第一本地秘密Xj转换得到的大整数。在该曲线上切分得到M个点,每个点在曲线上的顺序编号为秘密编号,与节点编号对应。M个点中每个点的y值也作为一个大整数,可按照设定转换规则转换形成M个秘密碎片。各个节点可采用不同的fj(x)多项式来切分自己的秘密碎片,且节点之间互不知晓其他节点所采用的多项式。
根据节点编号以及秘密碎片编号建立秘密碎片与节点的关联关系。接下来,按照秘密碎片与节点的关联关系,将秘密碎片传输至与秘密碎片编号一致的节点。各个节点分发传输秘密碎片的编码顺序保持相同,例如,编号为1的节点,将获得所有其他节点碎片编号为1的秘密碎片。
传输秘密碎片的目的是使与秘密碎片编号一致的节点获得该秘密碎片,对秘密碎片的传输方式在这里不作限定,具体依据实际情况确定。示例性的,可以将本机节点的秘密碎片直接传输至目标节点。最后,每个节点都会为每一个其他节点保留一个其发来的秘密碎片。通过对节点与秘密碎片进行编号,保证各个节点均能获得不同的秘密碎片集合,且在基于密钥进行签名时,在满足设定门限签名阈值的节点参与签名时,才能获得有效签名结果。
S120、获取所述多方节点中其他节点各自切分并传输的秘密碎片,并根据获取的所述多方节点各自的秘密碎片生成非对称密钥对的私钥和公钥。
本机节点除了保留第一本地秘密中与自身编号一致的秘密碎片以外,还需要从其他节点中获取与自身编号一致其他节点产生的第一本地秘密碎片。然后,根据这些秘密碎片生成非对称密钥对的私钥和公钥。非对称密钥对的私钥和公钥分别完成签名和验签操作,公钥公开发布,私有由节点秘密保存。
本申请实施例的技术方案,通过确定本机节点的第一本地秘密,将所述第一本地秘密按照所述多方节点的数量切分为秘密碎片,再将各节点秘密碎片进行交换,再根据获取的秘密碎片生成非对称密钥对的私钥和公钥,从而实现了分布式的密钥生成,整个密钥的生成过程不必依赖于中心节点,各个节点的完整秘密信息均不会被一个节点获知,进而提高了密钥生成的安全性和隐私性。
图2A是根据本申请实施例提供的另一种密钥生成方法的流程示意图。本实施例是在上述实施例的基础上提出的一种可选方案。具体的是对根据获取的所述多方节点各自的秘密碎片生成非对称密钥对的私钥和公钥的细化,参见图2A,本实施例提供的密钥生成方法包括:
S210、确定本机节点的第一本地秘密Xj,将所述第一本地秘密Xj按照所述多方节点的数量切分为秘密碎片Xjw,将各所述秘密碎片Xjw传输给所述多方节点中的每个节点。
其中,X为第一本地秘密,j为节点编号,节点的取值范围是[1,W],W为多方节点的数量,w为秘密碎片的编号,如图2B所示。
S220、获取所述多方节点中其他节点各自切分并传输的秘密碎片,将获取的所述多方节点各自的秘密碎片进行累加,作为第二本地秘密。
可选的,在将获取的所述多方节点各自的秘密碎片进行累加时,也累加了与本机节点相对应的本地第一本地秘密的秘密碎片。以多方节点包括三个节点为例,节点1的第二本地秘密Y1为累加节点1的第一本地秘密碎片X11,节点2的第一本地秘密碎片X21,以及节点3的第一本地秘密碎片X31而确定的。
S230、将所述第二本地秘密转换为设定精度整数。
可选的,设定精度整数可以是大整数。其中,大整数又称为高精度整数,其含义就是用基本数据类型无法存储其精度的整数,是基于椭圆曲线转换获得私钥中所使用的设定整数。
S240、基于设定椭圆曲线,将所述设定精度整数转换为所述设定椭圆曲线上的私钥。
其中,椭圆曲线是基于椭圆曲线数学的一种公钥密码的方法,是目前被广泛使用的强大的密码学。基于设定椭圆曲线,将所述设定精度整数转换为所述设定椭圆曲线上的私钥。在椭圆曲线已知的情况下,通过椭圆曲线加密规则即可将设定精度整数转换为所述设定椭圆曲线上的私钥。多方节点中的每个节点都会按照上述方法生成一个私钥Pj,该私钥Pj并不对外宣示,由节点自己保存。
S250、根据所述第一本地秘密生成验证值,并传输给所述多方节点中的每个节点。
可选的,本机节点将所述第一本地秘密的秘密碎片,传输给所述多方节点中的每个节点的同时还会生成一个验证值,如图2B所示。其中,验证值Vj可以是本机节点的第一本地秘密与椭圆曲线基点G的乘积。
S260、获取所述多方节点中其他节点各自生成并传输的验证值,并根据获取的所述多方节点各自的验证值,基于所述设定椭圆曲线的基点生成非对称密钥对的公钥。
可选的,本机节点将自己的验证值发送给多方节点中的每个节点。最后,每个节点都会为每一个其他节点保留其发来的验证值。每个节点根据收集的所有验证值,将这些验证值在椭圆曲线上进行累加,得到门限验证值进而生成非对称密钥对的公钥C,如图2B所示,验证值的累加顺序不限定,每个节点都有能力来计算出非对称密钥对的公钥。该公钥可以被用于验证门限签名是否正确。
本申请实施例的技术方案,通过秘密碎片结合椭圆曲线的方法,生成了非对称密钥对的私钥和公钥。本申请实施例将获取的所述多方节点各自的秘密碎片进行累加,得到累加结果,再根据累加结果生成非对称密钥对的私钥和公钥,各个节点可去中心化的各自生成私钥,且私钥基于各个节点的秘密碎片生成,安全性高。
图3是根据本申请实施例提供的一种基于密钥的门限签名方法的流程示意图。本实施例可适用于对本申请任一实施例所述密钥生成方法所生成的非对称密钥进行门限签名的情况,从而提高门限签名的安全性。本实施例公开的基于密钥的门限签名方法可以由基于门限签名装置来执行,该装置可以由软件和/或硬件的方式实现,配置于电子设备中。参见图3,本实施例提供的基于密钥的门限签名方法包括:
S310、采用本机节点的私钥对待签名消息进行签名,以产生密钥参数碎片,将所述密钥参数碎片传输给所述多方节点中的其他节点。
其中,私钥是多方节点中每个节点自己保存的,并不对外宣示。其中,采用本机节点的私钥对待签名消息进行签名,即表示对待签名消息进行签名的本机节点已确认该待签名消息的内容,并对此负责。在一可行实施例中,可选的,所述待签名消息为基于区块链网络协议发起的事务请求。签名过程一般在某个节点向区块链发起事务请求,该事务请求需要门限签名时来执行。
值得注意的是,并非多方节点中的每个节点都参与某次签名,即会有节点不能或不愿意参与签名。因此,实际签名的节点数小于等于多方节点数。
在一个可行的实施例中,其中,所述多方节点为区块链网络中用于处理设定业务或归属于设定组织的多个节点。
在采用本机节点对待签名消息进行签名时,会产生一个密钥参数碎片,最终各个节点产生的密钥参数碎片数与实际签名的节点数相同。根据门限N/W原理有W个节点,每个节点都会持有一个私钥Pj,但是所有私钥对应一个公钥C。只要有N个节点进行互相配合,进行多方签名,就可以得到正确签名结果,N即为门限值。在一个可行的实施例中,其中,生成所述密钥参数的密钥参数碎片的数量大于或等于设定门限签名阈值。只有当生成所述密钥参数的密钥参数碎片的数量大于或等于设定门限签名阈值时,最终得到的密钥参数才能是有效的,才有可能获得有效的门限签名。
当存在不参与签名的节点时,将所述密钥参数碎片传输给所述多方节点中的其他节点,可以将密钥参数碎片传输至多发节点中的每个节点,不参与签名的节点在收到该参数碎片后丢弃。或者,如果本机节点知道哪些节点参加计算,只将密钥参数碎片传输至参加签名计算的节点,其他不参与签名的节点不发。
在一个可行的实施例中,所述密钥参数包括第一密钥参数和第二密钥参数。两个密钥参数共同确定一个最终的密钥参数,只有两个密钥参数均正确的条件下,才能得到正确的最终密钥参数。相较于一个密钥参数,安全性更高。
S320、获取根据各节点的密钥参数碎片生成的密钥参数。
其中,密钥参数是根据本机节点生成自身的密钥参数碎片以及从其他的多方节点处获取密钥参数碎片经过设定的运算得到的。
S330、根据所述密钥参数封装形成所述待签名消息的门限签名结果。
其中,密钥参数封装可以是按照设定的签名数据结构进行封装。在一可行实施例中,可选的,所述待签名消息的签名结果用于作为事务数据存储至区块链中。
本申请实施例的技术方案,通过根据由各个节点生成的密钥参数碎片得到的密钥参数,再结合门限签名技术,完成了对待签名消息的门限签名。本申请实施例只需满足门限数量要求,无需所有节点参与签名,即可完成对待签名消息的签名,从而降低了区块链的计算工作量,降低了成本,本申请实施例通过交换密钥参数碎片的方式,根据获取到的密钥参数碎片生成密钥参数,而后据此生成签名。实现了分布式的密钥参数生成,不必依赖于中心节点生成,从而提高了签名的安全度。
图4A是根据本申请实施例提供的又一种基于密钥的门限签名方法的流程示意图。本实施例是在上述实施例的基础上提出的一种可选方案。具体的,对于生成第一密钥参数的过程以及生成第二密钥参数的过程进行细化。参见图4A,本实施例提供的基于密钥的门限签名方法包括:
S410、采用本机节点的私钥对待签名消息进行签名,以产生第一密钥参数碎片,将所述第一密钥参数碎片传输给所述多方节点中的其他节点。
实际参与签名的本机节点j根据自身私钥Pj对待签名自消息M进行签名,以得到一个第一密钥参数碎片Rj。本机节点将第一密钥参数碎片Rj传输至其他多方节点。
值得注意的是,并非多方节点中的每个节点都参与某次签名,即会有节点不参与签名。因此,实际签名的节点数小于等于多方节点数。当存在不参与签名的节点时,可以将所述第一密钥参数碎片传输给所述多方节点中的其他节点,可以将密钥参数碎片传输至多发节点中的每个节点,不参与签名的节点在收到该第一密钥参数碎片后丢弃。或者,如果本机节点知道哪些节点参加计算,只将第一密钥参数碎片传输至参加签名计算的节点,不发给其他不参与签名的节点。
在一可行实施例中,可选的,如图4B所示,采用本机节点的私钥对待签名消息进行签名,以产生第一密钥参数碎片包括:根据本机节点j的私钥Pj和所述待签名消息M,进行哈希计算,以得到哈希特征值Hj;将所述哈希特征值Hj转换为数字参数Kj;根据所述数字参数Kj和所述设定椭圆曲线的基点G,计算所述第一密钥参数碎片Rj。图4B中是以3个节点为例进行说明,其中节点2不参与签名。
根据本机节点的私钥和所述待签名消息,进行哈希计算,即利用哈希函数对本机节点的私钥和所述待签名消息进行计算。哈希函数是一种“压缩函数”,利用哈希函数可以把任意长度的输入经由散列函数算法变换成固定长度的输出,输出的即为哈希特征值。
根据哈希特征值和椭圆曲线基点的方法计算第一密钥参数碎片,提高了第一密钥参数碎片计算速度,提高了第一密钥参数碎片计算的安全性能。
可选的,本机节点的私钥是由本申请实施例所提供的密钥生成方法所生成的。
S420、获取所述多方节点中其他节点各自产生并传输的第一密钥参数碎片,将获取的其他节点的第一密钥参数碎片进行累加,以生成第一密钥参数。
多个多方节点相配合,利用从其他节点获取的其他节点的第一密钥参数碎片Rj进行累加,生成第一密钥参数R。各个实际参与节点将收到的所有的第一密钥参数碎片进行累加计算,得到第一密钥参数。
这样做可以隐藏实际签名参与节点的信息,具有更强的隐私性。
S430、根据本机节点的节点编号、以及获取到第一密钥参数碎片的其他节点的节点编号,计算生成本机节点第一本地秘密的偏离值。
偏离值是指各个节点第一本地秘密相对于所有节点的第一本地秘密之和的偏离系数。本机节点可以根据自己的节点编号,以及获取到第一密钥参数碎片的其他节点(表明这些节点实际参与签名)的节点编号,基于对各个节点多项式的插值计算来确定本机节点第一本地秘密的偏离值。偏离值的计算过程与第一本地秘密按照所述多方节点的数量以及设定门限签名阈值进行切分的过程相对应。
具体的,每个节点j的第一本地秘密Xj转换后的大整数乘以偏离值,累加求和,得到的是通过所有点(x,sum(y))的多项式f(x)所代表的曲线,特别是N=2时曲线退化为直线。f(x)实际上为所有节点各自多项式,f1(x),f2(x),……fw(x)之和,在每个节点不知道其他多项式参数时,可基于各多项式之和来求取各个第一本地秘密的偏离系数。当x=0时f(x)的值是所有参与节点所保管的第一本地秘密对应大整数之和,其中,x代表第一本地秘密的编号,y代表第一本地秘密转换的大整数乘以偏离系数的值,sum(y)是所有节点第一本地秘密的大整数乘以偏离系数之和。偏离值即作为第一本地秘密Xj在第二密钥参数碎片Sj中的偏离系数,不同节点的偏离系数不同。为了求取偏离值,可通过拉格朗日插值公式(Lagrangeinterpolation formula)来获得插值基函数(Lagrange base polynomial)。
本机节点和本机能获得第一密钥参数碎片的其他节点,都是实际参与签名的节点,本机节点能通过接收第一密钥参数碎片来获得所有参与签名的节点编号。根据这些节点编号,若参与签名节点的数量大于或等于N,则基于拉格朗日插值公式能正确计算得到f(x)的公式参数。若参与签名节点的数量小于N,则计算得到的f(x)公式参数错误,得到偏离值后,基于此偏离值得到的签名结果将无法满足签名验证的条件。实际计算时,并不需要获得每个基多项式,可只获得每个基多项式当x=0时的值,即常数项的系数作为偏离值。
例如,三个节点中,若第1个节点和第3个节点参与签名,第2个节点未参与签名,则可获得两个点的x、y值,如下:
点1是(x=1,sum(秘密X1的秘密碎片X11的y值+秘密X2的秘密碎片X21的y值+秘密X3的秘密碎片X31的y值))
点3是(x=3,sum(秘密X1的秘密碎片13的y值+秘密X2的秘密碎片X23的y值+秘密X3的秘密碎片X33的y值))。
基于上述两点可确定f(x)和偏离值。
S440、采用本机节点的私钥对所述待签名消息、所述偏离值、所述公钥和所述第一密钥参数进行签名,以产生第二密钥参数碎片。
可选的,如图4C(图4C中以节点1的计算过程为例进行说明)所示,采用本机节点的私钥对所述待签名消息、所述偏离值、所述公钥和所述第一密钥参数进行签名,以产生第二密钥参数碎片包括:
按照如下公式产生所述第二密钥参数碎片:
Sj = Kj + HASH(C,R,M) * Coef(j) * Pj
其中,所述Sj为节点j产生的第二密钥参数碎片,Kj为节点j的数字参数,C为所述公钥,R为所述第一密钥参数,M为所述待签名消息,HASH(C,R,M)对所述公钥C、所述第一密钥参数R和所述待签名消息M进行哈希计算的结果,所述Pj为节点j的私钥,Coef(j)为节点j的偏离值。
第二密钥参数碎片是在第一密钥参数的基础上产生的,只有在第一密钥参数正确的情况下,才可以得到正确的第二密钥参数碎片,提高第二密钥计算的安全性,此外,第二密钥碎片的计算过程中还考虑偏离值,使得第二密钥碎片的计算更准确。
S450、将所述第二密钥参数碎片传输给所述多方节点中的其他节点,以供所述其他节点根据获取到的各第二密钥参数碎片进行累加计算,以产生第二密钥参数。
其中,本机节点为实际参与此次签名的节点。将第二密钥参数碎片传输给所述多方节点中的其他节点,具体是可以分别传输给每个节点,或者,首个实际参与节点将自己的第二密钥参数碎片发送给另一个实际参与节点,然后依次传递。
可选的,最后一个实际参与节点将收到的所有的第二密钥参数碎片进行累加计算,得到第二密钥参数,如图4B所示。再将该第二密钥参数向其他多方节点广播。
在一可行实施例中,可选的,将所述第二密钥参数碎片传输给所述多方节点中的其他节点包括:
将所述第二密钥参数碎片,按照设定传输顺序,依次传输给所述多方节点中的其他节点,以指示获取到第二密钥参数碎片的节点进行第二密钥参数碎片的累加计算,直至产生所述第二密钥参数。其中,所述设定传输顺序可以为节点编号顺序。
将第二密钥参数碎片按照设定顺序传输,可有效提高第二密钥的传输效率和生成效率,方便对于第二密钥参数进行管理。
S460、获取所述其他节点返回的所述第二密钥参数。
根据多方节点产生的第二密钥参数碎片确定第二密钥参数,实现了分布式的密钥参数生成,不必依赖于中心节点生成第二密钥参数,从而提高了第二密钥参数生成的安全性。
S470、根据所述密钥参数封装形成所述待签名消息的门限签名结果。
在本实施例中,密钥参数具体是第一密钥参数R和第二密钥参数S。
本申请实施例的技术方案,通过去中心化的多方签名方法计算第一密钥参数和第二密钥参数,再根据密钥参数形成所述待签名消息的门限签名结果。多个多方节点相配合,最终得到一个签名,这样做可以隐藏实际签名参与节点的信息,这样得到的签名的安全性更高,不易被篡改。根据获取到的密钥参数碎片生成密钥参数,而后据此生成签名。实现了分布式的密钥参数生成,不必依赖于中心节点生成,从而提高了签名的安全度。
图5是根据本申请实施例提供的一种基于密钥的门限签名验签方法的流程示意图。本实施例可适用于对本申请任一实施例所述密钥生成方法所生成的非对称密钥进行门限签名验签的情况,从而提高门限签名验签的安全性。本实施例公开的基于密钥的门限签名验签方法可以由基于密钥的门限签名验签装置来执行,该装置可以由软件和/或硬件的方式实现,配置于电子设备中。参见图5,本实施例提供的基于密钥的门限签名验签方法包括:
S510、获取待验签消息和签名结果;其中,所述签名结果采用本申请任一实施例所述的基于密钥的门限签名方法进行签名。
其中,所述待验签消息可以为基于区块链网络协议发起的事务请求,或者也可以为其他采用门限签名的消息内容。签名结果即为节点根据自身产生的私钥,采用本申请任一实施例所述的基于密钥的门限签名方法进行签名,得到的签名结果。
S520、采用所述公钥对所述签名结果进行签名验证。
其中,公钥是多方节点根据所述第一本地秘密生成验证值以及其他多方节点中其他节点传输的验证值,基于设定椭圆曲线的基点生成非对称密钥对的公钥。例如,公钥是在区块网络中公示的,各个区块节点均可获得。
在一个可行的实施例中,按照如下公式计算待验证签名参数:
Rv = SG – eC;
其中,所述Rv为待验证签名参数,S为所述签名结果中第二密钥参数,G是设定椭圆曲线的基点,C是所述公钥,e = HASH(C,R,M),R为第一密钥参数,M为待验签消息;
如果所述待验证签名参数Rv和所述第一密钥参数R匹配,则签名结果验证通过。例如,Rv==R,表明两者匹配。
本申请实施例根据基于密钥的门限签名过程中产生的第一密钥参数和第二密钥参数完成对签名结果的签名验证,保证了验证过程的安全性及可信性。
其中,第一密钥参数是本申请实施例提供的基于密钥的门限签名方法中产生的,具体的,是本机节点的私钥对待验签消息进行签名,产生的第一密钥参数碎片和多方节点中其他节点传输的第一密钥参数碎片进行累加得到的。如果所述待验证签名参数和所述第一密钥参数匹配,则签名结果验证通过,表明待验签消息是真实可信的。如果所述待验证签名参数和所述第一密钥参数不匹配,则签名结果验证失败,表明待验签消息的真实性有待商榷。
在一个可行的实施例中,其中,获取待验签消息和签名结果包括:在区块链的事务数据验证过程中,获取所述待验签消息和签名结果。
在区块链系统中,当节点发起事务请求时,可能需要多方节点对该事务请求进行处理,处理过程则可能进行多方签名,以保证该处理过程和结果得到了多方节点的认可。而后,处理后的事务数据上传至区块链中进行存储。当需要从区块链中查询该事务数据,或该事务数据被再次引用时,则可能需要验证该事务数据的真实性,即是否得到了多方节点的认可,由此,需要多方节点进行签名验证。需要进行多方前面的事务请求可能有多种,例如,对同一个账户内资金的转移处理,可能需要该账户所属多个持有人中设定数量持有人的同意。
本申请实施例的技术方案,通过获取待验签消息和签名结果,采用所述公钥对所述签名结果进行签名验证,完成了对基于密钥的门限签名的验签,验证了待验签消息的真实性和有效性,并且在验证签名的过程中,无法获知哪个节点参与了签名,具有一定的匿名性。本申请实施例提供的基于密钥的门限签名验签方法与本申请实施例提供的基于密钥的门限签名方法相配合,有效地保证了区块链的事务数据验证过程的安全性及可信性。
图6是根据本申请实施例提供的密钥生成装置的结构示意图。参见图6,本申请实施例公开了密钥生成装置600,该装置600可以包括:
秘密碎片生成模块610,用于确定本机节点的第一本地秘密,将所述第一本地秘密按照所述多方节点的数量切分为秘密碎片,将各所述秘密碎片一一对应的传输给所述多方节点中的每个节点;
公私钥生成模块620,用于获取所述多方节点中其他节点各自切分并传输的秘密碎片,并根据获取的所述多方节点各自的秘密碎片生成非对称密钥对的私钥和公钥。
可选的,秘密碎片生成模块610,包括:
本地秘密生成第一子模块,用于基于随机数,按照设定生成算法生成一个字节数组或数字,作为所述第一本地秘密;或
本地秘密生成第二子模块,用于根据用户设置的助记词,按照设定恢复算法生成一个字节数组或数字,作为所述第一本地秘密。
可选的,秘密碎片生成模块610,包括:
秘密碎片切分子模块,用于按照所述多方节点的数量以及设定门限签名阈值,将所述第一本地秘密切分为秘密碎片;其中,所述设定门限签名阈值为需参与门限签名的节点数量下限值;
秘密碎片传输子模块,用于将各所述秘密碎片,按照所述秘密碎片被切分时确定的碎片编号和所述多方节点的节点编号,分别传输给所述多方节点中的每个节点;其中,每个节点中记录的节点编号与节点的对应关系相同
可选的,公私钥生成模块620,包括:
第二本地秘密生成子模块,用于将获取的所述多方节点各自的秘密碎片进行累加,作为第二本地秘密;
整数转换子模块,用于将所述第二本地秘密转换为设定精度整数;
私钥生成子模块,用于基于设定椭圆曲线,将所述设定精度整数转换为所述设定椭圆曲线上的私钥。
可选的,公私钥生成模块620,包括:
验证值生成子模块,用于根据所述第一本地秘密生成验证值,并传输给所述多方节点中的每个节点;
公钥生成子模块,用于获取所述多方节点中其他节点各自生成并传输的验证值,并根据获取的所述多方节点各自的验证值,基于所述设定椭圆曲线的基点生成非对称密钥对的公钥。
可选的,所述多方节点为区块链网络中用于处理设定业务或归属于设定组织的多个节点。
本申请实施例所提供的密钥生成装置可执行本申请任意实施例所提供的密钥生成方法,具备执行密钥生成方法相应的功能模块和有益效果。
图7是根据本申请实施例提供的一种基于密钥的门限签名装置的结构示意图。参见图7,本申请实施例公开了基于密钥的门限签名装置700,该装置配置于多方节点中的任一节点中,所述密钥为本申请任意实施例所提供的密钥生成装置所生成的非对称密钥对,该装置700可以包括:
密钥参数碎片生成模块710,用于采用本机节点的私钥对待签名消息进行签名,以产生密钥参数碎片,将所述密钥参数碎片传输给所述多方节点中的其他节点;
密钥参数获取模块720,用于获取根据各节点的密钥参数碎片生成的密钥参数;
门限签名结果形成模块730,用于根据所述密钥参数封装形成所述待签名消息的门限签名结果。
本申请实施例的技术方案,通过根据由各个节点生成的密钥参数碎片得到的密钥参数,再结合门限签名技术,完成了对待签名消息的门限签名。本申请实施例只需满足门限数量要求,无需所有节点参与签名,即可完成对待签名消息的签名,从而降低了区块链的计算工作量,降低了成本,本申请实施例通过交换密钥参数碎片的方式,根据获取到的密钥参数碎片生成密钥参数,而后据此生成签名。实现了分布式的密钥参数生成,不必依赖于中心节点生成,从而提高了签名的安全度。
可选的,所述密钥参数包括第一密钥参数和第二密钥参数,则密钥参数碎片生成模块710,包括:
第一密钥参数碎片传输子模块,用于采用本机节点的私钥对待签名消息进行签名,以产生第一密钥参数碎片,将所述第一密钥参数碎片传输给所述多方节点中的其他节点;
第一密钥参数生成子模块,用于获取所述多方节点中其他节点各自产生并传输的第一密钥参数碎片,将获取的其他节点的第一密钥参数碎片进行累加,以生成第一密钥参数;
相应的,密钥参数碎片生成模块710,还包括第二密钥参数生成模块;
其中,第二密钥参数生成模块,包括:
偏离值计算子模块,用于根据本机节点的节点编号、以及获取到第一密钥参数碎片的其他节点的节点编号,计算生成本机节点第一本地秘密的偏离值;
第二密钥参数碎片生成子模块,用于采用本机节点的私钥对所述待签名消息、所述偏离值、所述公钥和所述第一密钥参数进行签名,以产生第二密钥参数碎片;
第二密钥参数碎片传输子模块,用于将所述第二密钥参数碎片传输给所述多方节点中的其他节点,以供所述其他节点根据获取到的各第二密钥参数碎片进行累加计算,以产生第二密钥参数;
第二密钥参数获取子模块,用于获取所述其他节点返回的所述第二密钥参数。
可选的,第一密钥参数碎片传输子模块,包括:
哈希计算单元,用于根据本机节点的私钥和所述待签名消息,进行哈希计算,以得到哈希特征值;
哈希特征值转换单元,用于将所述哈希特征值转换为数字参数;
第一密钥参数碎片计算单元,用于根据所述数字参数和所述设定椭圆曲线的基点,计算所述第一密钥参数碎片。
可选的,第二密钥参数碎片生成子模块,包括:
第二密钥参数碎片计算单元,用于按照如下公式产生所述第二密钥参数碎片:
Sj = Kj + HASH(C,R,M) * Coef(j) * Pj
其中,所述Sj为节点j产生的第二密钥参数碎片,Kj为节点j的数字参数,C为所述公钥,R为所述第一密钥参数,M为所述待签名消息,HASH(C,R,M)对所述公钥C、所述第一密钥参数R和所述待签名消息M进行哈希计算的结果,所述Pj为节点j的私钥,Coef(j)为节点j的偏离值。
可选的,第二密钥参数碎片生成子模块,包括:
第二密钥参数碎片处理单元,用于将所述第二密钥参数碎片,按照设定传输顺序,依次传输给所述多方节点中的其他节点,以指示获取到第二密钥参数碎片的节点进行第二密钥参数碎片的累加计算,直至产生所述第二密钥参数。
可选的,所述设定传输顺序为节点编号顺序。
可选的,生成所述密钥参数的密钥参数碎片的数量大于或等于设定门限签名阈值。
可选的,所述多方节点为区块链网络中用于处理设定业务或归属于设定组织的多个节点;
所述待签名消息为基于区块链网络协议发起的事务请求;
所述待签名消息的签名结果用于作为事务数据存储至区块链中。
本申请实施例所提供的基于密钥的门限签名装置可执行本申请任意实施例所提供的基于密钥的门限签名方法,具备执行基于密钥的门限签名方法相应的功能模块和有益效果。
图8是根据本申请实施例提供的一种基于密钥的门限签名验签装置的结构示意图。参见图8,本申请实施例公开了基于密钥的门限签名装置800,该装置配置于多方节点中的任一节点中,所述密钥为本申请任意实施例所提供的密钥生成装置所生成的非对称密钥对,该装置800可以包括:
签名结果获取模块810,用于获取待验签消息和签名结果;其中,所述签名结果采用本申请任一实施例所述的基于密钥的门限签名装置进行签名;
签名验证模块820,用于采用所述公钥对所述签名结果进行签名验证。
本申请实施例的技术方案,通过获取待验签消息和签名结果,采用所述公钥对所述签名结果进行签名验证,完成了对基于密钥的门限签名的验签,验证了待待验签消息的真实性和有效性。本申请实施例提供的基于密钥的门限签名验签方法与本申请实施例提供的基于密钥的门限签名方法相配合,有效地保证了区块链的事务数据验证过程的安全性及可信性。
可选的,签名验证模块820,包括:
验证签名参数计算子模块,用于按照如下公式计算待验证签名参数:
Rv = SG – eC;
其中,所述Rv为待验证签名参数,S为所述签名结果中第二密钥参数,G是设定椭圆曲线的基点,C是所述公钥,e = HASH(C,R,M),R为第一密钥参数,M为待验签消息;
参数匹配子模块,用于如果所述待验证签名参数和所述第一密钥参数匹配,则签名结果验证通过。
可选的,签名结果获取模块810,包括:
待验签消息和签名结果获取子模块,用于在区块链的事务数据验证过程中,获取所述待验签消息和签名结果。
本申请实施例所提供的基于密钥的门限签名验签装置可执行本申请任意实施例所提供的基于密钥的门限签名验签方法,具备执行基于密钥的门限签名验签方法相应的功能模块和有益效果。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图9所示,是根据本申请实施例的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其他适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其他类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图9所示,该电子设备包括:一个或多个处理器910、存储器920,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其他方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其他实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器910为例。
存储器920即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请实施例所提供的密钥生成的方法,或执行本申请实施例所提供的基于密钥的门限签名方法,或执行本申请实施例所提供的基于密钥的门限签名验签方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的密钥生成的方法,或执行本申请实施例所提供的基于密钥的门限签名方法,或执行本申请实施例所提供的基于密钥的门限签名验签方法。
存储器920作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的密钥生成的方法对应的程序指令/模块(例如,附图6所示的秘密碎片生成模块610和公私钥生成模块620),或如本申请实施例中的基于密钥的门限签名方法对应的程序指令/模块(例如,附图7所示的密钥参数碎片生成模块710、密钥参数获取模块720和门限签名结果形成模块730),或如本申请实施例中的基于密钥的门限签名验签方法对应的程序指令/模块(例如,附图8所示的签名结果获取模块810和签名验证模块820)。处理器910通过运行存储在存储器920中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用,即实现上述方法实施例所提供的方法。
存储器920可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器920可以包括高速随机存储存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器920可选包括相对于处理器910远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
该电子设备还可以包括:输入装置930和输出装置940。处理器910、存储器920、输入装置930和输出装置940可以通过总线或者其他方式连接,图9中以通过总线连接为例。
输入装置930可接收输入的数字或字符信息,以及电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置940可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其他种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
本申请实施例的技术方案,通过确定本机节点的第一本地秘密,将所述第一本地秘密按照所述多方节点的数量切分为秘密碎片,再将各节点秘密碎片进行交换,再根据获取的秘密碎片生成非对称密钥对的私钥和公钥,从而实现了分布式的密钥生成,整个密钥的生成过程不必依赖于中心节点,各个节点的完整秘密信息均不会被一个节点获知,进而提高了密钥生成的安全性和隐私性。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (36)

1.一种密钥生成方法,由多方节点中的任一节点执行,所述方法包括:
确定本机节点的第一本地秘密,将所述第一本地秘密按照所述多方节点的数量切分为秘密碎片,将各所述秘密碎片一一对应的传输给所述多方节点中的每个节点;
获取所述多方节点中其他节点各自切分并传输的秘密碎片,并根据获取的所述多方节点各自的秘密碎片生成非对称密钥对的私钥和公钥。
2.根据权利要求1所述的方法,其中,确定本机节点的第一本地秘密包括:
基于随机数,按照设定生成算法生成一个字节数组或数字,作为所述第一本地秘密;或
根据用户设置的助记词,按照设定恢复算法生成一个字节数组或数字,作为所述第一本地秘密。
3.根据权利要求1所述的方法,其中,将所述第一本地秘密按照所述多方节点的数量切分为秘密碎片,将各所述秘密碎片一一对应的传输给所述多方节点中的每个节点包括:
按照所述多方节点的数量以及设定门限签名阈值,将所述第一本地秘密切分为秘密碎片;其中,所述设定门限签名阈值为需参与门限签名的节点数量下限值;
将各所述秘密碎片,按照所述秘密碎片被切分时确定的碎片编号和所述多方节点的节点编号,分别传输给所述多方节点中的每个节点;其中,每个节点中记录的节点编号与节点的对应关系相同。
4.根据权利要求1所述的方法,其中,根据获取的所述多方节点各自的秘密碎片生成非对称密钥对的私钥包括:
将获取的所述多方节点各自的秘密碎片进行累加,作为第二本地秘密;
将所述第二本地秘密转换为设定精度整数;
基于设定椭圆曲线,将所述设定精度整数转换为所述设定椭圆曲线上的私钥。
5.根据权利要求1或4所述的方法,其中,根据获取的所述多方节点各自的秘密碎片生成非对称密钥对的公钥包括:
根据所述第一本地秘密生成验证值,并传输给所述多方节点中的每个节点;
获取所述多方节点中其他节点各自生成并传输的验证值,并根据获取的所述多方节点各自的验证值,基于设定椭圆曲线的基点生成非对称密钥对的公钥。
6.根据权利要求1所述的方法,其中:
所述多方节点为区块链网络中用于处理设定业务或归属于设定组织的多个节点。
7.一种基于密钥的门限签名方法,由多方节点中的任一节点执行,所述密钥为权利要求1-6任一所述密钥生成方法所生成的非对称密钥对,所述方法包括:
采用本机节点的私钥对待签名消息进行签名,以产生密钥参数碎片,将所述密钥参数碎片传输给所述多方节点中的其他节点;
获取根据各节点的密钥参数碎片生成的密钥参数;
根据所述密钥参数封装形成所述待签名消息的门限签名结果。
8.根据权利要求7所述的方法,其中,所述密钥参数包括第一密钥参数和第二密钥参数,则生成第一密钥参数的过程包括:
采用本机节点的私钥对待签名消息进行签名,以产生第一密钥参数碎片,将所述第一密钥参数碎片传输给所述多方节点中的其他节点;
获取所述多方节点中其他节点各自产生并传输的第一密钥参数碎片,将获取的其他节点的第一密钥参数碎片进行累加,以生成第一密钥参数;
相应的,生成第二密钥参数的过程包括:
根据本机节点的节点编号、以及获取到第一密钥参数碎片的其他节点的节点编号,计算生成本机节点第一本地秘密的偏离值;
采用本机节点的私钥对所述待签名消息、所述偏离值、所述公钥和所述第一密钥参数进行签名,以产生第二密钥参数碎片;
将所述第二密钥参数碎片传输给所述多方节点中的其他节点,以供所述其他节点根据获取到的各第二密钥参数碎片进行累加计算,以产生第二密钥参数;
获取所述其他节点返回的所述第二密钥参数。
9.根据权利要求7或8所述的方法,其中,采用本机节点的私钥对待签名消息进行签名,以产生第一密钥参数碎片包括:
根据本机节点的私钥和待签名消息,进行哈希计算,以得到哈希特征值;
将所述哈希特征值转换为数字参数;
根据所述数字参数和设定椭圆曲线的基点,计算所述第一密钥参数碎片。
10.根据权利要求8所述的方法,其中,采用本机节点的私钥对所述待签名消息、所述偏离值、所述公钥和所述第一密钥参数进行签名,以产生第二密钥参数碎片包括:
按照如下公式产生所述第二密钥参数碎片:
Sj = Kj + HASH(C,R,M) * Coef(j) * Pj
其中,所述Sj为节点j产生的第二密钥参数碎片,Kj为节点j的数字参数,C为所述公钥,R为所述第一密钥参数,M为所述待签名消息,HASH(C,R,M)对所述公钥C、所述第一密钥参数R和所述待签名消息M进行哈希计算的结果,所述Pj为节点j的私钥,Coef(j)为节点j的偏离值。
11.根据权利要求8所述的方法,其中,将所述第二密钥参数碎片传输给所述多方节点中的其他节点包括:
将所述第二密钥参数碎片,按照设定传输顺序,依次传输给所述多方节点中的其他节点,以指示获取到第二密钥参数碎片的节点进行第二密钥参数碎片的累加计算,直至产生所述第二密钥参数。
12.根据权利要求11所述的方法,其中,所述设定传输顺序为节点编号顺序。
13.根据权利要求7所述的方法,其中,生成所述密钥参数的密钥参数碎片的数量大于或等于设定门限签名阈值。
14.根据权利要求7所述的方法,其中:
所述多方节点为区块链网络中用于处理设定业务或归属于设定组织的多个节点;
所述待签名消息为基于区块链网络协议发起的事务请求;
所述待签名消息的签名结果用于作为事务数据存储至区块链中。
15.一种基于密钥的门限签名验签方法,由多方节点中的任一节点执行,所述密钥为权利要求1-6任一所述密钥生成方法所生成的非对称密钥对,所述方法包括:
获取待验签消息和签名结果;其中,所述签名结果采用权利要求7-14任一所述的基于密钥的门限签名方法进行签名;
采用所述公钥对所述签名结果进行签名验证。
16.根据权利要求15所述的方法,其中,采用所述公钥对所述签名结果进行签名验证包括:
按照如下公式计算待验证签名参数:
Rv = SG – eC;
其中,所述Rv为待验证签名参数,S为所述签名结果中第二密钥参数,G是设定椭圆曲线的基点,C是所述公钥,e = HASH(C,R,M),R为第一密钥参数,M为待验签消息;
如果所述待验证签名参数和所述第一密钥参数匹配,则签名结果验证通过。
17.根据权利要求15所述的方法,其中,获取待验签消息和签名结果包括:
在区块链的事务数据验证过程中,获取所述待验签消息和签名结果。
18.一种密钥生成的装置,配置于多方节点中的任一节点中,所述装置包括:
秘密碎片生成模块,用于确定本机节点的第一本地秘密,将所述第一本地秘密按照所述多方节点的数量切分为秘密碎片,将各所述秘密碎片一一对应的传输给所述多方节点中的每个节点;
公私钥生成模块,用于获取所述多方节点中其他节点各自切分并传输的秘密碎片,并根据获取的所述多方节点各自的秘密碎片生成非对称密钥对的私钥和公钥。
19.根据权利要求18所述的装置,其中,秘密碎片生成模块,包括:
本地秘密生成第一子模块,用于基于随机数,按照设定生成算法生成一个字节数组或数字,作为所述第一本地秘密;或
本地秘密生成第二子模块,用于根据用户设置的助记词,按照设定恢复算法生成一个字节数组或数字,作为所述第一本地秘密。
20.根据权利要求18所述的装置,其中,秘密碎片生成模块,包括:
秘密碎片切分子模块,用于按照所述多方节点的数量以及设定门限签名阈值,将所述第一本地秘密切分为秘密碎片;其中,所述设定门限签名阈值为需参与门限签名的节点数量下限值;
秘密碎片传输子模块,用于将各所述秘密碎片,按照所述秘密碎片被切分时确定的碎片编号和所述多方节点的节点编号,分别传输给所述多方节点中的每个节点;其中,每个节点中记录的节点编号与节点的对应关系相同。
21.根据权利要求18所述的装置,其中,公私钥生成模块,包括:
第二本地秘密生成子模块,用于将获取的所述多方节点各自的秘密碎片进行累加,作为第二本地秘密;
整数转换子模块,用于将所述第二本地秘密转换为设定精度整数;
私钥生成子模块,用于基于设定椭圆曲线,将所述设定精度整数转换为所述设定椭圆曲线上的私钥。
22.根据权利要求18或21所述的装置,其中,公私钥生成模块,包括:
验证值生成子模块,用于根据所述第一本地秘密生成验证值,并传输给所述多方节点中的每个节点;
公钥生成子模块,获取所述多方节点中其他节点各自生成并传输的验证值,并根据获取的所述多方节点各自的验证值,基于设定椭圆曲线的基点生成非对称密钥对的公钥。
23.根据权利要求18所述的装置,其中:
所述多方节点为区块链网络中用于处理设定业务或归属于设定组织的多个节点。
24.一种基于密钥的门限签名装置,配置于多方节点中的任一节点中,所述密钥为权利要求18-23任一所述密钥生成装置所生成的非对称密钥对,所述装置包括:
密钥参数碎片生成模块,用于采用本机节点的私钥对待签名消息进行签名,以产生密钥参数碎片,将所述密钥参数碎片传输给所述多方节点中的其他节点;
密钥参数获取模块,用于获取根据各节点的密钥参数碎片生成的密钥参数;
门限签名结果形成模块,用于根据所述密钥参数封装形成所述待签名消息的门限签名结果。
25.根据权利要求24所述的装置,其中,所述密钥参数包括第一密钥参数和第二密钥参数,则密钥参数碎片生成模块,包括:
第一密钥参数碎片传输子模块,用于采用本机节点的私钥对待签名消息进行签名,以产生第一密钥参数碎片,将所述第一密钥参数碎片传输给所述多方节点中的其他节点;
第一密钥参数生成子模块,用于获取所述多方节点中其他节点各自产生并传输的第一密钥参数碎片,将获取的其他节点的第一密钥参数碎片进行累加,以生成第一密钥参数;
相应的,密钥参数碎片生成模块,还包括第二密钥参数生成模块;
其中,第二密钥参数生成模块,包括:
偏离值计算子模块,用于根据本机节点的节点编号、以及获取到第一密钥参数碎片的其他节点的节点编号,计算生成本机节点第一本地秘密的偏离值;
第二密钥参数碎片生成子模块,用于采用本机节点的私钥对所述待签名消息、所述偏离值、所述公钥和所述第一密钥参数进行签名,以产生第二密钥参数碎片;
第二密钥参数碎片传输子模块,用于将所述第二密钥参数碎片传输给所述多方节点中的其他节点,以供所述其他节点根据获取到的各第二密钥参数碎片进行累加计算,以产生第二密钥参数;
第二密钥参数获取子模块,用于获取所述其他节点返回的所述第二密钥参数。
26.根据权利要求24或25所述的装置,其中,第一密钥参数碎片传输子模块,包括:
哈希计算单元,用于根据本机节点的私钥和待签名消息,进行哈希计算,以得到哈希特征值;
哈希特征值转换单元,用于将所述哈希特征值转换为数字参数;
第一密钥参数碎片计算单元,用于根据所述数字参数和设定椭圆曲线的基点,计算所述第一密钥参数碎片。
27.根据权利要求25所述的装置,其中,第二密钥参数碎片生成子模块,包括:
第二密钥参数碎片计算单元,用于按照如下公式产生所述第二密钥参数碎片:
Sj = Kj + HASH(C,R,M) * Coef(j) * Pj
其中,所述Sj为节点j产生的第二密钥参数碎片,Kj为节点j的数字参数,C为所述公钥,R为所述第一密钥参数,M为所述待签名消息,HASH(C,R,M)对所述公钥C、所述第一密钥参数R和所述待签名消息M进行哈希计算的结果,所述Pj为节点j的私钥,Coef(j)为节点j的偏离值。
28.根据权利要求25所述的装置,其中,第二密钥参数碎片生成子模块,包括:
第二密钥参数碎片处理单元,用于将所述第二密钥参数碎片,按照设定传输顺序,依次传输给所述多方节点中的其他节点,以指示获取到第二密钥参数碎片的节点进行第二密钥参数碎片的累加计算,直至产生所述第二密钥参数。
29.根据权利要求28所述的装置,其中,所述设定传输顺序为节点编号顺序。
30.根据权利要求24所述的装置,其中,生成所述密钥参数的密钥参数碎片的数量大于或等于设定门限签名阈值。
31.根据权利要求24所述的装置,其中:
所述多方节点为区块链网络中用于处理设定业务或归属于设定组织的多个节点;
所述待签名消息为基于区块链网络协议发起的事务请求;
所述待签名消息的签名结果用于作为事务数据存储至区块链中。
32.一种基于密钥的门限签名验签装置,配置于多方节点中的任一节点中,所述密钥为权利要求18-23任一所述密钥生成装置所生成的非对称密钥对,所述装置包括:
签名结果获取模块,用于获取待验签消息和签名结果;其中,所述签名结果采用权利要求24-31任一所述的基于密钥的门限签名装置进行签名;
签名验证模块,用于采用所述公钥对所述签名结果进行签名验证。
33.根据权利要求32所述的装置,其中,签名验证模块,包括:
验证签名参数计算子模块,用于按照如下公式计算待验证签名参数:
Rv = SG – eC;
其中,所述Rv为待验证签名参数,S为所述签名结果中第二密钥参数,G是设定椭圆曲线的基点,C是所述公钥,e = HASH(C,R,M),R为第一密钥参数,M为待验签消息;
参数匹配子模块,用于如果所述待验证签名参数和所述第一密钥参数匹配,则签名结果验证通过。
34.根据权利要求32所述的装置,其中,签名结果获取模块,包括:
待验签消息和签名结果获取子模块,用于在区块链的事务数据验证过程中,获取待验签消息和签名结果。
35.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的密钥生成方法,或执行权利要求7-14中任一项所述的基于密钥的门限签名方法,或执行权利要求15-17中任一项所述的基于密钥的门限签名验签方法。
36.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的密钥生成方法,或执行权利要求7-14中任一项所述的基于密钥的门限签名方法,或执行权利要求15-17中任一项所述的基于密钥的门限签名验签方法。
CN202011091696.5A 2020-10-13 2020-10-13 密钥生成方法、签名和验签方法、装置、设备和介质 Active CN111934889B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011091696.5A CN111934889B (zh) 2020-10-13 2020-10-13 密钥生成方法、签名和验签方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011091696.5A CN111934889B (zh) 2020-10-13 2020-10-13 密钥生成方法、签名和验签方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN111934889A CN111934889A (zh) 2020-11-13
CN111934889B true CN111934889B (zh) 2021-02-26

Family

ID=73334445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011091696.5A Active CN111934889B (zh) 2020-10-13 2020-10-13 密钥生成方法、签名和验签方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN111934889B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112751667B (zh) * 2020-12-29 2023-03-14 北京百度网讯科技有限公司 密钥生成方法、签名和验签方法、装置、设备和介质
CN112737777B (zh) * 2020-12-29 2023-01-10 北京百度网讯科技有限公司 基于密钥的门限签名和验签方法、装置、设备和介质
CN112799636B (zh) * 2021-04-14 2021-08-27 北京百度网讯科技有限公司 随机数生成方法、装置、设备和存储介质
EP4333365A1 (en) * 2021-04-29 2024-03-06 Digital Currency Institute, The People's Bank of China Digital certificate management method and apparatus
CN113037489B (zh) * 2021-05-25 2021-08-27 北京百度网讯科技有限公司 数据处理方法、装置、设备和存储介质
CN113434905B (zh) * 2021-07-05 2022-11-15 网易(杭州)网络有限公司 数据传输方法、装置、计算机设备及存储介质
CN114329635B (zh) * 2022-03-04 2022-06-21 杭州字节方舟科技有限公司 基于多方安全计算的隐私签名方法和计算机系统
CN114615282B (zh) * 2022-05-10 2022-08-23 富算科技(上海)有限公司 多方安全计算方法、电子设备及可读存储介质
CN114647662B (zh) * 2022-05-13 2022-08-23 富算科技(上海)有限公司 数据检索方法、装置、电子设备、存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103595793A (zh) * 2013-11-13 2014-02-19 华中科技大学 一种无需可信第三方支持的云端数据安全删除系统与方法
CN109617699A (zh) * 2019-01-16 2019-04-12 北京沃东天骏信息技术有限公司 一种密钥生成方法、区块链网络服务平台及存储介质
CN110289968A (zh) * 2019-06-27 2019-09-27 矩阵元技术(深圳)有限公司 私钥恢复、协同地址的创建、签名方法及装置、存储介质
CN110363528A (zh) * 2019-06-27 2019-10-22 矩阵元技术(深圳)有限公司 协同地址的生成、交易签名方法及装置、存储介质
CN110752924A (zh) * 2019-10-30 2020-02-04 四川长虹电器股份有限公司 一种基于安全多方计算的密钥安全管理方法
CN111130808A (zh) * 2020-03-26 2020-05-08 杭州智块网络科技有限公司 一种用于区块链的跨链资产映射方法及系统
CN111639361A (zh) * 2020-05-15 2020-09-08 中国科学院信息工程研究所 一种区块链密钥管理方法、多人共同签名方法及电子装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9705683B2 (en) * 2014-04-04 2017-07-11 Etas Embedded Systems Canada Inc. Verifiable implicit certificates
KR102549272B1 (ko) * 2016-05-17 2023-06-30 한국전자통신연구원 패스워드와 id 기반 서명을 이용한 인증 키 합의 방법 및 장치

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103595793A (zh) * 2013-11-13 2014-02-19 华中科技大学 一种无需可信第三方支持的云端数据安全删除系统与方法
CN109617699A (zh) * 2019-01-16 2019-04-12 北京沃东天骏信息技术有限公司 一种密钥生成方法、区块链网络服务平台及存储介质
CN110289968A (zh) * 2019-06-27 2019-09-27 矩阵元技术(深圳)有限公司 私钥恢复、协同地址的创建、签名方法及装置、存储介质
CN110363528A (zh) * 2019-06-27 2019-10-22 矩阵元技术(深圳)有限公司 协同地址的生成、交易签名方法及装置、存储介质
CN110752924A (zh) * 2019-10-30 2020-02-04 四川长虹电器股份有限公司 一种基于安全多方计算的密钥安全管理方法
CN111130808A (zh) * 2020-03-26 2020-05-08 杭州智块网络科技有限公司 一种用于区块链的跨链资产映射方法及系统
CN111639361A (zh) * 2020-05-15 2020-09-08 中国科学院信息工程研究所 一种区块链密钥管理方法、多人共同签名方法及电子装置

Also Published As

Publication number Publication date
CN111934889A (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
CN111934889B (zh) 密钥生成方法、签名和验签方法、装置、设备和介质
CN111934890B (zh) 密钥生成方法、签名和验签方法、装置、设备和介质
CN107078910B (zh) 生成区块链区块的方法、装置、节点、签名设备及系统
CN108769150B (zh) 区块链网络的数据处理方法、装置、集群节点和存储介质
CN110351096B (zh) 多重签名方法、签名中心、程序介质及电子设备
CN112600678B (zh) 一种数据处理方法、装置、设备及存储介质
AU2021204543B2 (en) Digital signature method, signature information verification method, related apparatus and electronic device
WO2022183998A1 (zh) 一种数据处理方法、装置、设备及存储介质
KR20200125980A (ko) 디지털 자산의 제어를 전송하기 위한 컴퓨터 구현된 방법 및 시스템
CN102724211A (zh) 一种密钥协商方法
CN113765662B (zh) 一种基于sm2算法的签名及解密方法和系统
CN112417489B (zh) 数字签名的生成方法、装置和服务器
CN113098691A (zh) 数字签名方法、签名信息的验证方法、相关装置及电子设备
CN112436938A (zh) 数字签名的生成方法、装置和服务器
CN113939821A (zh) 用于在工作量证明区块链网络上进行非并行挖掘的系统和方法
CN116349203A (zh) 识别拒绝服务攻击
Zhao et al. Weakly secure coded distributed computing
CN112751667B (zh) 密钥生成方法、签名和验签方法、装置、设备和介质
CN112737777B (zh) 基于密钥的门限签名和验签方法、装置、设备和介质
CN111147254B (zh) 两方协同的EdDSA数字签名生成方法和装置
CN111030823A (zh) 超轻量级多次签名的数据处理方法、系统、物联网平台
CN113824546B (zh) 用于生成信息的方法和装置
Yu et al. Certificateless broadcast multi-signature for network coding
CN117478335A (zh) 无证书协同签名方法、装置、介质和电子设备
CN115811395A (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