CN108768647B - 一种区块链的随机数产生方法 - Google Patents
一种区块链的随机数产生方法 Download PDFInfo
- Publication number
- CN108768647B CN108768647B CN201810880884.2A CN201810880884A CN108768647B CN 108768647 B CN108768647 B CN 108768647B CN 201810880884 A CN201810880884 A CN 201810880884A CN 108768647 B CN108768647 B CN 108768647B
- Authority
- CN
- China
- Prior art keywords
- random number
- sub
- block chain
- authorization
- fragments
- 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
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种区块链的随机数产生方法,包括区块链各授权节点产生子随机数;将产生子随机数分成N个碎片;区块链各授权节点把N份的碎片分别发送给区块链授权节点;将子随机数的N个碎片进行加密;把加密后的结果分别发送给N个区块链授权节点;区块链授权节点对其进行解密;把解密后的子随机数碎片发送到组装随机数的授权节点;组装随机数的授权节点恢复最先到达的子随机数;组装随机数的授权节点把恢复的子随机数组装成最终随数。本发明可以使多个子随机数的生产者节点不能在其它节点已经产生子随机数的情况下再去产生随机数,组装节点优先恢复并使用最先到达的子随机数组装成最终随机数,以达到不能篡改数据的目的。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种区块链的随机数产生方法和系统。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。区块链是比特币的底层技术,像一个数据库账本,记载所有的交易记录。这项技术也因其安全、便捷的特性逐渐得到了银行与金融业的关注。
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本;广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
但是在现有技术中,区块链中产生的子随机数容易受到子随机数生产者的干扰,从而导致区块链中的数据容易被人为控制利用和篡改。
发明内容
本发明的目的是为了解决现有技术中的问题,而提出的一种区块链的随机数产生方法和系统。
为了实现上述目的,本发明采用了如下技术方案:
一种区块链的随机数产生方法,包括以下步骤:
(1)、区块链各授权节点根据门限秘密分享算法产生子随机数;
(2)、将产生子随机数分成N个碎片,形成子随机数碎片,所述 N为自由设定的参数;
(3)、区块链各授权节点把子随机数分成N份的碎片分别发送给 N个区块链授权节点;
(4)、区块链各授权节点分别对子随机数的N个碎片进行加密;
(5)、区块链各授权节点分别把子随机数的N个碎片进行加密后的结果分别发送给N个区块链授权节点;
(6)、区块链授权节点收到相应的子随机数碎片,并对其进行解密;
(7)、各授权节点把解密后的子随机数碎片发送到组装随机数的授权节点;
(8)、组装随机数的授权节点接收到各子随机数碎片,组装随机数的授权节点恢复最先到达的几个子随机数;
(9)、组装随机数的授权节点把恢复的前几个子随机数组装成最终随机数。
优选的,所述步骤(4)中对子随机数的N个碎片加密的方法为:先获取获取授权节点的公钥地址,再分别用公钥把子随机数碎进行加密。
优选的,所述步骤(6)中解密的方法为:区块链各授权节点利用私钥对收到的子随机数碎片进行解密。
优选的,每个子随机数的授权节点只能看见其他子随机数授权节点所共享的部分子随机数。
优选的,所述步骤(9)中产生的最终随机数需要放入区块链中,并进行全网广播通告。
本发明还提出了一种区块链的随机数产生的系统,包括子随机数生成模块、子随机数发送模块、子随机数接收模块和子随机数组成模块,所述子随机数生成模块用于区块链各授权节点生成子随机数,并将生成的子随机数分成若干个碎片,形成子随机数碎片;所述子随机数发送模块是用于区块链各授权节点把形成的子随机数碎片发送给其他的授权节点,并对子随机数碎片进行加密;所述子随机数接收模块是用于区块链各授权节点接收其他的授权节点发送的加密的子随机数碎片,对其进行解密还原,并把还原后的子随机数碎片发送给组装随机数的授权节点;子随机数组成模块是用于组装随机数的授权节点将收到的子随机数碎片组装成最终随机数,并放入区块链中。
与现有技术相比,本发明提供了一种区块链的随机数产生方法和系统,具备以下有益效果:该区块链的随机数产生方法和系统,通过在随机数产生机制中引入秘密共享技术使子随机数生产者节点用其他子随机数生产者节点的公钥加密写入区块链中,然后其他子随机数生产者节点对各自收到的加密后的子随机数进行解密后还原恢复所有子随机数并随机组合各子随机数,合成最终随机数,达到多个子随机数的生产者节点不能有意的在其它节点已经产生子随机数的情况下再去产生随机数的目的,组装节点利用网络存在的不确定性,优先恢复并使用最先到达的前几个子随机数按一定的“随机规则”组装成最终随机数,以达到不能篡改和去预测数据的目的。
该装置中未涉及部分均与现有技术相同或可采用现有技术加以实现,本发明结构简单,操作方便。
附图说明
图1为本发明提出的一种区块链的随机数产生方法的流程图;
图2为本发明实施例2提出的一种区块链的随机数产生方法的流程图;
图3为本发明提出的一种区块链的随机数产生的系统的结构组成图
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例1
如图1所示,一种区块链的随机数产生方法,包括以下步骤:
(1)、区块链各授权节点根据门限秘密分享算法产生子随机数;
(2)、将产生子随机数分成N个碎片,形成子随机数碎片,所述N为自由设定的参数;
(3)、区块链各授权节点把子随机数分成N份的碎片分别发送给 N个区块链授权节点;
(4)、区块链各授权节点分别对子随机数的N个碎片进行加密;
(5)、区块链各授权节点分别把子随机数的N个碎片进行加密后的结果分别发送给N个区块链授权节点;
(6)、区块链授权节点收到相应的子随机数碎片,并对其进行解密;
(7)、各授权节点把解密后的子随机数碎片发送到组装随机数的授权节点;
(8)、组装随机数的授权节点接收到各子随机数碎片,组装随机数的授权节点恢复最先到达的几个子随机数;
(9)、组装随机数的授权节点把恢复的前几个子随机数组装成最终随机数。
进一步的,所述步骤(4)中对子随机数的N个碎片加密的方法为:先获取获取授权节点的公钥地址,再分别用公钥把子随机数碎进行加密。
进一步的,所述步骤(6)中解密的方法为:区块链各授权节点利用私钥对收到的子随机数碎片进行解密。
进一步的,每个子随机数的授权节点只能看见其他子随机数授权节点所共享的部分子随机数。
进一步的,所述步骤(9)中产生的最终随机数需要放入区块链中,并进行全网广播通告。
实施例2
如图2所示,区块链各授权节点产生子随机数A,并把子随机数 A分成A1、A2、A3、An个碎片,形成子随机数碎片A1、A2、A3、An;区块链各授权节点获取节点1、2、3、n的公钥地址,并分别用公钥把子随机数碎片A1、A2、A3、An进行加密;区块链各授权节点分别把子随机数碎片A1、A2、A3、An加密后的数据分别发送给节点1、2、 3、n;区块链授权节点1收到子随机数碎片A1,并用私钥对子随机数碎片A1进行解密,区块链授权节点2收到子随机数碎片A2,并用私钥对子随机数碎片A2进行解密,区块链授权节点3收到子随机数碎片A3,并用私钥对子随机数碎片A3进行解密,区块链授权节点n 收到子随机数碎片An,并用私钥对子随机数碎片An进行解密;将解密后的子随机数碎片A1、A2、A3、An分别发送到组装随机数的授权节点,组装随机数的授权节点恢复最先到达的子随机数,并把恢复的子随机数组装成最终随机数,将组装成的最终随机数放入区块链中,并进行全网广播通告。
实施例3
如图3所示,一种区块链的随机数产生的系统,包括子随机数生成模块、子随机数发送模块、子随机数接收模块和子随机数组成模块,所述子随机数生成模块用于区块链各授权节点生成子随机数,并将生成的子随机数分成若干个碎片,形成子随机数碎片;所述子随机数发送模块是用于区块链各授权节点把形成的子随机数碎片发送给其他的授权节点,并对子随机数碎片进行加密;所述子随机数接收模块是用于区块链各授权节点接收其他的授权节点发送的加密的子随机数碎片,对其进行解密还原,并把还原后的子随机数碎片发送给组装随机数的授权节点;子随机数组成模块是用于组装随机数的授权节点将收到的子随机数碎片组装成最终随机数,并放入区块链中。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (5)
1.一种区块链的随机数产生方法,其特征在于:包括以下步骤:
(1)、区块链各授权节点根据门限秘密分享算法产生子随机数;
(2)、区块链各授权节点将子随机数分成N个碎片,形成子随机数碎片,所述N为自由设定的参数;
(3)、区块链各授权节点把子随机数分成N份的碎片分别发送给N个区块链授权节点;
(4)、区块链各授权节点分别对子随机数碎片进行加密;
(5)、区块链各授权节点分别把子随机数碎片进行加密后的结果分别发送给N个区块链授权节点;
(6)、区块链授权节点收到相应的子随机数碎片进行加密后的结果,并对其进行解密;
(7)、各授权节点把解密后的子随机数碎片发送到组装随机数的授权节点;
(8)、组装随机数的授权节点接收到各子随机数碎片,组装随机数的授权节点恢复最先到达的子随机数;
(9)、组装随机数的授权节点把恢复的子随机数组装成最终随机数。
2.根据权利要求1所述的一种区块链的随机数产生方法,其特征在于:所述步骤(4)中对子随机数的N个碎片加密的方法为:先获取区块链各授权节点的公钥地址,再分别用公钥把子随机数碎片进行加密。
3.根据权利要求1所述的一种区块链的随机数产生方法和系统,其特征在于:所述步骤(6)中解密的方法为:区块链各授权节点利用私钥对收到的子随机数碎片进行加密后的结果进行解密。
4.根据权利要求1所述的一种区块链的随机数产生方法,其特征在于:每个子随机数的授权节点只能看见其他子随机数授权节点所共享的部分子随机数。
5.根据权利要求1所述的一种区块链的随机数产生方法,其特征在于:所述步骤(9)中产生的最终随机数需要放入区块链中,并进行全网广播通告。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810880884.2A CN108768647B (zh) | 2018-08-04 | 2018-08-04 | 一种区块链的随机数产生方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810880884.2A CN108768647B (zh) | 2018-08-04 | 2018-08-04 | 一种区块链的随机数产生方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108768647A CN108768647A (zh) | 2018-11-06 |
CN108768647B true CN108768647B (zh) | 2022-06-14 |
Family
ID=63968918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810880884.2A Active CN108768647B (zh) | 2018-08-04 | 2018-08-04 | 一种区块链的随机数产生方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108768647B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109617679B (zh) * | 2018-11-29 | 2021-10-22 | 哈希未来(北京)科技有限公司 | 生成、获取以及提供随机数的方法、系统以及存储介质 |
CN109559119A (zh) * | 2018-11-29 | 2019-04-02 | 成都捕风数据科技有限公司 | 通过委托区块生产者达到区块链可信内源随机过程的方法 |
CN110865793B (zh) * | 2018-12-29 | 2023-05-12 | 北京版全家科技发展有限公司 | 一种基于区块链智能合约生成随机数的方法 |
CN111291411B (zh) * | 2020-02-13 | 2022-12-23 | 福州大学 | 基于卷积神经网络的安全视频异常检测系统及方法 |
CN111488134B (zh) * | 2020-04-09 | 2021-04-27 | 堡垒科技有限公司 | 基于区块链的公开随机数生成方法及设备 |
CN112562168B (zh) * | 2020-11-27 | 2022-08-02 | 中国联合网络通信集团有限公司 | 基于区块链的线上摇号方法、系统、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10594480B2 (en) * | 2016-05-13 | 2020-03-17 | Gideon Samid | Efficient proof of knowledge of arbitrarily large data which remains unexposed |
CN105827402B (zh) * | 2016-05-18 | 2019-08-20 | 武汉理工大学 | 一种分布式公开可验证随机数生成方法 |
-
2018
- 2018-08-04 CN CN201810880884.2A patent/CN108768647B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108768647A (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108768647B (zh) | 一种区块链的随机数产生方法 | |
CN108809652B (zh) | 一种基于秘密共享的区块链加密账本 | |
US11818262B2 (en) | Method and system for one-to-many symmetric cryptography and a network employing the same | |
CN106548345B (zh) | 基于密钥分割实现区块链私钥保护的方法及系统 | |
CN109120639A (zh) | 一种基于区块链的数据云存储加密方法及系统 | |
CN109067522B (zh) | 一种随机数可验证秘密共享方法 | |
CN109543434B (zh) | 区块链信息加密方法、解密方法、存储方法及装置 | |
JP5944437B2 (ja) | 耐タンパ性トークンを用いてセキュアなトランザクションを達成するための効率的な技術 | |
CN112367170B (zh) | 基于多方安全计算的数据隐匿查询安全共享系统及方法 | |
US11831753B2 (en) | Secure distributed key management system | |
JP2022550774A (ja) | 安全な通信で使用するための鍵生成 | |
CN113225302A (zh) | 一种基于代理重加密的数据共享系统及方法 | |
CN104168320A (zh) | 一种用户数据分享的方法和系统 | |
KR102546762B1 (ko) | 블룸 필터를 이용한 블록체인에서의 다중 서명 지갑 시스템 | |
KR102328896B1 (ko) | 제3자 위탁 운영 시스템에 대한 암호키 배포 및 복구 방법 | |
CN115380502A (zh) | 从备份存储器中恢复分布式密钥 | |
CN114117475B (zh) | 一种改进的属性基加密方案系统及其加密算法 | |
CN114710693A (zh) | 一种视频流分布式传输方法及装置 | |
CN111010386B (zh) | 一种基于共享账本的隐私保护与数据监管控制方法 | |
CN114629640A (zh) | 一种解决密钥托管问题的白盒可追责属性基加密系统及其方法 | |
Sarumi | A review of encryption methods for secure data communication | |
CN115484022B (zh) | 一种秘钥托管电子设备 | |
Kausalye et al. | Data Confidentiality in Cloud Storage. A Survey | |
KR20240136961A (ko) | 암호 화폐 지갑의 자금 긴급 복구 트랜잭션 | |
CN115484022A (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 |