CN114157431A - 基于多变量签名方法的区块链交易处理方法及计算机设备 - Google Patents
基于多变量签名方法的区块链交易处理方法及计算机设备 Download PDFInfo
- Publication number
- CN114157431A CN114157431A CN202111256644.3A CN202111256644A CN114157431A CN 114157431 A CN114157431 A CN 114157431A CN 202111256644 A CN202111256644 A CN 202111256644A CN 114157431 A CN114157431 A CN 114157431A
- Authority
- CN
- China
- Prior art keywords
- signature
- multivariate
- private key
- public key
- multivariate 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 102
- 238000003672 processing method Methods 0.000 title claims abstract description 31
- 238000012795 verification Methods 0.000 claims abstract description 36
- 238000013507 mapping Methods 0.000 claims description 68
- 239000000052 vinegar Substances 0.000 claims description 65
- 230000002441 reversible effect Effects 0.000 claims description 40
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 36
- 230000009466 transformation Effects 0.000 claims description 36
- 235000021419 vinegar Nutrition 0.000 claims description 33
- 230000000739 chaotic effect Effects 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 20
- 238000013329 compounding Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000005336 cracking Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 19
- 238000004422 calculation algorithm Methods 0.000 description 13
- 239000011159 matrix material Substances 0.000 description 10
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请公开了一种基于多变量签名方法的区块链交易处理方法,该方法包括:获取区块链用户发起的交易内容,根据交易内容生成对应的交易信息并对其进行哈希运算,得到第一哈希值;根据所述区块链用户持有的私钥构造多变量签名的私钥和公钥;采用多变量签名的私钥对所述第一哈希值进行签名,将交易信息和对应签名整合成一条交易记录广播到区块链上;所述交易记录中还包括多变量签名的公钥;区块链上的共识节点采用多变量签名的公钥对收到的交易记录进行验签操作,并存储验签成功的交易记录;本发明采用多变量签名方法对区块链中的交易或者区块体进行签名,能够抵抗量子计算机的破解攻击,具有很高的安全性。
Description
技术领域
本申请涉及区块链技术领域,更具体地,涉及一种基于多变量签名方法的区块链交易处理方法及计算机设备。
背景技术
区块链具有“不可伪造”、“全程留痕”、“可以追溯”、“公开透明”、“集体维护”等特征,近年来受到了人们广泛的关注和研究,并以爆发式的发展速度,应用到社会各个领域。同时伴随而来的是,针对区块链的恶意攻击现象也随之增加,使区块链面临着数据损坏、篡改、泄露等风险,以及随着数据增大、应用增加,区块链的效率也有待提高,因此如何提高区块链的安全性能和运行效率,一直是人们研究的重点。
随着量子计算机的出现,将会对传统的基于整数分解和离散对数问题的公钥密码体制的安全性造成致命的威胁。现有的绝大多数公钥密码算法(RSA、 Diffie-Hellman、椭圆曲线等)能够被足够大和稳定的量子计算机攻破,而椭圆曲线密码方案还被广泛应用于现有的区块链签名系统中(比如比特币目前使用的ECDSA签名算法与建议的Schnorr签名算法,都属于椭圆曲线数字签名算法,它们使用的椭圆曲线都是secp256k1;以太坊的数字签名方案几乎完全沿用了比特币的数字签名算法ECDSA-secp256k1,只在哈希的生成方式有所不同),只有可以抵抗量子计算机攻击的密码算法才能在量子计算和其之后时代存活下来。
自从1988年Matsumoto和Imai提出了一个具有里程碑意义的MI多变量公钥方案之后,多变量公钥密码体制(Multivariate Public Key Cryptosystem, MPKC)的设计与安全性分析逐渐成为了密码学研究的热点之一。如今多变量公钥密码体制被认为是有望抵制量子计算机攻击的一种公钥密码体制,其安全性基于求解有限域上的非线性多变量方程组,而这个问题被证明是一个NP困难问题。目前,量子计算机在解决NP困难问题方面还未能表现出特殊的优势。现阶段MPKC体制已逐渐成熟,尤其是其签名方案。
由于区块链系统中有许多场景需要进行签名及验签操作,并且对运行速度和安全性有较高的要求,因此对区块链系统采用多变量签名方案但是,目前尚未见针对区块链的多变量签名的技术方案出现。
发明内容
针对现有技术的至少一个缺陷或改进需求,本发明提供了一种基于多变量签名方法的区块链交易处理方法及计算机设备,其目的在于提高区块链系统交易处理的安全性和运行速度。
为实现上述目的,按照本发明的第一个方面,提供了一种基于多变量签名方法的区块链交易处理方法,该方法包括:
获取区块链用户发起的交易内容,根据交易内容生成对应的交易信息并对其进行哈希运算,得到第一哈希值;
根据所述区块链用户持有的私钥构造多变量签名的私钥和公钥;
采用所述多变量签名的私钥对所述第一哈希值进行签名,将交易信息和对应签名整合成一条交易记录广播到区块链上;所述交易记录中还包括多变量签名的公钥;
区块链上的共识节点采用所述多变量签名的公钥对收到的交易记录进行验签操作,并存储验签成功的交易记录。
优选的,上述基于多变量签名方法的区块链交易处理方法,根据所述区块链用户持有的私钥构造多变量签名的私钥和公钥,包括:
对区块链用户持有的私钥进行哈希运算,得到第二哈希值;
采用所述第二哈希值作为干预条件,从混沌映射系统中迭代生成多变量签名的随机系数;
根据所述随机系数构造多变量签名的私钥和公钥。
优选的,上述基于多变量签名方法的区块链交易处理方法,采用所述第二哈希值作为干预条件,从混沌映射系统中迭代生成随机系数,具体为:
根据所述第二哈希值设定所述混沌映射系统的迭代次数或初值,将生成的混沌数作为多变量签名的随机系数。
优选的,上述基于多变量签名方法的区块链交易处理方法,所述多变量签名采用油醋多变量签名方法;
根据所述区块链用户持有的私钥构造多变量签名的私钥和公钥,包括:
根据油变量、醋变量和多阶有限域构造油醋二次多项式;
构造中心映射,所述中心映射由多条油醋二次多项式组合而成;
根据所述区块链用户持有的私钥随机生成可逆仿射变换,所述可逆仿射变换和中心映射组成多变量签名的私钥;
将中心映射与可逆仿射变换进行复合,得到公钥映射;所述公钥映射和多阶有限域组成多变量签名的公钥。
优选的,上述基于多变量签名方法的区块链交易处理方法,采用所述多变量签名的私钥对所述第一哈希值进行签名,包括:
将第一哈希值进行分段,使得每段哈希值对应的十进制值与所述多阶有限域内的元素值相匹配;
将分段后的第一哈希值和随机选取的一组醋变量代入中心映射中,求得对应的油变量;
将所述油变量和随机选取的一组醋变量代入可逆仿射变换中,求得对分段后的第一哈希值的签名结果。
优选的,上述基于多变量签名方法的区块链交易处理方法,区块链上的共识节点采用所述多变量签名的公钥对收到的交易记录进行验签操作,包括:
对所述交易记录中的交易信息进行哈希运算,将生成的哈希值进行分段处理,得到十进制表示的第三哈希值;
将所述第三哈希值和第一哈希值的签名结果代入公钥映射中,进行签名验证。
优选的,上述基于多变量签名方法的区块链交易处理方法,所述区块链上的共识节点采用所述多变量签名的公钥对收到的交易记录进行验签操作之后,还执行:
区块链上的共识节点对交易记录进行正确性和合法性验证,若全部无误则存储这条交易记录。
按照本发明的第二个方面,提供了另一种基于多变量签名方法的区块链交易处理方法,应用于区块链中的节点,该方法包括:
区块链中获得记账权的节点将存储的一个或多个交易记录整合成一个区块体并对所述区块体进行哈希运算,得到第四哈希值;
根据所述获得记账权的节点持有的私钥构造多变量签名的私钥和公钥;
采用所述多变量签名的私钥对所述第四哈希值进行签名,并把区块体和对应签名整合成一个新区块广播到区块链上;所述新区块中还包括多变量签名的公钥;
区块链上的共识节点采用所述公钥对收到的新区块和对应签名进行验签操作,并存储验签成功的新区块。
优选的,上述基于多变量签名方法的区块链交易处理方法,根据所述获得记账权的节点持有的私钥构造多变量签名的私钥和公钥,包括:
对获得记账权的节点持有的私钥进行哈希运算,得到第五哈希值;
采用所述第五哈希值作为干预条件,从混沌映射系统中迭代生成多变量签名的随机系数;
根据所述随机系数构造多变量签名的私钥和公钥。
优选的,上述基于多变量签名方法的区块链交易处理方法,采用所述第五哈希值作为干预条件,从混沌映射系统中迭代生成随机系数,具体为:
根据所述第五哈希值设定所述混沌映射系统的迭代次数或初值,将生成的混沌数作为多变量签名的随机系数。
优选的,上述基于多变量签名方法的区块链交易处理方法,所述多变量签名采用油醋多变量签名方法;
根据所述获得记账权的节点持有的私钥构造多变量签名的私钥和公钥,包括:
根据油变量、醋变量和多阶有限域构造油醋二次多项式;
构造中心映射,所述中心映射由多条油醋二次多项式组合而成;
根据所述获得记账权的节点持有的私钥随机生成可逆仿射变换,所述可逆仿射变换和中心映射组成多变量签名的私钥;
将中心映射与可逆仿射变换进行复合,得到公钥映射;所述公钥映射和多阶有限域组成多变量签名的公钥。
优选的,上述基于多变量签名方法的区块链交易处理方法,采用所述多变量签名的私钥对所述第四哈希值进行签名,包括:
将第四哈希值进行分段,使得每段哈希值对应的十进制值与所述多阶有限域内的元素值相匹配;
将分段后的第四哈希值和随机选取的一组醋变量代入中心映射中,求得对应的油变量;
将所述油变量和随机选取的一组醋变量代入可逆仿射变换中,求得对分段后的第四哈希值的签名结果。
优选的,上述基于多变量签名方法的区块链交易处理方法,区块链上的共识节点采用所述公钥对收到的新区块和对应签名进行验签操作,包括:
对所述新区块进行哈希运算,将生成的哈希值进行分段处理,得到十进制表示的第六哈希值;
将所述第六哈希值和第四哈希值的签名结果代入公钥映射中,进行签名验证。
优选的,上述基于多变量签名方法的区块链交易处理方法,所述区块链上的共识节点采用所述多变量签名的公钥对收到的新区块和对应签名进行验签操作之后,还执行:
对新区块内包含的交易记录逐一进行验签及交易合规验证,若都无误则认可该新区块并进行存储。
优选的,上述基于多变量签名方法的区块链交易处理方法,区块链上的共识节点采用所述多变量签名的公钥对收到的交易记录或新区块进行验签的操作在FPGA芯片上完成。
按照本发明的第三个方面,提供了一种计算机设备,其包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述计算机程序被所述处理单元执行时,使得所述处理单元执行上述任一项所述基于多变量签名方法的区块链交易处理方法的步骤。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明提供的区块链交易处理方法,采用多变量签名方法对区块链中的交易或者区块体进行签名,多变量签名方法能够抵抗量子计算机的破解攻击,具有很高的安全性;并且多变量签名方法中的公钥私钥并非完全随机生成,而是与区块链用户或者区块链记账节点持有的私钥相关联,如此,区块链用户或者区块链记账节点无需保持大量随机生成的私钥系数,一旦丢失也可以通过自身持有的私钥找回,提高了区块链交易的安全性。
(2)本发明提供的区块链交易处理方法,利用FPGA硬件加速保证区块链系统中验签过程的执行速度;由于FPGA芯片电路逻辑配置内容可以在线升级,因此能够即时更新多变量签名方法的各项参数。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本实施例提供的一种基于多变量签名方法的区块链交易处理方法的流程示意图;
图2为交易信息在区块链中的加工过程的示意简图;
图3为对交易信息进行签名形成交易记录的示意图;
图4为本实施例提供的另一种基于多变量签名方法的区块链交易处理方法;
图5为新区块在区块链中生成过程的示意简图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
本发明中多变量签名方法的使用场景主要包括以下两种:第一种是区块链用户对自己的交易信息进行签名,第二种是区块链中的记账节点对自己生成的新区块进行签名。由于本发明的重点在于多变量签名方法在区块链中的应用,因此对区块链系统中与签名方法关联性不强的机制不作详细说明。
图1是本实施例提供的一种基于多变量签名方法的区块链交易处理方法的流程示意图,图2是交易信息的加工过程的示意简图;参见图1、2,该方法包括:
S11获取区块链用户发起的交易内容,根据交易内容生成对应的交易信息并对其进行哈希运算,得到第一哈希值;
本实施例中,用户(通过客户端)发起交易,客户端接收该交易,并根据交易内容生成对应的交易信息并进行哈希运算,得到交易信息对应的第一哈希值。客户端采用可接入区块链系统的PC、平板电脑或手机等移动终端设备。
在一个具体示例中,客户端对交易信息进行SHA256哈希运算;首先,将交易信息按照长度分为N个512bit的消息块,每个消息块分成16个32bit的字标记为M(i)0,M(i)1,M(i)2,…,M(i)15,然后对这N个消息块依次进行迭代处理,最后将得到的8个32bit字的哈希值H(N)0,H(N)1,H(N)2,…,H(N)7 串联起来即可得到256bit的第一哈希值H。
当然,本领域技术人员可以理解,客户端对交易信息执行的哈希运算并不局限于SHA256哈希算法,也可以采用其他哈希算法,区别在于最终得到的第一哈希值H的长度不同。
S12根据所述区块链用户持有的私钥构造多变量签名的私钥和公钥;
区别于传统方案,本实施例采用多变量公钥密码体制对交易信息进行签名。不论是多变量公钥密码还是椭圆曲线数字签名算法等传统公钥密码算法,均使用匹配的一对公钥和私钥才能完成对明文的加密和解密过程,一般私钥由用户保管,公钥公开发布在区块链中;而公钥和私钥的形成需要使用一定数量的随机参数,如果多变量签名的私钥完全随机生成,那么就失去了与用户的关联性,同时用户需要保存大量随机生成的私钥系数,如果丢失则不容易恢复。
为此,本实施例中采取了根据区块链用户持有的私钥来构造多变量签名的私钥和公钥的方案,以区块链用户持有的私钥作为随机系数或者生成随机系数来构造多变量签名的私钥和公钥,建立区块链用户持有的私钥与多变量签名的私钥和公钥之间的关联性。
作为一种实施方式,根据区块链用户持有的私钥来生成随机系数,该随机系数按照约定方式来构造多变量签名的私钥和公钥;具体的:
首先,对区块链用户持有的私钥进行哈希运算,得到第二哈希值;
其次,采用所述第二哈希值作为干预条件,从混沌映射系统中迭代生成多变量签名的随机系数;例如:根据所述第二哈希值设定所述混沌映射系统的迭代次数或初值,将生成的混沌数作为多变量签名的随机系数。
本实施例中,混沌映射系统可以采用Logistic映射、Singer映射、Sine映射、Gussian映射等,但是不局限于此;本领域技术人员可以根据需求自行选用合适的混沌映射算法。
下面以采用Logistic映射为例对根据区块链用户持有的私钥生成多变量签名的随机系数的过程进行详细说明。
一般来说,用户私钥由256位的二进制串组成,记为私钥S。
对私钥S进行哈希运算,得到用户私钥的第二哈希值HS。
使用logistic混沌映射函数来随机生成用于多变量签名私钥的随机系数;如下所示:
Xi+1=μXi(1-Xi)i=1,2,3...
其中,μ∈(3.5699,4],X1∈(0,1),为随机选取的参数。
在本例中,我们让i=HS,即用私钥S的第二哈希值HS来确定logistic混沌映射函数从第几次迭代开始生成随机系数,采用随机系数构造多变量签名的私钥。这样,用户只需要保存μ和X1两个参数就可以随时生成或找回其多变量签名的私钥。
进一步的,由于logistic混沌映射函数生成的系数都是小于1的小数,而多变量签名方法中的随机系数都是有限域中的整数,即服从所有系数需要modq (如本例中,q=16)。所以,在随机系数生成完后,还需要对这些系数进行变换。
如在本例中,logistic混沌映射函数以float类型变量进行计算,生成系数后再截取小数点后6位,最后取模。
比如,假设当前计算出的Xi+1=0.83524560000,
那么截取小数点后6位Xi+1=835245,
最后取模Xi+1=835245mod 16=13,
从而生成符合要求的随机系数。
本领域技术人员可以理解,如果所采用的混沌映射算法可直接生成有限域中的整数,则无需执行上述转换过程。
最后,根据所述随机系数构造多变量签名的私钥和公钥。
本实施例中,多变量签名采用油醋多变量签名方法;基于此,首先根据区块链用户持有的私钥来生成随机系数,继而根据该随机系数来构造油醋多变量签名的私钥和公钥。在油醋多变量签名方案中,需要使用油变量、醋变量、多阶有限域、可逆仿射变换等多个参数来构造签名所用的私钥和公钥;而前述根据区块链用户持有的私钥生成的随机系数可以被应用于油变量、醋变量、多阶有限域、可逆仿射变换中任意一个或多个参数的生成过程中。
作为一个具体的示例,本实施例采用前述随机系数来生成可逆仿射变换、进而生成油醋多变量签名的私钥和公钥的方式,本领域技术人员可以理解,对于由区块链用户持有的私钥生成的随机系数的应用并不局限于此。基于该具体示例,根据由区块链用户持有的私钥生成的随机系数构造油醋多变量签名的私钥和公钥的过程具体包括:
根据油变量、醋变量和多阶有限域构造油醋二次多项式;
构造中心映射,所述中心映射由多条油醋二次多项式组合而成;
根据所述区块链用户持有的私钥生成随机系数,然后基于该随机系数生成可逆仿射变换,所述可逆仿射变换和中心映射组成多变量签名的私钥;由于油醋多变量签名中的可逆仿射变换由一个n阶可逆矩阵和一个n阶向量组成,优选的,本示例采用由区块链用户持有的私钥生成的随机系数来填充n阶可逆矩阵,进而生成可逆仿射变换。
将中心映射与可逆仿射变换进行复合,得到公钥映射;所述公钥映射和多阶有限域组成多变量签名的公钥。
S13采用所述多变量签名的私钥对所述第一哈希值进行签名,将交易信息和对应签名整合成一条交易记录广播到区块链上;所述交易记录中还包括多变量签名的公钥;
本实施例中,客户端(区块链用户)生成油醋多变量签名的私钥和公钥后,采用油醋多变量签名的私钥对第一哈希值进行签名,具体包括:
将第一哈希值进行分段,使得每段哈希值对应的十进制值与所述多阶有限域内的元素值相匹配;
将分段后的第一哈希值和随机选取的一组醋变量代入中心映射中,求得对应的油变量;
将所述油变量和随机选取的一组醋变量代入可逆仿射变换中,求得对分段后的第一哈希值的签名结果。
S14区块链上的共识节点采用所述多变量签名的公钥对收到的至少一个交易记录进行验签操作,并存储验签成功的交易记录。
本实施例中,客户端将整合后的交易记录广播到区块链上,区块链上的共识节点接收交易记录,根据交易记录中包含的油醋多变量签名的公钥对交易记录进行验签操作,包括:
对所述交易记录中的一个或多个交易信息进行哈希运算,将生成的哈希值进行分段处理,得到十进制表示的第三哈希值;
将所述第三哈希值和第一哈希值的签名结果代入公钥映射中,进行签名验证。
下面,结合经典的油醋多变量签名方法中公钥私钥的具体生成过程对本方案作进一步详细说明。
其中,(x1,...,xo)称为油变量,称为醋变量,油醋多项式中的系数都是在有限域内随机生成的,若o和v的数量一样,则为平衡油醋方案,否则为非平衡油醋方案。为了进一步保证签名方案的安全性,区块链系统实际采用的通常是非平衡油醋方案或多层非平衡油醋方案。本例中为了方便理解,以平衡油醋方案为例进行说明。
在本例中,设q=24,那么q阶有限域k内的元素值为(0,1,2,…,15),在有限域内的各项运算可以通过取模使得结果保持在0到15之间;
在签名之前,对大小是256bit的第一哈希值H进行分段,分成64段(即 o=64),每段长度为4bit,即使得每段所对应的十进制值也在0到15之间,设分成64段且每段用十进制值表示的第一哈希值为H1=(y′1,...,y′o)。如果在第一哈希值中取一段16bit的数值(11011111 0011 0101),那么可以分成4段,分别为(1101,1111,0011,0101),各段对应的十进制值分别为(13,15,3,5)。
2)设v=64,n=o+v=128,构造中心映射F:kn→ko;油醋多变量签名方法的中心映射由多条油醋多项式组成,其具体结构如下所示:
那么随机生成一个fi的样例如下:
fi=10x1x65+3x1x67+...+7x4x70+...4x65x66+15x78x128+...+8x1+...+2x65+...+8
3)对中心映射F进行隐藏。为了增强中心映射F的保密性,油醋多变量签名方法的私钥由中心映射F和随机生成的可逆仿射变换L两部分组成。向中心映射F复合上一个可逆仿射变换L,可以隐藏中心映射F的结构,并得出公钥映射其具体计算方法如下所示:
其中,L是随机生成的可逆仿射变换,由一个n阶可逆矩阵和一个n阶向量组成,对多项式做仿射变换相当于将该多项式乘以一个可逆矩阵之后加上一个向量;o符号表示仿射变换运算。
由前述可知,油醋多变量签名方法的私钥由中心映射F和可逆仿射变换L 两部分组成。其中,中心映射F由多个油醋多项式构成,生成相应数量的系数填充多项式系数即可。可逆仿射变换L由一个n阶可逆矩阵和一个n阶向量组成,n阶向量生成n个系数填充即可,n阶可逆矩阵的生成方法如下所示:
首先生成一个n阶单位对角矩阵,比如n=3:
本实施例采用步骤S12中logistic混沌映射函数生成的随机系数填满n阶单位对角矩阵的右上角,如对3阶矩阵,需要生成3个系数来填满,设为a1、 a2、a3。
上述过程中,只要设定好了o和v,油醋多变量签名私钥的所有系数数量也都是可确定的,只需要依次生成即可。
得到的(z1,...,zn)就是对分段后的第一哈希值H1的签名结果。
6)在以上签名过程中,私钥包括可逆仿射变换L和中心映射F,由用户(或用户使用的区块链节点)保管,用于对第一哈希值H1进行签名;公钥包括有限域k以及其加法和乘法的结构、公钥映射用户的公钥是公开发布的,区块链的共识节点可以从交易记录中获取,用于对签名进行验证。
7)将交易信息和对应签名整合成一条交易记录广播到区块链上,如图3所示,油醋多变量签名的公钥也包含在交易记录中被广播到区块链上,区块链上的共识节点用收到的公钥对其交易记录进行验签操作,具体过程如下:
共识节点对交易记录中的交易信息同样进行SHA256哈希运算,并对该哈希值进行分段,得到用十进制表示的第三哈希值H2=(w′1,...,w′o)。
除了本实施例使用的油醋多变量签名方案之外,多变量公钥密码系统还包括彩虹(Rainbow)签名方案以及其他双极型系统(Bipolar System)签名方案,以上方案均可用于本申请中的区块链签名。本实施例仅以经典的油醋多变量签名为例,来展示根据区块链用户持有的私钥来构造多变量签名的私钥和公钥的一般过程,可以理解,本实施例提供的根据区块链用户持有的私钥来生成随机系数,进而构造多变量签名的私钥和公钥的方法同样可以被应用到其他类型的多变量签名方案之中,进而对区块链用户的交易内容进行签名以及验签,区别仅在于多变量签名方案的公钥私钥的生成过程有所不同;但是多种多变量签名方案的具体算法过程不便于在本专利中一一展开说明,本方案的关键点之一在于根据区块链用户持有的私钥来构造多变量签名的私钥和公钥,建立用户持有的私钥与多变量签名的私钥之间关联性;然后基于该多变量签名的公钥私钥对用户交易进行签名和验签。
进一步的,在区块链上的共识节点采用所述多变量签名的公钥对收到的交易记录进行验签操作之后,还执行:
区块链上的共识节点对交易记录进行正确性和合法性验证,如验证交易者账户余额是否大于交易花销等;若全部无误则存储这条交易记录。
图4是本实施例提供的另一种基于多变量签名方法的区块链交易处理方法,应用于区块链中的节点,涉及区块链节点对新生成的区块进行签名及验签;图5 是新区块在区块链中生成过程的示意简图;参见图4、5,该方法包括:
S21区块链中获得记账权的节点将存储的一个或多个交易记录整合成一个区块体并对所述区块体进行哈希运算,得到第四哈希值;
一般来说,区块链系统中包括任意数目的区块链节点,该区块链节点可以是单独的实体计算设备或计算设备集群;区块链中的各节点需要通过特定的共识机制竞争记账权,只有获得记账权的共识节点(称为记账节点)才能将存储的交易记录整合成一个新区块。记账节点对由交易记录组成的区块体(区块体内包含记账节点的公钥)进行哈希运算,并用多变量签名方法对该哈希值进行签名,然后把区块体和对应签名整合成一个新区块(包含记账节点的公钥)广播到区块链上。与前述用户公私钥情况类似,记账节点的私钥由其自己保管,记账节点的公钥是公开发布的,区块链的其他节点可以从收到的新区块中获取。 S22根据所述获得记账权的节点持有的私钥构造多变量签名的私钥和公钥;
在一个可选的实施方式中,根据获得记账权的节点持有的私钥构造多变量签名的私钥和公钥,包括:
对记账节点持有的私钥进行哈希运算,得到第五哈希值;
采用所述第五哈希值作为干预条件,从混沌映射系统中迭代生成多变量签名的随机系数;在一个具体示例中,是根据所述第五哈希值设定所述混沌映射系统的迭代次数或初值,将生成的混沌数作为多变量签名的随机系数。
根据所述随机系数构造多变量签名的私钥和公钥。
本实施例中,多变量签名采用油醋多变量签名方法;基于此,根据记账节点持有的私钥生成随机系数,来构造多变量签名的私钥和公钥,包括:
根据油变量、醋变量和多阶有限域构造油醋二次多项式;
构造中心映射,所述中心映射由多条油醋二次多项式组合而成;
根据记账节点持有的私钥随机生成可逆仿射变换,所述可逆仿射变换和中心映射组成多变量签名的私钥;
将中心映射与可逆仿射变换进行复合,得到公钥映射;所述公钥映射和多阶有限域组成多变量签名的公钥。
S23采用所述多变量签名的私钥对所述第四哈希值进行签名,并把区块体和对应签名整合成一个新区块广播到区块链上;所述新区块中还包括多变量签名的公钥;具体包括:
将第四哈希值进行分段,使得每段哈希值对应的十进制值与所述多阶有限域内的元素值相匹配;
将分段后的第四哈希值和随机选取的一组醋变量代入中心映射中,求得对应的油变量;
将所述油变量和随机选取的一组醋变量代入可逆仿射变换中,求得对分段后的第四哈希值的签名结果。
S24区块链上的其他节点采用所述公钥对收到的新区块和对应签名进行验签操作,并存储验签成功的新区块。
本实施例中,区块链上的其他节点指代除记账节点之外的其他共识节点;验签操作具体包括:
对所述新区块进行哈希运算,将生成的哈希值进行分段处理,得到十进制表示的第六哈希值;
将所述第六哈希值和第四哈希值的签名结果代入公钥映射中,进行签名验证。
进一步的,区块链上的其他节点采用所述多变量签名的公钥对收到的新区块和对应签名进行验签操作之后还执行:
对新区块内包含的交易记录逐一进行验签及交易合规验证,若都无误则认可该新区块并进行存储。
由于上述使用多变量签名对新区块进行签名及验签的过程与前述对交易记录的操作过程一致,因此具体细节不在本部分一一赘述,可参阅前文的具体描述。
在一个优选的实施方式中,区块链上的共识节点采用多变量签名的公钥对收到的交易记录或新区块进行验签的操作在FPGA芯片上完成。为了实现对验签过程的硬件加速,每个区块链节点的矿机中都部署了可以执行多变量签名方法验签运算的FPGA芯片,从而快速计算出验签方法执行结果。多变量签名方法验签过程涉及的各种运算将通过共识节点中FPGA芯片内电路的执行来实现。此外,FPGA芯片电路逻辑配置内容可以在线升级,能够即时更新多变量签名方法的各项参数,以便实时适应区块链签名系统的各种更新。
应当注意,尽管在上述的实施例中,以特定顺序描述了本说明书实施例的方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本实施例还提供了一种计算机设备,其包括至少一个处理器、以及至少一个存储器,其中,存储器中存储有计算机程序,当计算机程序被处理器执行时,使得处理器执行上述基于多变量签名方法的区块链交易处理方法的步骤;本实施例中,处理器和存储器的类型不作具体限制,例如:处理器可以是微处理器、数字信息处理器、片上可编程逻辑系统等;存储器可以是易失性存储器、非易失性存储器或者它们的组合等。
该计算机设备也可以与一个或多个外部设备(如键盘、指向终端、显示器等) 通信,还可与一个或者多个使得用户能与该计算机设备交互的终端通信,和/或与使得该计算机设备能与一个或多个其它计算终端进行通信的任何终端(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口进行。并且,计算机设备还可以通过网络适配器与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网(Wide AreaNetwork,WAN)和/或公共网络,例如因特网)通信。
本实施例还提供了一种计算机可读介质,其存储有可由计算机设备执行的计算机程序,当所述计算机程序在计算机设备上运行时,使得所述计算机设备执行上述基于多变量签名方法的区块链交易处理方法的步骤。计算机可读介质的类型包括但不限于SD卡、U盘、固定硬盘、移动硬盘等存储介质。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于多变量签名方法的区块链交易处理方法,其特征在于,包括:
获取区块链用户发起的交易内容,根据交易内容生成对应的交易信息并对其进行哈希运算,得到第一哈希值;
根据所述区块链用户持有的私钥构造多变量签名的私钥和公钥;
采用所述多变量签名的私钥对所述第一哈希值进行签名,将交易信息和对应签名整合成一条交易记录广播到区块链上;所述交易记录中还包括多变量签名的公钥;
区块链上的共识节点采用所述多变量签名的公钥对收到的交易记录进行验签操作,并存储验签成功的交易记录。
2.根据权利要求1所述的基于多变量签名方法的区块链交易处理方法,其特征在于,根据所述区块链用户持有的私钥构造多变量签名的私钥和公钥,包括:
对区块链用户持有的私钥进行哈希运算,得到第二哈希值;
采用所述第二哈希值作为干预条件,从混沌映射系统中迭代生成多变量签名的随机系数;
根据所述随机系数构造多变量签名的私钥和公钥。
3.根据权利要求2所述的基于多变量签名方法的区块链交易处理方法,其特征在于,采用所述第二哈希值作为干预条件,从混沌映射系统中迭代生成随机系数,具体为:
根据所述第二哈希值设定所述混沌映射系统的迭代次数或初值,将生成的混沌数作为多变量签名的随机系数。
4.根据权利要求1-3任一项所述的基于多变量签名方法的区块链交易处理方法,其特征在于,所述多变量签名采用油醋多变量签名方法;
根据所述区块链用户持有的私钥构造多变量签名的私钥和公钥,包括:
根据油变量、醋变量和多阶有限域构造油醋二次多项式;
构造中心映射,所述中心映射由多条油醋二次多项式组合而成;
根据所述区块链用户持有的私钥随机生成可逆仿射变换,所述可逆仿射变换和中心映射组成多变量签名的私钥;
将中心映射与可逆仿射变换进行复合,得到公钥映射;所述公钥映射和多阶有限域组成多变量签名的公钥。
5.一种基于多变量签名方法的区块链交易处理方法,应用于区块链中的节点,其特征在于,还包括:
区块链中获得记账权的节点将存储的一个或多个交易记录整合成一个区块体并对所述区块体进行哈希运算,得到第四哈希值;
根据所述获得记账权的节点持有的私钥构造多变量签名的私钥和公钥;
采用所述多变量签名的私钥对所述第四哈希值进行签名,并把区块体和对应签名整合成一个新区块广播到区块链上;所述新区块中还包括多变量签名的公钥;
区块链上的共识节点采用所述多变量签名的公钥对收到的新区块和对应签名进行验签操作,并存储验签成功的新区块。
6.根据权利要求5所述的基于多变量签名方法的区块链交易处理方法,其特征在于,根据所述获得记账权的节点持有的私钥构造多变量签名的私钥和公钥,包括:
对获得记账权的节点持有的私钥进行哈希运算,得到第五哈希值;
采用所述第五哈希值作为干预条件,从混沌映射系统中迭代生成多变量签名的随机系数;
根据所述随机系数构造多变量签名的私钥和公钥。
7.根据权利要求6所述的基于多变量签名方法的区块链交易处理方法,其特征在于,采用所述第五哈希值作为干预条件,从混沌映射系统中迭代生成随机系数,具体为:
根据所述第五哈希值设定所述混沌映射系统的迭代次数或初值,将生成的混沌数作为多变量签名的随机系数。
8.根据权利要求5-7任一项所述的基于多变量签名方法的区块链交易处理方法,其特征在于,所述多变量签名采用油醋多变量签名方法;
根据所述获得记账权的节点持有的私钥构造多变量签名的私钥和公钥,包括:
根据油变量、醋变量和多阶有限域构造油醋二次多项式;
构造中心映射,所述中心映射由多条油醋二次多项式组合而成;
根据所述获得记账权的节点持有的私钥随机生成可逆仿射变换,所述可逆仿射变换和中心映射组成多变量签名的私钥;
将中心映射与可逆仿射变换进行复合,得到公钥映射;所述公钥映射和多阶有限域组成多变量签名的公钥。
9.根据权利要求1或5所述的基于多变量签名方法的区块链交易处理方法,其特征在于,区块链上的共识节点采用所述多变量签名的公钥对收到的交易记录或新区块进行验签的操作在FPGA芯片上完成。
10.一种计算机设备,其特征在于,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述计算机程序被所述处理单元执行时,使得所述处理单元执行权利要求1~4或5~8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111256644.3A CN114157431A (zh) | 2021-10-27 | 2021-10-27 | 基于多变量签名方法的区块链交易处理方法及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111256644.3A CN114157431A (zh) | 2021-10-27 | 2021-10-27 | 基于多变量签名方法的区块链交易处理方法及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114157431A true CN114157431A (zh) | 2022-03-08 |
Family
ID=80458439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111256644.3A Pending CN114157431A (zh) | 2021-10-27 | 2021-10-27 | 基于多变量签名方法的区块链交易处理方法及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114157431A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN206332680U (zh) * | 2016-10-10 | 2017-07-14 | 深圳职业技术学院 | 多变量数字签名装置 |
CN109150533A (zh) * | 2017-06-19 | 2019-01-04 | 深圳职业技术学院 | 一种uov签名的密钥恢复装置及方法 |
CN109672518A (zh) * | 2019-03-02 | 2019-04-23 | 西安邮电大学 | 抗量子攻击的区块链的节点数据处理 |
WO2019218919A1 (zh) * | 2018-05-15 | 2019-11-21 | 华为技术有限公司 | 区块链场景下的私钥管理方法、装置及系统 |
CN113360943A (zh) * | 2021-06-23 | 2021-09-07 | 京东数科海益信息科技有限公司 | 一种区块链隐私数据的保护方法及装置 |
WO2021189566A1 (zh) * | 2020-03-24 | 2021-09-30 | 数据通信科学技术研究所 | 一种发送方可查阅且第三方可监管的加密方法和装置 |
-
2021
- 2021-10-27 CN CN202111256644.3A patent/CN114157431A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN206332680U (zh) * | 2016-10-10 | 2017-07-14 | 深圳职业技术学院 | 多变量数字签名装置 |
CN109150533A (zh) * | 2017-06-19 | 2019-01-04 | 深圳职业技术学院 | 一种uov签名的密钥恢复装置及方法 |
WO2019218919A1 (zh) * | 2018-05-15 | 2019-11-21 | 华为技术有限公司 | 区块链场景下的私钥管理方法、装置及系统 |
CN109672518A (zh) * | 2019-03-02 | 2019-04-23 | 西安邮电大学 | 抗量子攻击的区块链的节点数据处理 |
WO2021189566A1 (zh) * | 2020-03-24 | 2021-09-30 | 数据通信科学技术研究所 | 一种发送方可查阅且第三方可监管的加密方法和装置 |
CN113360943A (zh) * | 2021-06-23 | 2021-09-07 | 京东数科海益信息科技有限公司 | 一种区块链隐私数据的保护方法及装置 |
Non-Patent Citations (1)
Title |
---|
朱淑芹;李俊青;葛广英;: "基于一个新的四维离散混沌映射的图像加密新算法", 计算机科学, no. 01, 15 January 2017 (2017-01-15), pages 188 - 193 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7499544B2 (en) | Use of isogenies for design of cryptosystems | |
US7912216B2 (en) | Elliptic curve cryptosystem optimization using two phase key generation | |
US7853014B2 (en) | Ring arithmetic method, system, and apparatus | |
US8145897B2 (en) | Direct anonymous attestation scheme with outsourcing capability | |
US8300811B2 (en) | Method and device for processing data | |
WO2021012574A1 (zh) | 多重签名方法、签名中心、介质及电子设备 | |
US8745376B2 (en) | Verifying implicit certificates and digital signatures | |
US8139765B2 (en) | Elliptical polynomial-based message authentication code | |
JP7206324B2 (ja) | 暗号アルゴリズム向けのワンタイムの中国剰余定理のべき乗のためのシステムおよび方法 | |
CN111541666B (zh) | 基于无证书且含隐私保护功能的云端数据完整性审计方法 | |
CN108269062A (zh) | 基于h5的电子合同制作方法、装置、设备及介质 | |
CN113098691B (zh) | 数字签名方法、签名信息的验证方法、相关装置及电子设备 | |
CN108880807A (zh) | 私钥签名处理方法、装置、设备和介质 | |
CN115840787B (zh) | 基于区块链的供应链数据共享方法、装置、设备及介质 | |
CN111512590A (zh) | 用于密码认证的同态加密 | |
Homoliak et al. | An air-gapped 2-factor authentication for smart-contract wallets | |
CN117235342A (zh) | 基于同态哈希函数和虚拟索引的动态云审计方法 | |
CN111262707B (zh) | 数字签名方法及验证方法、设备、存储介质 | |
US8325913B2 (en) | System and method of authentication | |
CN114282922A (zh) | 一种基于冷钱包的区块链交易处理方法及装置 | |
WO2023159849A1 (zh) | 一种数字签名方法、计算机设备及介质 | |
CN114157431A (zh) | 基于多变量签名方法的区块链交易处理方法及计算机设备 | |
US11616994B2 (en) | Embedding information in elliptic curve base point | |
US20140105386A1 (en) | Computing genus-2 curves using general isogenies | |
CN113806441A (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 |