CN112565201B - 一种区块链中的私钥处理方法、装置及计算机存储介质 - Google Patents
一种区块链中的私钥处理方法、装置及计算机存储介质 Download PDFInfo
- Publication number
- CN112565201B CN112565201B CN202011288252.0A CN202011288252A CN112565201B CN 112565201 B CN112565201 B CN 112565201B CN 202011288252 A CN202011288252 A CN 202011288252A CN 112565201 B CN112565201 B CN 112565201B
- Authority
- CN
- China
- Prior art keywords
- private key
- sub
- block chain
- private
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
- G06F17/12—Simultaneous equations, e.g. systems of linear equations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Analysis (AREA)
- Computer Hardware Design (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开一种区块链中的私钥处理方法、装置及计算机存储介质,包括:基于区块链中私钥的信息,确定将所述私钥分割为子私钥的份数;根据所述份数,构建用于表征所述子私钥的第一多项式函数;基于所述第一多项式函数确定所述子私钥;将所述子私钥分别发送至所述区块链的各节点和服务器。本申请实施例还提供一种区块链中的私钥处理装置及计算机存储介质,保证交易的隐私和安全,具备较强的保密性且私钥保存的数据不会丢失。
Description
技术领域
本发明涉及区块链技术领域,尤其是涉及一种区块链中的私钥处理方法、装置及计算机存储介质。
背景技术
现有技术将密钥直接备份存储在服务器上,或者采用多重签名的方式验证密钥。多重签名是把各个签名方的签名通过链上广播的形式存在区块链记录里,签名和地址之间的对应关系以及签名数量相当于被公开,可以被有心人追踪,识别地址和业务之间的关系,导致交易的隐私性得不到保护。
发明内容
针对上述技术问题,本发明提供了一种区块链中的私钥处理方法、装置及计算机存储介质,能够提高交易的安全性。
本发明实施例提供的具体技术方案如下:
本发明实施例提供一种区块链中的私钥处理方法,包括:
基于区块链中私钥的信息,确定将所述私钥分割为子私钥的份数;
根据所述份数,构建用于表征所述子私钥的第一多项式函数;
基于所述第一多项式函数确定所述子私钥;
将所述子私钥分别发送至所述区块链的各节点和服务器。
在一些实施例中,所述基于区块链中私钥的信息,确定将所述私钥分割为子私钥的份数包括:
对所述区块链中的私钥进行处理,得到所述私钥对应的数字;
根据所述数字的大小及所述私钥对应的业务信息,确定分割所述子私钥的份数。
在一些实施例中,所述根据所述子私钥的份数,构建用于表征所述子私钥的第一多项式函数包括:
根据所述子私钥的份数N,确定所述第一多项式函数为N-1次第一多项式函数;
确定所述私钥对应的数字为所述第一多项式函数的第一常数。
在一些实施例中,所述基于所述第一多项式函数确定所述子私钥,包括:
所述第一多项式函数为N-1次多项式,代入N+1个变量,得到所述第一多项式函数针对N+1个变量对应的N+1个解;
确定N+1个变量及所述N+1个变量分别对应的N+1个解为N+1个所述子私钥。
在一些实施例中,所述将所述子私钥分别发送至所述区块链的各节点和服务器包括:
将N个所述子私钥分别发送至所述区块链的N个不同节点;
将一个所述子私钥发送至所述服务器。
本发明实施例还提供一种区块链中的私钥处理方法,包括:
从所述区块链的N个节点中的每个节点获取对应的子私钥;
基于所述子私钥确定私钥。
在一些实施例中,所述基于所述子私钥确定私钥包括:
基于每个子私钥构建对应的第二多项式函数,得到包括N个第二多项式函数的方程组;
基于所述方程组确定所述私钥。
本申请实施例提供一种区块链中的私钥处理装置,包括:
第一确定模块,用于基于区块链中的私钥信息,确定将所述私钥分割为子私钥的份数;
构建模块,用于根据所述份数,构建用于表征所述子私钥的第一多项式函数;
第二确定模块,基于所述第一多项式函数确定所述子私钥;将所述子私钥分别发送至所述区块链的各节点和服务器。
在一些实施例中,第一确定模块用于对所述区块链中的私钥进行处理,得到所述私钥对应的数字;
根据所述数字的大小及所述私钥对应的业务信息,确定分割所述子私钥的份数。
在一些实施例中,构建模块用于根据所述子私钥的份数N,确定所述第一多项式函数为N-1次第一多项式函数;
确定所述私钥对应的数字为所述第一多项式函数的第一常数。
在一些实施例中,第二确定模块用于所述第一多项式函数为N-1次多项式,代入N+1个变量,得到所述第一多项式函数针对N+1个变量对应的N+1个解;
确定N+1个变量及所述N+1个变量分别对应的N+1个解为N+1个所述子私钥。
在一些实施例中,第二确定模块用于将N个所述子私钥分别发送至所述区块链的N个不同节点;
将一个所述子私钥发送至所述服务器。
在一些实施例中,构建模块用于根据私钥信息确定私钥分割份数,根据智能合约的部署,处理私钥的分发验证;其中所述智能合约包括区块链中的一种自动执行协议;
在一些实施例中,构建模块用于根据所述私钥分割次数,构造多项式函数,设定参数信息。
在一些实施例中,第二确定模块用于根据所述多项式函数和所述参数信息,确定所述多项式函数的组数值,将所述组数值发给各节点。
本申请实施例还提供一种区块链中的私钥处理装置,包括:
获取模块,用于从所述区块链的N个节点中的每个节点获取对应的子私钥;基于所述子私钥确定私钥。
处理模块,用于基于每个子私钥构建对应的第二多项式函数,得到包括N个第二多项式函数的方程组;基于所述方程组确定所述私钥。
在一些实施例中,获取模块用于基于每个子私钥构建对应的第二多项式函数,得到包括N个第二多项式函数的方程组;基于所述方程组确定所述私钥。
本申请实施例还提供一种区块链中的私钥处理装置,所述装置包括:处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述区块链中的私钥处理方法。
本申请实施例还提供一种区块链中的私钥处理计算机存储介质,所述存储介质用于存储一个或多个计算机程序,所述一个或多个计算机程序包括程序代码,当所述计算机程序在计算机上运行时,所述程序代码用于执行上述区块链中的私钥处理方法。
本申请实施例提供一种区块链中的私钥处理方法、装置及计算机存储介质。基于区块链中私钥的信息,确定将所述私钥分割为子私钥的份数;根据所述份数,构建用于表征所述子私钥的第一多项式函数;基于所述第一多项式函数确定所述子私钥;将所述子私钥分别发送至所述区块链的各节点和服务器。本申请在区块链中将私钥切分为子私钥,区块链中的各节点和服务器分别存储一份子私钥,只有每个子私钥的持有节点均提交子私钥后才能还原原始私钥。只要不是全部节点中的子私钥均被非法盗取,便不能够还原原始私钥,保证交易的隐私和安全,具备较强的保密性。
附图说明
图1为本申请第一实施例提供的一种区块链中的私钥处理方法流程图;
图2为本申请第二实施例提供的一种区块链中的私钥处理方法流程图;
图3为本申请第三实施例提供的一种区块链中的私钥处理装置模块组成图;
图4为本申请第四实施例提供的一种区块链中的私钥处理装置模块组成图;
图5为本申请实施例提供的一种区块链中的私钥处理装置的硬件组成结构示意图。
具体实施方式
以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在对本申请实施例进行详细描述之前,对区块链的相关信息进行简要说明。
区块链***实际上就是一个维护公共数据账本的***,一切的技术单元的设计都是为了更好地维护好这个公共账本。通过共识算法达成节点的账本的数据一致;通过密码算法确保账本数据的不可篡改性以及数据发送的安全性;通过脚本***扩展账本数据的表达范畴。可以认为区块链***实际上就是特别设计的数据库***或者分布式数据库***,在这个数据库可以存储数字货币,也可以存储更复杂的智能合约,以及范围更加广阔的各种业务数据。
区块链应用软件构建的过程中,通常会遇到用户密钥存储的问题,一般用户持有的密钥为私钥。怎么让用户方便使用的同时确保私钥信息不被泄露,确认私钥信息是安全的,是需要处理的技术问题。同时私钥验证的方式也需要不断拓展,适应各种场景。例如多重验证的场景,某一信息需要不同节点共同通过验证后才能获取,可以将私钥分成多份,只有每个节点持有的私钥组成完整的私钥时,才能获取特定信息。
本发明基于以上场景,提出了一种区块链中私钥处理方法,能利用算法将私钥分割为N份保存,只有每个私钥持有节点均提交私钥后才能还原原始私钥。该申请实施例提供的私钥处理方法,比相关技术中的备份私钥备份方法更加安全。传统方法私钥备份在服务器中,一旦私钥被非法盗取,则可能产生安全问题;而申请实施例提供的私钥处理方法,是将私钥存储在多个节点,即使一份私钥丢失也不能获取加密信息。同时该方法也可以替代传统的多重签名验证方式。
第一实施例
图1为本申请第一实施例提供的一种区块链中的私钥处理方法流程图,如图1所示,包括:
步骤S101:基于区块链中私钥的信息,确定将所述私钥分割为子私钥的份数。
在一些实施例中,所述子私钥可理解为区块链中的私钥处理装置将所述私钥分割为N份,每一份称为一个子私钥。
在一些实施例中,区块链中的私钥处理装置对所述区块链中的私钥进行处理,得到所述私钥对应的数字;所述私钥处理装置根据所述数字的大小及所述私钥对应的业务信息,确定分割所述子私钥的份数。
在一些实施例中,所述私钥为字符串信息时,所述私钥处理装置按顺序提取字符串中的数字,得到的一组数字即为私钥对应的数字;所述私钥为随机数信息时,所述私钥处理装置确定所述随机数对应的一组数字即为私钥对应的数字。
区块链***中节点单独保存的通常为私钥,公钥为公开至链上的信息,因此本申请处理保存对象为***中的私钥。
在一些实施例中,根据密码学***的形式,可以明确私钥的形式,例如常见利用椭圆加密算法(Elliptic Curve Cryptography,ECC)加密的密钥为256位随机数,可直接用此随机数分割。而有些加密***中,私钥为字符串形式,字符串包含了英文和数字,则在智能合约中设定特定的映射规则,将英文字符映射为指定数字,组成一个新的随机数,再分割。
在一些实施例中,私钥表现形式都是英文字母和数字组成的字符串,根据链不同长度和规则一样。例如比特币的私钥可以为一组字符串13TdUYzEso2iVLHPCXjwy1yjmUVEQnGebK;此时,根据映射规则私钥可以是1321。区块链***中还经常使用椭圆加密算法(Elliptic Curve Cryptography,ECC)进行数据加密与验证,椭圆加密私钥通常为随机数,例如15424654874903;此时,私钥可以是15424654874903。
所述业务信息包括***采用的密码学***的形式,***的用户数量,用户的权限分配。
在一些实施例中,根据***中的私钥信息与业务信息确定私钥的分割份数。例如根据权限设定,只有3位用户能查看某特定信息,同时***中设定了1位最高权限的管理员,只有经过管理员的认可才能访问到该信息。则将该信息用对称加密算法加密,加密的私钥需要分割为4份,3份权限使用和1份管理员使用。
步骤S102:根据所述份数,构建用于表征所述子私钥的第一多项式函数。
在一些实施例中,所述私钥处理装置根据私钥的分割份数N,确定所述第一多项式函数为N-1次第一多项式函数,形式如下:
y=a1x+a2x2+…+an-1xn-1+c,
其中a1,a2…an-1取随机数,c取所述私钥信息的所述一组数字。所述随机数由区块链***中的智能合约内置的算法生成;将所述多项式函数记录在智能合约中,所述参数a1,a2…an-1只作为智能合约本地验证使用。
所述私钥处理装置确定所述私钥对应的数字为所述第一多项式函数的第一常数c。
步骤S103:基于所述第一多项式函数确定所述子私钥。
在一些实施例中,所述私钥处理装置基于所述第一多项式函数和参数信息,确定所述第一多项式函数的子私钥。
所述第一多项式函数为N-1次多项式,代入N+1个变量,得到所述第一多项式函数针对N+1个变量对应的N+1个解;
确定N+1个变量及所述N+1个变量分别对应的N+1个解为N+1个所述子私钥。所述N+1个变量与之对应的N+1个解确定N+1组(x,y)的值。所述组数值可理解为子私钥。
在一些实施例中,所述私钥处理装置根据智能合约得到所述S102的第一多项式函数后,代入N+1个变量x,其中x为正整数,计算所述第一多项式右边式子,得到N+1组(x,y)的值(x1,y1),(x2,y2),…,(xn,yn),(xn+1,yn+1)。
在一些实施例中,所述智能合约是区块链中的一种自动执行协议,区块链***设计者可以通过智能合约完成链上的数据记录与处理。本步骤根据区块链***中部署特定的智能合约来完成私钥的分发验证操作。
所述私钥处理装置根据智能合约记录私钥分配节点的名称、地址信息和私钥备份节点信息等信息。所述私钥处理装置处理私钥的分发及私钥验证过程的逻辑,同时还可以根据智能合约加入业务代码,设定访问逻辑,可以根据权限设定分配哪些节点可以持有私钥,以及设定私钥与特定访问权限的对应关系等信息。
步骤S104:将所述子私钥分别发送至所述区块链的各节点和服务器。
在一些实施例中,所述私钥处理装置将N个所述子私钥分别发送至所述区块链的N个不同节点;所述私钥处理装置将一个所述子私钥发送至所述服务器。
在一些实施例中,所述私钥处理装置将第1组至第N组数值分配至各参与验证的节点,第N+1组存储至管理员账户。分配各个节点的数值为子私钥,子私钥存储在区块链的各个节点上。同时,可以删除步骤S102中记录的a1,a2,…an-1这组参数的值;如此,能够避免在所述参数a1,a2,…an-1泄露后反推出私钥,防止私钥信息泄露。
例如,步骤S102中第一多项式函数的常数项c是私钥,在一些实施例中,设定c的数值为3。可选的,令a1=2,a2=2,所以方程式为y=2x2+2x+3。接着,任意取四个随机整数x(设定N=3),计算得到y,得到4组数值,分别为(-1,3),(-2,7),(1,7),(2,15)。所述私钥处理装置将第1、2、3组数值分配给特定节点(根据业务流程选取特定节点,例如区块链中某一数据只给某几个节点查看权限,且需要这几个节点共同授权后查看,那么私钥就分配给这几个特定节点)。
所述私钥处理装置将第N+1组(x,y)的值存储至管理员账户进行备份。普通账户与管理员账户都是区块链***中的节点,通过智能合约将第N+1组(x,y)发给管理员节点,管理员节点将第N+1组(x,y)存储在本地数据库。
第二实施例
以上第一实施例对本发明区块链中的私钥处理方法进行了简单介绍,在本实施例中,将结合附图对其进行进一步地说明。
如图2所示,一种区块链中的私钥处理方法包括以下步骤:
步骤S201:从所述区块链的N个节点中的每个节点获取对应的子私钥。
所述私钥处理装置在区块链中需要访问特定信息时,各持有私钥的节点在所述区块链中提交自身存储的子私钥,所述子私钥可以为数组值(x,y)。
步骤S202:基于每个子私钥构建对应的第二多项式函数,得到包括N个第二多项式函数的方程组。
所述私钥处理装置提交所述子私钥至区块链的智能合约,所述私钥处理装置根据只能合约基于N组数值构造方程组:
其中,所述私钥处理装置将N组数值(x,y)看成多项式方程的已知参数,求解所述方程组的解(a1,a2…an-1,c)。
步骤S203:基于所述方程组确定所述私钥。
所述私钥处理装置通过智能合约,求解所述方程组,得到私钥数字c。所述私钥处理装置根据设定规则将c还原为完整私钥,并用所述私钥进行下一步的验证操作。
在一些实施例中,所述私钥处理装置将(x,y)看成多项式方程的已知参数,共有N组数值,因此有N个n元一次方程。c为私钥的值,(a1,a2…an-1,c)为方程组的看成方程的解。所述私钥处理装置根据智能合约求解该方程,得到私钥数字c,再根据S101中设定的规则将c和还原为完整私钥,并用该私钥进行下一步的验证操作。(例如用私钥进行椭圆加密的验证,验证通过获得特定访问权限)。
在一些实施例中,在步骤S202中,取1、2、3节点的数值,得到如下方程组:
所述私钥处理装置根据智能合约解方程组得到:a1=2,a2=2,c=3;c=3即为私钥的值,再根据私钥的值还原为完整私钥。
在一些实施例中,当出现意外时,例如计算机的操作***重装后加密文件***(Encrypting File System,EFS)加密文件打不开了,恢复硬盘后也没有发现密钥,可选的,所述私钥处理装置可启用管理员权限,调用保存的备份私钥还原出完整私钥。
在一些实施例中,所述私钥处理装置将分割后的子私钥分给N个节点保管,根据所述节点的授权状态,确定私钥的还原状态。所述私钥处理装置确认分割份数后,用随机数的位数或分割份数,得到每个私钥随机数的长度。若所述私钥对应的数字不能整除,则将能整除的部分作为分割与还原被分割的私钥,并在智能合约中建立相关索引,被分割的私钥被还原后,用索引将传入的私钥与剩余的几位随机数拼接,还原出原始的私钥。
在一些实施例中,N-1次方的方程有N个未知的系数;比如N=3,方程组的系数为a1,a2,c,只需要3个线性不相关的等式就可以求解系数a1,a2,c。
系数a1,a2,…an-1是随机数,在构造数值(x,y)的时候,系数a1,a2,…an-1是已知的;数值(x,y)分配给各个节点后,根据智能合约删除a1,a2,…an-1的数据。那么只要N个分割后的子私钥(x,y)数值就可以构成N个方程,来求解这N个系数了,N个系数为a1,a2,…an-1与私钥c;再根据c还原出完整私钥。
所述私钥处理装置根据所述私钥的还原状态,进行下一步的私钥加密或签名操作。
第三实施例
以上第一实施例至第二实施例分别详细介绍了区块链中私钥处理的方法,下面将结合图3对一种区块链中的私钥处理装置300进一步介绍。
本发明的私钥处理装置300,包括:
第一确定模块301,用于基于区块链中的私钥信息,确定将所述私钥分割为子私钥的份数;
构建模块302,用于根据所述份数,构建用于表征所述子私钥的第一多项式函数;
第二确定模块303,基于所述第一多项式函数确定所述子私钥;将所述子私钥分别发送至所述区块链的各节点和服务器。
在一些实施例中,第一确定模块301,用于对所述区块链中的私钥进行处理,得到所述私钥对应的数字;
根据所述数字的大小及所述私钥对应的业务信息,确定分割所述子私钥的份数。
在一些实施例中,构建模块302,用于根据所述子私钥的份数N,确定所述第一多项式函数为N-1次第一多项式函数;
确定所述私钥对应的数字为所述第一多项式函数的第一常数。
在一些实施例中,第二确定模块303,用于所述第一多项式函数为N-1次多项式,代入N+1个变量,得到所述第一多项式函数针对N+1个变量对应的N+1个解;
确定N+1个变量及所述N+1个变量分别对应的N+1个解为N+1个所述子私钥。
在一些实施例中,第二确定模块303,用于将N个所述子私钥分别发送至所述区块链的N个不同节点;
将一个所述子私钥发送至所述服务器。
在一些实施例中,构建模块302,用于根据私钥信息确定私钥分割份数,根据智能合约的部署,处理私钥的分发验证;其中所述智能合约包括区块链中的一种自动执行协议;
在一些实施例中,构建模块302,用于根据所述私钥分割次数,构造多项式函数,设定参数信息。
在一些实施例中,第二确定模块303,用于根据所述多项式函数和所述参数信息,确定所述多项式函数的组数值,将所述组数值发给各节点。
第四实施例
以上第一实施例至第二实施例分别详细介绍了区块链中私钥处理的方法,下面将结合图4对一种区块链中的私钥处理装置400进一步介绍。
本发明的私钥处理装置400,包括:
获取模块401,用于从所述区块链的N个节点中的每个节点获取对应的子私钥;基于所述子私钥确定私钥。
处理模块402,用于基于每个子私钥构建对应的第二多项式函数,得到包括N个第二多项式函数的方程组;基于所述方程组确定所述私钥。
在一些实施例中,获取模块401,用于基于每个子私钥构建对应的第二多项式函数,得到包括N个第二多项式函数的方程组;基于所述方程组确定所述私钥。
第五实施例
图5为本申请实施例提供的一种区块链中的私钥处理装置的硬件组成结构示意图。装置800包括:至少一个处理器801、存储器802和至少一个网络接口804。装置800中的各个组件通过总线***805耦合在一起。可理解,总线***805用于实现这些组件之间的连接通信。总线***805除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线***805。
可以理解,存储器802可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是ROM、可编程只读存储器(ProgrammableRead-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-OnlyMemory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable ProgrammableRead-Only Memory,EEPROM)、磁性随机存取存储器(Ferromagnetic Random AccessMemory,FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CompactDisc Read-Only Memory,CD-ROM);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RandomAccess Memory,SRAM)、同步静态随机存取存储器(Synchronous Static Random AccessMemory,SSRAM)、动态随机存取存储器(Dynamic Random Access Memory,DRAM)、同步动态随机存取存储器(Synchronous Dynamic Random Access Memory,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate Synchronous Dynamic Random AccessMemory,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced Synchronous DynamicRandom Access Memory,ESDRAM)、同步连接动态随机存取存储器(SyncLink DynamicRandom Access Memory,SLDRAM)、直接内存总线随机存取存储器(Direct Rambus RandomAccess Memory,DRRAM)。本发明实施例描述的存储器802旨在包括但不限于这些和任意其它适合类型的存储器。
本发明实施例中的存储器802用于存储各种类型的数据以支持装置800的操作。这些数据的示例包括:用于在装置800上操作的任何计算机程序,如应用程序8022。实现本发明实施例方法的程序可以包含在应用程序8022中。
上述本发明实施例揭示的方法可以应用于处理器801中,或者由处理器801实现。处理器801可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器801中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器801可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器801可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器802,处理器801读取存储器802中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、DSP、可编程逻辑器件(Programmable LogicDevice,PLD)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)、FPGA、通用处理器、控制器、MCU、MPU、或其他电子元件实现,用于执行前述方法。
第五实施例
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
从所述区块链的N个节点中的每个节点获取对应的子私钥;
基于每个子私钥构建对应的第二多项式函数,得到包括N个第二多项式函数的方程组;
基于所述方程组确定所述私钥。
可选的,该存储介质可应用于本申请实施例中的终端设备,并且该计算机程序使得计算机执行本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明提供一种区块链中的私钥处理方法、装置及计算机存储介质,基于区块链中私钥的信息,确定将所述私钥分割为子私钥的份数;根据所述份数,构建用于表征所述子私钥的第一多项式函数;基于述第一多项式函数确定所述子私钥;将所述子私钥分别发送至所述区块链的各节点和服务器。本申请在区块链***中加入切分私钥并且提供备份的功能,能丰富私钥验证的应用场景,同时较传统的私钥备份或者多重签名模式,安全性更高。保证交易的隐私和安全,具备较强的保密性且私钥保存的数据不会丢失。同时,将经过加密的私钥保存至智能合约,利用区块链技术的分布式存储数据的特性,避免私钥数据集中存储在一个***服务器,从而降低因***服务器故障造成私钥数据丢失的风险,而且私钥使用智能合约的方式存在区块链上,合约的数据的访问必须符合合约要求才可以访问,智能合约只要在区块链中创建成功就难以被篡改,数据的保护能力极强。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种区块链中的私钥处理方法,其特征在于,所述方法包括:
基于区块链中私钥的信息,确定将所述私钥分割为子私钥的份数;
根据所述份数,构建用于表征所述子私钥的第一多项式函数;
基于所述第一多项式函数确定所述子私钥;
将所述子私钥分别发送至所述区块链的各节点和服务器;
其中,所述基于区块链中私钥的信息,确定将所述私钥分割为子私钥的份数包括:
对所述区块链中的私钥进行处理,得到所述私钥对应的数字;
根据所述数字的大小及所述私钥对应的业务信息,确定分割所述子私钥的份数;所述私钥对应的业务信息包括***的用户数量和用户的权限分配。
2.根据权利要求1所述的方法,其特征在于,所述根据所述子私钥的份数,构建用于表征所述子私钥的第一多项式函数包括:
根据所述子私钥的份数N,确定所述第一多项式函数为N-1次第一多项式函数;
确定所述私钥对应的数字为所述第一多项式函数的第一常数。
3.根据权利要求1所述的方法,其特征在于,所述基于所述第一多项式函数确定所述子私钥,包括:
所述第一多项式函数为N-1次多项式,代入N+1个变量,得到所述第一多项式函数针对N+1个变量对应的N+1个解;
确定N+1个变量及所述N+1个变量分别对应的N+1个解为N+1个所述子私钥。
4.根据权利要求3所述的方法,其特征在于,所述将所述子私钥分别发送至所述区块链的各节点和服务器包括:
将N个所述子私钥分别发送至所述区块链的N个不同节点;
将一个所述子私钥发送至所述服务器。
5.一种区块链中的私钥处理方法,其特征在于,所述方法包括:
从所述区块链的N个节点中的每个节点获取对应的子私钥;
基于所述子私钥确定私钥。
6.根据权利要求5所述的方法,其特征在于,所述基于所述子私钥确定私钥包括:
基于每个子私钥构建对应的第二多项式函数,得到包括N个第二多项式函数的方程组;
基于所述方程组确定所述私钥。
7.一种区块链中的私钥处理装置,其特征在于,所述装置包括:
第一确定模块,用于基于区块链中的私钥信息,确定将所述私钥分割为子私钥的份数;
构建模块,用于根据所述份数,构建用于表征所述子私钥的第一多项式函数;
第二确定模块,基于所述第一多项式函数确定所述子私钥;
将所述子私钥分别发送至所述区块链的各节点和服务器;
所述第一确定模块,还用于对所述区块链中的私钥进行处理,得到所述私钥对应的数字;以及根据所述数字的大小及所述私钥对应的业务信息,确定分割所述子私钥的份数;所述私钥对应的业务信息包括***的用户数量和用户的权限分配。
8.一种区块链中的私钥处理装置,其特征在于,所述装置包括:
获取模块,用于从所述区块链的N个节点中的每个节点获取对应的子私钥;
处理模块,基于所述子私钥确定私钥;
所述基于所述子私钥确定私钥包括:
基于每个子私钥构建对应的第二多项式函数,得到包括N个第二多项式函数的方程组。
9.一种区块链中的私钥处理装置,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述的区块链中的私钥处理方法或所述处理器执行所述计算机程序时实现如权利要求5或6所述的区块链中的私钥处理方法。
10.一种计算机存储介质,其特征在于,所述存储介质用于存储一个或多个计算机程序,所述一个或多个计算机程序包括程序代码,当所述计算机程序在计算机上运行时,所述程序代码用于执行上述权利要求1至4任一项所述的区块链中的私钥处理方法,或所述程序代码用于执行上述权利要求5或6所述的区块链中的私钥处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011288252.0A CN112565201B (zh) | 2020-11-17 | 2020-11-17 | 一种区块链中的私钥处理方法、装置及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011288252.0A CN112565201B (zh) | 2020-11-17 | 2020-11-17 | 一种区块链中的私钥处理方法、装置及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112565201A CN112565201A (zh) | 2021-03-26 |
CN112565201B true CN112565201B (zh) | 2021-11-16 |
Family
ID=75043064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011288252.0A Active CN112565201B (zh) | 2020-11-17 | 2020-11-17 | 一种区块链中的私钥处理方法、装置及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112565201B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114254370B (zh) * | 2021-12-31 | 2024-04-12 | 上海创能国瑞新能源科技股份有限公司 | 基于多方安全隐私计算提升交易匹配度的方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878011A (zh) * | 2017-02-27 | 2017-06-20 | ***股份有限公司 | 一种密钥保存方法及装置 |
CN107623569A (zh) * | 2017-09-30 | 2018-01-23 | 矩阵元技术(深圳)有限公司 | 基于秘密共享技术的区块链密钥托管和恢复方法、装置 |
CN109379184A (zh) * | 2018-09-28 | 2019-02-22 | 北京金山安全软件有限公司 | 一种区块链私钥的存储方法、装置及电子设备 |
CN111339199A (zh) * | 2020-02-28 | 2020-06-26 | 中国工商银行股份有限公司 | 一种区块链密钥恢复方法和装置 |
CN111641499A (zh) * | 2020-04-13 | 2020-09-08 | 山东浪潮质量链科技有限公司 | 一种基于区块链的私钥还原方法、装置、设备及介质 |
WO2020185245A1 (en) * | 2019-03-14 | 2020-09-17 | Hoyos Integrity Corporation | Improving computer system security using a biometric authentication gateway for user service access with a divided and distributed private encryption key |
-
2020
- 2020-11-17 CN CN202011288252.0A patent/CN112565201B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878011A (zh) * | 2017-02-27 | 2017-06-20 | ***股份有限公司 | 一种密钥保存方法及装置 |
CN107623569A (zh) * | 2017-09-30 | 2018-01-23 | 矩阵元技术(深圳)有限公司 | 基于秘密共享技术的区块链密钥托管和恢复方法、装置 |
CN109379184A (zh) * | 2018-09-28 | 2019-02-22 | 北京金山安全软件有限公司 | 一种区块链私钥的存储方法、装置及电子设备 |
WO2020185245A1 (en) * | 2019-03-14 | 2020-09-17 | Hoyos Integrity Corporation | Improving computer system security using a biometric authentication gateway for user service access with a divided and distributed private encryption key |
CN111339199A (zh) * | 2020-02-28 | 2020-06-26 | 中国工商银行股份有限公司 | 一种区块链密钥恢复方法和装置 |
CN111641499A (zh) * | 2020-04-13 | 2020-09-08 | 山东浪潮质量链科技有限公司 | 一种基于区块链的私钥还原方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112565201A (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113765657B (zh) | 一种密钥数据处理方法、装置及服务器 | |
TWI723665B (zh) | 基於恢復的公開金鑰進行認證 | |
Zheng et al. | Fair and dynamic proofs of retrievability | |
US5530757A (en) | Distributed fingerprints for information integrity verification | |
US10833871B2 (en) | System and method for deterministic signing of a message using a multi-party computation (MPC) process | |
JP7047133B2 (ja) | 符号化ブロックチェーンデータのインデックス化および復元 | |
CN110784320A (zh) | 分布式密钥实现方法、***及用户身份管理方法、*** | |
CN112789825A (zh) | 用于转移对数字资源的访问的计算机实现的***和方法 | |
Sookhak et al. | Towards dynamic remote data auditing in computational clouds | |
EP3387576A1 (en) | Apparatus and method for certificate enrollment | |
CN112435020A (zh) | 一种基于区块链的有监管的匿名交易*** | |
US10630471B1 (en) | System and method for enforcement of correctness for key derivation | |
KR20230042346A (ko) | 마스터 키 에스크로 프로세스 | |
CN112446039A (zh) | 区块链交易处理方法、装置、设备和存储介质 | |
CN115804061A (zh) | 生成共享私钥 | |
CN111404892B (zh) | 数据监管方法、装置和服务器 | |
CN118160275A (zh) | 阈值签名方案 | |
CN112565201B (zh) | 一种区块链中的私钥处理方法、装置及计算机存储介质 | |
CN117155551A (zh) | 一种秘密信息的共享方法、***、设备及存储介质 | |
KR20210036700A (ko) | 트랜잭션에 포함된 평문 데이터의 변경을 지원하는 블록체인 시스템 | |
CN114398651B (zh) | 秘密数据共享方法及分布式*** | |
JPWO2019163636A1 (ja) | 秘密計算装置、秘密計算認証システム、秘密計算方法、およびプログラム | |
CN114362961A (zh) | 基于区块链的账户恢复方法、装置、设备及存储介质 | |
CN112751675B (zh) | 一种基于区块链的信息监控方法、***、设备及存储介质 | |
JP2023531695A (ja) | セキュアな秘密回復 |
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 |