CN114282922A - 一种基于冷钱包的区块链交易处理方法及装置 - Google Patents

一种基于冷钱包的区块链交易处理方法及装置 Download PDF

Info

Publication number
CN114282922A
CN114282922A CN202111592950.4A CN202111592950A CN114282922A CN 114282922 A CN114282922 A CN 114282922A CN 202111592950 A CN202111592950 A CN 202111592950A CN 114282922 A CN114282922 A CN 114282922A
Authority
CN
China
Prior art keywords
vinegar
signature
oil
hash value
private 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.)
Granted
Application number
CN202111592950.4A
Other languages
English (en)
Other versions
CN114282922B (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.)
Shanghai Zhaoxi Network Technology Co ltd
Zhengzhou Normal University
Original Assignee
Shanghai Zhaoxi Network Technology Co ltd
Zhengzhou Normal University
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 Shanghai Zhaoxi Network Technology Co ltd, Zhengzhou Normal University filed Critical Shanghai Zhaoxi Network Technology Co ltd
Priority to CN202111592950.4A priority Critical patent/CN114282922B/zh
Publication of CN114282922A publication Critical patent/CN114282922A/zh
Application granted granted Critical
Publication of CN114282922B publication Critical patent/CN114282922B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请公开了一种基于冷钱包的区块链交易处理方法及装置,该方法包括:冷钱包根据用户持有的虚拟货币私钥构造多变量签名的私钥和公钥,冷钱包获取区块链用户发起的交易信息对应的第二哈希值,采用多变量签名的私钥对所述第二哈希值进行签名,并将签名结果反馈给区块链用户;区块链用户将交易信息和对应的签名结果整合成一条交易记录广播到区块链上;交易记录中还包括多变量签名的公钥,以供区块链上的挖矿节点采用公钥对收到的交易记录进行验签操作;本发明采用基于冷钱包的多变量签名方法对交易进行签名,能够抵抗量子计算机的破解攻击;多变量签名的私钥与用户的虚拟账户私钥关联,一旦丢失可以通过自身的私钥找回,提高了区块链交易的安全性。

Description

一种基于冷钱包的区块链交易处理方法及装置
技术领域
本申请涉及区块链技术领域,更具体地,涉及一种基于冷钱包的区块链交易处理方法及装置。
背景技术
虚拟货币钱包一般分成冷钱包与热钱包两种。热钱包是指在线钱包,它是始终连接着网络的,能够快速地为虚拟货币持有者提供存取服务。而冷钱包则是离线硬件钱包,网络不能访问到区块链用户存储私钥的位置,它是非联网的钱包。因此,冷钱包可以免受黑客及病毒的袭击,确保私钥储存期间的绝对安全,是存储虚拟货币最安全的方式。
虽然冷钱包从物理层面隔离网络以保护用户私钥,但是如果采用的公钥数字签名方案不够安全,用户私钥一样存在被破解可能。现有的绝大多数公钥密码算法(RSA、Diffie-Hellman、椭圆曲线等)能够被足够大和稳定的量子计算机攻破,而椭圆曲线密码方案还被广泛应用于现有的区块链及相关冷钱包签名系统中(比如比特币及以太坊的数字签名方案都属于椭圆曲线数字签名算法),因此研发能够抵制量子计算机攻击的区块链冷钱包系统就十分必要。
多变量公钥密码体制被认为是有望抵制量子计算机攻击的一种公钥密码体制,其安全性基于求解有限域上的非线性多变量方程组,而这个问题被证明是一个NP困难问题。目前,量子计算机在解决NP困难问题方面还未能表现出特殊的优势。现阶段MPKC体制已逐渐成熟,尤其是其签名方案,但目前尚未见针对冷钱包的多变量签名方案出现。
发明内容
针对现有技术的至少一个缺陷或改进需求,本发明提供了一种基于冷钱包的区块链交易处理方法及装置,其目的在于提高区块链系统交易处理的安全性。
为实现上述目的,按照本发明的一个方面,提供了一种基于冷钱包的区块链交易处理方法,其包括:
冷钱包根据区块链用户持有的虚拟货币私钥构造多变量签名的私钥和公钥,包括:
对区块链用户持有的所述虚拟货币私钥进行哈希运算,得到第一哈希值;
采用所述第一哈希值作为干预条件,从混沌映射系统中迭代生成多变量签名的随机系数;根据所述随机系数构造多变量签名的私钥和公钥;
冷钱包获取区块链用户发起的交易信息对应的第二哈希值,采用所述多变量签名的私钥对所述第二哈希值进行签名,并将签名结果反馈给区块链用户;
区块链用户将交易信息和对应的签名结果整合成一条交易记录广播到区块链上;所述交易记录中还包括多变量签名的公钥,以供区块链上的挖矿节点采用所述公钥对收到的交易记录进行验签操作。
优选地,上述区块链交易处理方法,采用所述第一哈希值作为干预条件,从混沌映射系统中迭代生成随机系数,具体为:
根据所述第一哈希值设定所述混沌映射系统的迭代次数或初值,将生成的混沌数作为多变量签名的随机系数。
优选地,上述区块链交易处理方法,所述多变量签名为油醋多变量签名方法;采用油醋多变量签名方法对所述第二哈希值进行签名,包括:
根据油变量、醋变量和多阶有限域构造油醋二次多项式;
使用第一可逆仿射映射变换第二哈希值进行逆运算变换,得到第三哈希值;
构造中心映射,所述中心映射具有多层嵌套的油醋结构,每层所述油醋结构由多条油醋二次多项式组合而成;根据所述油醋结构的层数对所述第三哈希值进行分段,每段第三哈希值对应一层油醋结构;
随机选取一组醋变量,将所述醋变量以及与第一层油醋结构对应的第三哈希值代入中心映射的第一层油醋结构中,得到第一层油醋结构对应的油变量;
根据上一层油醋结构的醋变量和计算出的油变量构造当前层的醋变量,将当前层的醋变量与当前层油醋结构对应的第三哈希值代入中心映射的当前层油醋结构中,得到当前层油醋结构对应的油变量;
将最后一层油醋结构的醋变量和油变量组合,并使用第二可逆仿射映射变换对组合结果进行逆运算变换,得到第二哈希值的签名结果。
优选地,上述区块链交易处理方法,根据所述随机系数构造多变量签名的私钥和公钥,包括:
根据所述随机系数构造第一可逆仿射映射变换、油醋二次多项式、第二可逆仿射映射变换,所述第一可逆仿射映射变换、中心映射和第二可逆仿射映射变换组成多变量签名的私钥;
通过第一可逆仿射映射变换和第二可逆仿射映射变换对中心映射进行仿射变换,得到公钥映射;所述公钥映射和多阶有限域组成多变量签名的公钥。
优选地,上述区块链交易处理方法,区块链上的挖矿节点采用所述公钥对收到的交易记录进行验签操作,包括:
对所述交易记录中的交易结果进行哈希运算,得到第四哈希值;
将所述第四哈希值和交易记录中的签名结果代入公钥映射中,进行验签。
优选地,上述区块链交易处理方法,所述将签名结果反馈给区块链用户的方式为:
冷钱包将签名结果转换为已签名数据二维码,区块链用户通过持有的客户端扫描所述已签名数据二维码得到第二哈希值的签名结果。
优选地,上述区块链交易处理方法,冷钱包获取区块链用户持有的虚拟货币私钥的方法为:
接收区块链用户通过冷钱包账户发送的虚拟货币私钥,或者,
为区块链用户的冷钱包账户随机生成一组助记词,根据所述助记词生成随机的虚拟货币私钥。
优选地,上述区块链交易处理方法,所述冷钱包获取区块链用户发起的交易信息对应的第二哈希值的方式为:
区块链用户将第二哈希值转换为待签名数据二维码,冷钱包通过扫描所述待签名数据二维码得到第二哈希值。
按照本发明的另一个方面,还提供了一种基于冷钱包的区块链交易处理装置,其包括冷钱包和客户端;其中,
冷钱包用于根据区块链用户持有的虚拟货币私钥构造多变量签名的私钥和公钥,其包括运算模块、随机数生成模块和签名模块;
运算模块被配置为对区块链用户持有的所述虚拟货币私钥进行哈希运算,得到第一哈希值;
随机数生成模块被配置为采用所述第一哈希值作为干预条件,从混沌映射系统中迭代生成多变量签名的随机系数;根据所述随机系数构造多变量签名的私钥和公钥;
签名模块被配置获取区块链用户发起的交易信息对应的第二哈希值,采用所述多变量签名的私钥对所述第二哈希值进行签名,并将签名结果反馈给区块链用户;
客户端将区块链用户发起的交易信息和对应的签名结果整合成一条交易记录广播到区块链上;所述交易记录中还包括多变量签名的公钥,以供区块链上的挖矿节点采用所述公钥对收到的交易记录进行验签操作。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明提供的区块链交易处理方法,采用多变量签名方法对区块链中的交易进行签名,多变量签名方法能够抵抗量子计算机的破解攻击,具有很高的安全性;并且多变量签名方法中的公钥和私钥并非完全随机生成,而是与区块链用户持有的虚拟账户私钥相关联,如此,区块链用户无需保持大量随机生成的私钥系数,一旦丢失也可以通过自身持有的私钥找回,提高了区块链交易的安全性。
(2)本发明提供的区块链交易处理方法,采用多层嵌套的油醋多变量签名方法对交易进行签名,可有效地抵御量子计算机的攻击,进一步加强安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本实施例提供的一种基于冷钱包的区块链交易处理方法的流程示意图;
图2为本实施例提供的根据虚拟货币私钥构造多变量签名的私钥和公钥的方法流程图;
图3为本实施例提供的对交易信息进行签名形成交易记录的示意图;
图4为本实施例提供的基于冷钱包的区块链交易处理装置的逻辑框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
图1是本实施例提供的一种基于冷钱包的区块链交易处理方法的流程示意图,参见图1,该处理方法主要包括以下步骤:
S1冷钱包根据区块链用户持有的虚拟货币私钥构造多变量签名的私钥和公钥;
本实施例中,使用离线的冷钱包存储区块链用户的虚拟货币私钥,首先,区块链用户在冷钱包中创建账户,冷钱包基于BIP39协议为新用户的账户随机生成一组助记词,然后通过助记词生成随机的虚拟货币私钥;BIP39协议描述了用于生成确定性钱包的一个助记词(一组容易记住的单词)的实现,是目前业界通用的助记词规范。当然,用户也可以选择在创建账户时将已有的虚拟货币私钥导入冷钱包。然后,冷钱包将账户同步到用户持有的客户端应用中,在一种可选的实施方式中,冷钱包生成包含用户账户基本信息(不含私钥)的“连接客户端应用二维码”,客户端应用通过扫描该二维码实现与冷钱包的同步及交互。
区别于传统方案,本申请采用多变量公钥密码体制对交易信息进行签名。不论是多变量公钥密码还是椭圆曲线数字签名算法等传统公钥密码算法,均使用匹配的一对公钥和私钥才能完成对明文的加密和解密过程,一般私钥由用户保管,公钥公开发布在区块链中;而公钥和私钥的形成需要使用一定数量的随机参数,如果多变量签名的私钥完全随机生成,那么就失去了与用户虚拟货币私钥之间的关联性,同时用户需要保存大量随机生成的私钥系数,一旦私钥系数丢失则不容易恢复。
因此,本方案在冷钱包获取区块链用户持有的虚拟货币私钥后,基于该虚拟货币私钥构造多变量签名的私钥和公钥,保持用户持有的虚拟货币私钥与多变量签名的私钥之间的关联性。
在一个可选的实施方式中,如图2所示,根据虚拟货币私钥构造多变量签名的私钥和公钥的方法为:
(1)对区块链用户持有的所述虚拟货币私钥进行哈希运算,得到第一哈希值;
(2)采用所述第一哈希值作为干预条件,从混沌映射系统中迭代生成多变量签名的随机系数;根据所述随机系数构造多变量签名的私钥和公钥;在一个具体示例中,可以根据所述第一哈希值设定所述混沌映射系统的迭代次数或初值,将生成的混沌数作为多变量签名的随机系数。
本实施例中,混沌映射系统可以采用Tent映射、Logistic映射、Singer映射、Sine映射、Gussian映射等,但是不局限于此;本领域技术人员可以根据需求自行选用合适的混沌映射算法。
下面以采用Tent映射为例对根据区块链用户持有的私钥生成多变量签名的随机系数的过程进行详细说明。
本实施例中,用户虚拟货币私钥由256位的二进制串组成,设为S。
对虚拟货币私钥S进行哈希运算,得到用户虚拟货币私钥的第一哈希值HS
使用Tent混沌映射函数来随机生成用于多变量签名私钥的随机系数;如下所示:
Figure BDA0003429831110000071
其中,μ∈(0,1),X1∈(0,1),为随机选取的参数。
在本例中,我们让i=HS,即用虚拟货币私钥S的哈希值HS来确定Tent混沌映射函数从第几次迭代开始生成随机系数,采用随机系数构造多变量签名的私钥。这样用户只需要保存μ和X1两个参数就可以随时生成或找回其多变量签名的私钥。
进一步地,由于Tent混沌映射函数生成的系数都是小于1的小数,而多变量签名方法中的系数都是有限域中的整数,即服从所有系数需要mod q(如本例中,q=256)。所以,在随机系数生成完后,还需要对这些系数进行变换。
如在本例中,Tent混沌映射函数以float类型变量进行计算,生成系数后再截取小数点后6位,最后取模。
比如,假设当前计算出的Xi+1=0.3756891000,
那么截取小数点后6位Xi+1=375689,
最后取模Xi+1=375689mod 256=137,
从而生成符合要求的随机系数。
本领域技术人员可以理解,如果所采用的混沌映射算法可直接生成有限域中的整数,则无需执行上述转换过程。
(3)最后,根据所述随机系数构造多变量签名的私钥和公钥。根据所使用的多变量签名的类型不同,根据随机系数来构造多变量签名的私钥和公钥的方式也不同。
S2冷钱包获取区块链用户发起的交易信息对应的第二哈希值,采用所述多变量签名的私钥对所述第二哈希值进行签名,并将签名结果反馈给区块链用户;
本实施例中,区块链用户通过客户端应用发起交易,客户端应用根据交易内容生成对应的交易信息,并对交易信息进行哈希运算,得到交易信息对应的第二哈希值。客户端采用可接入区块链系统的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的长度不同。
在一个可选的实施方式中,客户端应用生成用户发起的交易信息对应的第二哈希值后,冷钱包通过以下方式获取该第二哈希值:
区块链用户将第二哈希值转换为待签名数据二维码,冷钱包通过扫描所述待签名数据二维码得到第二哈希值。
具体的,客户端应用将第二哈希值H转化成“待签名数据二维码”,冷钱包扫描“待签名数据二维码”,获取第二哈希值H。
在获取交易信息对应的第二哈希值之后,冷钱包根据使用随机系数构造的多变量签名的私钥对该第二哈希值进行签名。
在一个可选的实施方式中,多变量签名为油醋多变量签名方法;基于此,首先根据区块链用户持有的虚拟账户私钥来生成随机系数,继而根据该随机系数来构造油醋多变量签名的私钥和公钥。在油醋多变量签名方案中,需要使用油变量、醋变量、多阶有限域、可逆仿射变换等多个参数来构造签名;而前述根据区块链用户持有的私钥生成的随机系数可以被应用于油变量、醋变量、多阶有限域、可逆仿射变换的生成过程中。
下面首先介绍采用油醋多变量签名方法对所述第二哈希值进行签名的过程,本实施例提供的是一种使用多层嵌套油醋多变量签名方法对第二哈希值H进行签名的方法,具体包括:
(1)根据油变量、醋变量和多阶有限域构造油醋二次多项式;
具体的,构造油醋二次多项式
Figure BDA0003429831110000091
其中,k是一个q阶有限域,f的具体结构如下所示:
Figure BDA0003429831110000092
其中,(x1,...,xo)称为油变量,
Figure BDA0003429831110000093
称为醋变量,油醋多项式中的系数都是在有限域内随机生成的,即随机系数。
在本例中,设q=28,那么有限域k内的元素值为(0,1,2,…,255),在有限域内的各项运算可以通过取模使得结果保持在0到255之间。
(2)使用第一可逆仿射映射变换第二哈希值进行逆运算变换,得到第三哈希值;
在变换之前,首先对第二哈希值进行分段,使得每段第二哈希值对应的十进制值与所述多阶有限域内的元素值相匹配。例如,对大小是256bit的第二哈希值H进行分段,分成32段(设为m=32),每段长度为8bit,即使得每段所对应的十进制值在0到255之间。设分成32段且每段用十进制值表示的第二哈希值为H1=(y′1,...,y′m)。
比如在第二在哈希值H中取一段16bit的数值(1101 1111 0011 0101),那么可以分成2段,分别为(11011111,00110101),各段对应的十进制值分别为(223,53)。
使用第一可逆仿射映射变换T1对第二哈希值H1=(y′1,...,y′m)进行逆运算变换,得到第三哈希值
Figure BDA0003429831110000094
如下所示:
Figure BDA0003429831110000095
其中,T1是随机生成的第一可逆仿射变换,其由一个m阶可逆矩阵和一个m阶向量组成。对向量或多项式做仿射变换相当于将该向量(多项式)乘以一个矩阵之后加上一个向量。
(3)构造中心映射,所述中心映射具有多层嵌套的油醋结构,每层所述油醋结构由多条油醋二次多项式组合而成;根据所述油醋结构的层数对所述第三哈希值进行分段,每段第三哈希值对应一层油醋结构;
为了便于理解,本例中使用两层嵌套的油醋结构来进行说明,更多层嵌套的油醋结构与两层嵌套无本质区别,其对应的签名原理是相同的。
构造中心映射F,该中心映射F是一个两层的油醋结构,由m个油醋多项式组成,设为F1和F2,每层分别包括m/2(即16)个油醋多项式,其具体结构如下所示:
Figure BDA0003429831110000101
F1=(f1,...,f16)
F2=(f17,...,f32)
对应的,需要将第三哈希值
Figure BDA0003429831110000102
分为
Figure BDA0003429831110000103
两段。
(4)随机选取一组醋变量,将所述醋变量以及与第一层油醋结构对应的第三哈希值代入中心映射的第一层油醋结构中,得到第一层油醋结构对应的油变量;
设第一层油醋结构的醋变量个数v1=16,油变量个数o1=16。
随机选取一组醋变量
Figure BDA0003429831110000104
然后将
Figure BDA0003429831110000105
和醋变量
Figure BDA0003429831110000106
同时代入中心映射第一层F1中油醋多项式,求解如下方程组:
Figure BDA0003429831110000107
此时方程组不一定有解,无解时则需要重新随机选取醋变量,直至方程组解出第一层油变量
Figure BDA0003429831110000108
(5)根据上一层油醋结构的醋变量和计算出的油变量构造当前层的醋变量,将当前层的醋变量与当前层油醋结构对应的第三哈希值代入中心映射的当前层油醋结构中,得到当前层油醋结构对应的油变量;
设第二层油醋结构的醋变量个数v2=v1+o1=32,油变量个数o2=16。
第二层醋变量
Figure BDA0003429831110000111
由第一层醋变量
Figure BDA0003429831110000112
和第一层油变量
Figure BDA0003429831110000113
组成,然后将
Figure BDA0003429831110000114
和醋变量
Figure BDA0003429831110000115
同时代入中心映射第二层F2中油醋多项式,求解如下方程组:
Figure BDA0003429831110000116
此时方程组不一定有解,无解时则需要回到第一层油醋结构中重新随机选取醋变量,再求解第二层油醋结构,直至方程组解出第二层油变量
Figure BDA0003429831110000117
(6)将最后一层油醋结构的醋变量和油变量组合,并使用第二可逆仿射映射变换对组合结果进行逆运算变换,得到第二哈希值的签名结果。
设n=v2+o2=48,将第二层醋变量
Figure BDA0003429831110000118
和第二层油变量
Figure BDA0003429831110000119
共计48个系数进行组合,得到
Figure BDA00034298311100001110
如下所示:
Figure BDA00034298311100001111
用第二可逆仿射映射变换T2
Figure BDA00034298311100001112
进行逆运算变换,得到z,如下所示:
Figure BDA00034298311100001113
得到的(z1,...,zn)就是对分段后的第二哈希值H1进行签名的签名结果。其中T2是随机生成的第二可逆仿射变换,由一个n阶可逆矩阵和一个n阶向量组成。以上两个可逆仿射变换T1、T2实际上是用于隐藏中心映射F的结构。
基于上述采用油醋多变量签名方法对第二哈希值进行签名的过程,本实施例提供的根据随机系数构造多变量签名的私钥和公钥的方法,具体为:
根据随机系数构造第一可逆仿射映射变换、油醋二次多项式、第二可逆仿射映射变换,第一可逆仿射映射变换、中心映射和第二可逆仿射映射变换组成多变量签名的私钥;其中,油醋二次多项式多个油醋多项式组成,生成相应数量的随机系数填充多项式系数即可得到与用户持有的虚拟账户私钥关联的油醋二次多项式。第一可逆仿射映射变换T1(第二可逆仿射映射变换T2同理)由一个m阶可逆矩阵和一个m阶向量组成,生成m个随机系数填充m阶向量即可得到与用户持有的虚拟账户私钥关联的第一可逆仿射映射变换T1
通过第一可逆仿射映射变换和第二可逆仿射映射变换对中心映射进行仿射变换,得到公钥映射;该公钥映射和多阶有限域组成多变量签名的公钥。
在以上签名过程中,多变量签名的私钥包括两个可逆仿射变换T1、T2和中心映射F,由用户冷钱包保存,用于对第二哈希值H1进行签名;公钥包括有限域k以及其加法和乘法的结构、公钥映射
Figure BDA0003429831110000121
(o符号表示仿射变换运算),用户的公钥是公开发布的,区块链的挖矿节点可以从交易记录中获取并恢复,用于对签名进行验证。
作为一个具体的示例,本实施例采用前述随机系数来生成多变量签名算法中的第一可逆仿射映射变换、进而生成油醋多变量签名的私钥和公钥的方式,本领域技术人员可以理解,对于由区块链用户持有的私钥生成的随机系数的应用并不局限于此。
具体的,首先生成一个上三角矩阵,比如设m=3,那么即用混沌映射函数生成的随机系数填满3阶矩阵的右上角,矩阵其它系数为0。对3阶矩阵,需要生成6个系数来填满,设为a1、a2、a3、a4、a5、a6
那么可得3阶上三角矩阵
Figure BDA0003429831110000122
若矩阵对角线上的任一系数为0,则将其改为1。如在例中3阶上三角矩阵,对角线上系数为a1、a4、a6,若这3个系数中有0值系数,则将其值改为1。此时该矩阵即为可逆矩阵。
上述过程中,只要预先设定好多层嵌套油醋多变量签名方法的层数和每层油醋变量的个数,第一可逆仿射映射变换、油醋二次多项式、第二可逆仿射映射变换各自所需的随机系数的数量随之确定,则油醋多变量签名私钥的所有随机系数的数量也都是可确定的,只需要依次生成即可。
在一个可选的实施方式中,冷钱包将签名结果反馈给区块链用户的方式为:冷钱包将签名结果转换为已签名数据二维码,区块链用户通过持有的客户端扫描所述已签名数据二维码得到第二哈希值的签名结果。
具体的,冷钱包将签名结果(z1,...,zn)转化成“已签名数据二维码”,客户端应用扫描“已签名数据二维码”,获取签名结果(z1,...,zn)。
S3区块链用户将交易信息和对应的签名结果整合成一条交易记录广播到区块链上;所述交易记录中还包括多变量签名的公钥,以供区块链上的挖矿节点采用所述公钥对收到的交易记录进行验签操作。
区块链用户通过客户端应用将交易信息和对应签名结果的整合成一条交易记录,图3示出了交易记录包含的信息,如图3所示,用户的多变量签名公钥也包含在交易记录中,该交易记录被广播到区块链上,以供区块链上的挖矿节点采用交易记录中的所述公钥对收到的交易记录进行验签操作。
在一个具体示例中,区块链上的挖矿节点采用所述公钥对收到的交易记录进行验签操作,包括:
对交易记录中的交易结果进行哈希运算,得到第四哈希值;将第四哈希值和交易记录中的签名结果代入公钥映射中,进行验签。
具体过程如下:
1)对交易记录中的交易信息进行SHA256哈希运算,并对得到的第四哈希值进行分段,得到用十进制表示的第四哈希值H2=(w′1,...,w′m)。
2)将第四哈希值(w′1,...,w′m)和第二哈希值的签名结果(z1,...,zn)代入公钥映射
Figure BDA0003429831110000131
若满足等式
Figure BDA0003429831110000132
则验签成功,说明交易信息没有被篡改;否则交易记录无效。
除了本实施例使用的油醋多变量签名方案之外,多变量公钥密码系统还包括其他双极型系统(Bipolar System)签名方案,以上方案均可用于本申请中的区块链签名。本实施例仅以经典的油醋多变量签名为例,来展示根据区块链用户持有的私钥来构造多变量签名的私钥和公钥的一般过程,可以理解,本实施例提供的根据区块链用户持有的虚拟账户私钥来生成随机系数,进而构造多变量签名的私钥和公钥的方法同样可以被应用到其他类型的多变量签名方案之中,进而对区块链用户的交易内容进行签名以及验签,区别仅在于多变量签名方案的公钥私钥的生成过程有所不同;但是多种多变量签名方案的具体算法过程不便于在本专利中一一展开说明,本方案的关键点之一在于根据区块链用户持有的虚拟账户私钥来构造多变量签名的私钥和公钥,建立用户持有的虚拟账户私钥与多变量签名的私钥之间关联性;然后基于该多变量签名的公钥私钥对用户交易进行签名和验签。
应当注意,尽管在上述的实施例中,以特定顺序描述了本说明书实施例的方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本实施例还提供了一种基于冷钱包的区块链交易处理装置,参见图4,该装置包括冷钱包和客户端;其中,
冷钱包用于根据区块链用户持有的虚拟货币私钥构造多变量签名的私钥和公钥,其包括运算模块、随机数生成模块和签名模块;
运算模块被配置为对区块链用户持有的所述虚拟货币私钥进行哈希运算,得到第一哈希值;
随机数生成模块被配置为采用所述第一哈希值作为干预条件,从混沌映射系统中迭代生成多变量签名的随机系数;根据所述随机系数构造多变量签名的私钥和公钥;在一个可选的实施方式中,随机数生成模块根据所述第一哈希值设定所述混沌映射系统的迭代次数或初值,将生成的混沌数作为多变量签名的随机系数。
签名模块被配置获取区块链用户发起的交易信息对应的第二哈希值,采用所述多变量签名的私钥对所述第二哈希值进行签名,并将签名结果反馈给区块链用户;
客户端将区块链用户发起的交易信息和对应的签名结果整合成一条交易记录广播到区块链上;所述交易记录中还包括多变量签名的公钥,以供区块链上的挖矿节点采用所述公钥对收到的交易记录进行验签操作。
本实施例中,采用的多变量签名为油醋多变量签名方法;基于此,签名模块采用所述油醋多变量签名方法对第二哈希值进行签名:
根据油变量、醋变量和多阶有限域构造油醋二次多项式;
使用第一可逆仿射映射变换第二哈希值进行逆运算变换,得到第三哈希值;
构造中心映射,所述中心映射具有多层嵌套的油醋结构,每层所述油醋结构由多条油醋二次多项式组合而成;根据所述油醋结构的层数对所述第三哈希值进行分段,每段第三哈希值对应一层油醋结构;
随机选取一组醋变量,将所述醋变量以及与第一层油醋结构对应的第三哈希值代入中心映射的第一层油醋结构中,得到第一层油醋结构对应的油变量;
根据上一层油醋结构的醋变量和计算出的油变量构造当前层的醋变量,将当前层的醋变量与当前层油醋结构对应的第三哈希值代入中心映射的当前层油醋结构中,得到当前层油醋结构对应的油变量;
将最后一层油醋结构的醋变量和油变量组合,并使用第二可逆仿射映射变换对组合结果进行逆运算变换,得到第二哈希值的签名结果。
在签名模块采用油醋多变量签名方法对第二哈希值进行签名之前,随机数生成模块根据生成的随机系数构造第一可逆仿射映射变换、油醋二次多项式、第二可逆仿射映射变换,所述第一可逆仿射映射变换、中心映射和第二可逆仿射映射变换组成多变量签名的私钥;
通过第一可逆仿射映射变换和第二可逆仿射映射变换对中心映射进行仿射变换,得到公钥映射;该公钥映射和多阶有限域组成多变量签名的公钥。
关于区块链交易处理装置的具体限定可以参见上文中对于区块链交易处理方法的限定,在此不再赘述。上述区块链交易处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于冷钱包的区块链交易处理方法,其特征在于,包括:
冷钱包根据区块链用户持有的虚拟货币私钥构造多变量签名的私钥和公钥,包括:
对区块链用户持有的所述虚拟货币私钥进行哈希运算,得到第一哈希值;
采用所述第一哈希值作为干预条件,从混沌映射系统中迭代生成多变量签名的随机系数;根据所述随机系数构造多变量签名的私钥和公钥;
冷钱包获取区块链用户发起的交易信息对应的第二哈希值,采用所述多变量签名的私钥对所述第二哈希值进行签名,并将签名结果反馈给区块链用户;
区块链用户将交易信息和对应的签名结果整合成一条交易记录广播到区块链上;所述交易记录中还包括多变量签名的公钥,以供区块链上的挖矿节点采用所述公钥对收到的交易记录进行验签操作。
2.如权利要求1所述的区块链交易处理方法,其特征在于,采用所述第一哈希值作为干预条件,从混沌映射系统中迭代生成随机系数,具体为:
根据所述第一哈希值设定所述混沌映射系统的迭代次数或初值,将生成的混沌数作为多变量签名的随机系数。
3.如权利要求1或2所述的区块链交易处理方法,其特征在于,所述多变量签名为油醋多变量签名方法;采用油醋多变量签名方法对所述第二哈希值进行签名,包括:
根据油变量、醋变量和多阶有限域构造油醋二次多项式;
使用第一可逆仿射映射变换第二哈希值进行逆运算变换,得到第三哈希值;
构造中心映射,所述中心映射具有多层嵌套的油醋结构,每层所述油醋结构由多条油醋二次多项式组合而成;根据所述油醋结构的层数对所述第三哈希值进行分段,每段第三哈希值对应一层油醋结构;
随机选取一组醋变量,将所述醋变量以及与第一层油醋结构对应的第三哈希值代入中心映射的第一层油醋结构中,得到第一层油醋结构对应的油变量;
根据上一层油醋结构的醋变量和计算出的油变量构造当前层的醋变量,将当前层的醋变量与当前层油醋结构对应的第三哈希值代入中心映射的当前层油醋结构中,得到当前层油醋结构对应的油变量;
将最后一层油醋结构的醋变量和油变量组合,并使用第二可逆仿射映射变换对组合结果进行逆运算变换,得到第二哈希值的签名结果。
4.如权利要求3所述的区块链交易处理方法,其特征在于,根据所述随机系数构造多变量签名的私钥和公钥,包括:
根据所述随机系数构造第一可逆仿射映射变换、油醋二次多项式、第二可逆仿射映射变换,所述第一可逆仿射映射变换、中心映射和第二可逆仿射映射变换组成多变量签名的私钥;
通过第一可逆仿射映射变换和第二可逆仿射映射变换对中心映射进行仿射变换,得到公钥映射;所述公钥映射和多阶有限域组成多变量签名的公钥。
5.如权利要求4所述的区块链交易处理方法,其特征在于,区块链上的挖矿节点采用所述公钥对收到的交易记录进行验签操作,包括:
对所述交易记录中的交易结果进行哈希运算,得到第四哈希值;
将所述第四哈希值和交易记录中的签名结果代入公钥映射中,进行验签。
6.如权利要求1或5所述的区块链交易处理方法,其特征在于,冷钱包获取区块链用户持有的虚拟货币私钥的方法为:
接收区块链用户通过冷钱包账户发送的虚拟货币私钥,或者,
为区块链用户的冷钱包账户随机生成一组助记词,根据所述助记词生成随机的虚拟货币私钥。
7.一种基于冷钱包的区块链交易处理装置,其特征在于,包括冷钱包和客户端;其中,
冷钱包用于根据区块链用户持有的虚拟货币私钥构造多变量签名的私钥和公钥,其包括运算模块、随机数生成模块和签名模块;
运算模块被配置为对区块链用户持有的所述虚拟货币私钥进行哈希运算,得到第一哈希值;
随机数生成模块被配置为采用所述第一哈希值作为干预条件,从混沌映射系统中迭代生成多变量签名的随机系数;根据所述随机系数构造多变量签名的私钥和公钥;
签名模块被配置获取区块链用户发起的交易信息对应的第二哈希值,采用所述多变量签名的私钥对所述第二哈希值进行签名,并将签名结果反馈给区块链用户;
客户端将区块链用户发起的交易信息和对应的签名结果整合成一条交易记录广播到区块链上;所述交易记录中还包括多变量签名的公钥,以供区块链上的挖矿节点采用所述公钥对收到的交易记录进行验签操作。
8.如权利要求7所述的区块链交易处理装置,其特征在于,所述随机数生成模块根据所述第一哈希值设定所述混沌映射系统的迭代次数或初值,将生成的混沌数作为多变量签名的随机系数。
9.如权利要求7或8所述的区块链交易处理装置,其特征在于,所述多变量签名为油醋多变量签名方法;所述签名模块采用所述油醋多变量签名方法对所述第二哈希值进行签名:
根据油变量、醋变量和多阶有限域构造油醋二次多项式;
使用第一可逆仿射映射变换第二哈希值进行逆运算变换,得到第三哈希值;
构造中心映射,所述中心映射具有多层嵌套的油醋结构,每层所述油醋结构由多条油醋二次多项式组合而成;根据所述油醋结构的层数对所述第三哈希值进行分段,每段第三哈希值对应一层油醋结构;
随机选取一组醋变量,将所述醋变量以及与第一层油醋结构对应的第三哈希值代入中心映射的第一层油醋结构中,得到第一层油醋结构对应的油变量;
根据上一层油醋结构的醋变量和计算出的油变量构造当前层的醋变量,将当前层的醋变量与当前层油醋结构对应的第三哈希值代入中心映射的当前层油醋结构中,得到当前层油醋结构对应的油变量;
将最后一层油醋结构的醋变量和油变量组合,并使用第二可逆仿射映射变换对组合结果进行逆运算变换,得到第二哈希值的签名结果。
10.如权利要求9所述的区块链交易处理装置,其特征在于,所述随机数生成模块根据生成的随机系数构造第一可逆仿射映射变换、油醋二次多项式、第二可逆仿射映射变换,所述第一可逆仿射映射变换、中心映射和第二可逆仿射映射变换组成多变量签名的私钥;
通过第一可逆仿射映射变换和第二可逆仿射映射变换对中心映射进行仿射变换,得到公钥映射;所述公钥映射和多阶有限域组成多变量签名的公钥。
CN202111592950.4A 2021-12-23 2021-12-23 一种基于冷钱包的区块链交易处理方法及装置 Active CN114282922B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111592950.4A CN114282922B (zh) 2021-12-23 2021-12-23 一种基于冷钱包的区块链交易处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111592950.4A CN114282922B (zh) 2021-12-23 2021-12-23 一种基于冷钱包的区块链交易处理方法及装置

Publications (2)

Publication Number Publication Date
CN114282922A true CN114282922A (zh) 2022-04-05
CN114282922B CN114282922B (zh) 2024-08-13

Family

ID=80875108

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111592950.4A Active CN114282922B (zh) 2021-12-23 2021-12-23 一种基于冷钱包的区块链交易处理方法及装置

Country Status (1)

Country Link
CN (1) CN114282922B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115150150A (zh) * 2022-06-28 2022-10-04 北京送好运信息技术有限公司 一种基于区块链技术的信息记录方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103490897A (zh) * 2013-09-17 2014-01-01 华南理工大学 一种多变量公钥签名/验证系统及签名/验证方法
CN106330463A (zh) * 2016-09-09 2017-01-11 华南理工大学 一种多变量公钥的签名系统和方法
US20180136633A1 (en) * 2016-05-20 2018-05-17 Moog Inc. Outer space digital logistics system
CN111275419A (zh) * 2020-01-17 2020-06-12 上海佩俪信息科技有限公司 一种区块链钱包签名确权方法、装置及系统
CN111526021A (zh) * 2020-04-10 2020-08-11 厦门慢雾科技有限公司 一种区块链私钥安全管理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103490897A (zh) * 2013-09-17 2014-01-01 华南理工大学 一种多变量公钥签名/验证系统及签名/验证方法
US20180136633A1 (en) * 2016-05-20 2018-05-17 Moog Inc. Outer space digital logistics system
CN106330463A (zh) * 2016-09-09 2017-01-11 华南理工大学 一种多变量公钥的签名系统和方法
CN111275419A (zh) * 2020-01-17 2020-06-12 上海佩俪信息科技有限公司 一种区块链钱包签名确权方法、装置及系统
CN111526021A (zh) * 2020-04-10 2020-08-11 厦门慢雾科技有限公司 一种区块链私钥安全管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘波: "高次多变量公钥密码体制的设计与分析", 硕士电子期刊, vol. 2017, no. 2, 16 January 2017 (2017-01-16) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115150150A (zh) * 2022-06-28 2022-10-04 北京送好运信息技术有限公司 一种基于区块链技术的信息记录方法
CN115150150B (zh) * 2022-06-28 2024-01-26 北京送好运信息技术有限公司 一种基于区块链技术的信息记录方法

Also Published As

Publication number Publication date
CN114282922B (zh) 2024-08-13

Similar Documents

Publication Publication Date Title
Raman et al. Distributed storage meets secret sharing on the blockchain
US8345861B2 (en) Sharing a secret using polynomial division over GF(Q)
CN104270247B (zh) 适用于量子密码系统的高效泛Hash函数认证方法
CN110610105B (zh) 一种云环境下基于秘密共享的三维模型文件的认证方法
KR101594553B1 (ko) 암호화 키를 생성하는 방법, 이를 위한 네트워크 및 컴퓨터 프로그램
US7912216B2 (en) Elliptic curve cryptosystem optimization using two phase key generation
CN109272316B (zh) 一种基于区块链网络下的区块实现方法及系统
KR20110129961A (ko) 네트워트에서 통신을 안전하게 하기 위한 방법, 통신 디바이스, 네트워크 및 이를 위한 컴퓨터 프로그램
CN115102688B (zh) 数据处理方法、多项式计算方法及电子设备
CN110351297B (zh) 一种应用于区块链的验证方法及装置
WO2020020127A1 (zh) 一种私钥存储和读取方法、装置及硬件设备
CN105721156A (zh) 用于模幂加密方案的通用编码函数
CN108028751B (zh) 用于移动主动秘密共享的系统、计算机可读介质和方法
CN110719172B (zh) 区块链系统中的签名方法、签名系统以及相关设备
CN109274504B (zh) 一种基于云平台的多用户大数据存储分享方法及系统
CN108809996B (zh) 不同流行度的删重存储数据的完整性审计方法
CN114282922A (zh) 一种基于冷钱包的区块链交易处理方法及装置
CN107360252B (zh) 一种异构云域授权的数据安全访问方法
CN111368317B (zh) 一种计算机数据加密系统及方法
Yang [Retracted] Application of Hybrid Encryption Algorithm in Hardware Encryption Interface Card
CN117235342A (zh) 基于同态哈希函数和虚拟索引的动态云审计方法
US8325913B2 (en) System and method of authentication
CN113806775B (zh) 一种基于卷积优化的区块链报文处理方法及装置
Nagendran et al. Hyper Elliptic Curve Cryptography (HECC) to ensure data security in the cloud
CN111931201A (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