[发明专利]一种基于区块链哥德巴赫生成随机数的方法在审
申请号: | 202110655880.6 | 申请日: | 2021-06-11 |
公开(公告)号: | CN113326023A | 公开(公告)日: | 2021-08-31 |
发明(设计)人: | 王玲利 | 申请(专利权)人: | 广州以大坊区块链科技有限公司 |
主分类号: | G06F7/58 | 分类号: | G06F7/58;G06F16/27 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 510630 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 哥德巴赫 生成 随机数 方法 | ||
1.一种基于区块链哥德巴赫生成随机数的方法,其特征在于,所述方法包括如下步骤:
进入区块链,获取指定区块保存的所有数据;
对数据进行随机打乱重排,对重排后的数据进行切割,将数据尽量不均等的切割n份;
求取这n份数据的哈希值,并将各个哈希值进行整数化处理;
将数据中是偶数的部分挑选出来,并将偶数数据进行从小到大的排序为2a、2b、2c…2m,其中abc…m;
对排序后的每个偶数进行哥德巴赫拆分,求取每个偶数的素质组成2m=x+y,其中xy,将每个组成中的x保存下来;
根据所求随机数的位数和所求取素数的位数关系,组成随机数;
所述将哈希值整数化处理是指将哈希值转化成十进制整数;
所述哥德巴赫拆分是指哥德巴赫猜想,每个大于等于4的偶数都可以转化成两个素数的和,将上述偶数根据哥德巴赫拆分成两个素数的和;
所述根据所求随机数的位数和所求取素数的位数关系,组成随机数方法为:判断所求取随机数的位数,所有素数的位数,通过两个素数的位数和合成随机数的位数,即合成了随机数。
2.根据权利要求1所述的一种基于区块链哥德巴赫生成随机数的方法,其特征在于,所述获取指定区块保存的所有数据的方法为:进入区块链的一个区块,提取区块链梅克尔根树,最底层树枝的所有数据;所述梅克尔根树是区块链区块保存数据的一种数据结构。
3.根据权利要求1所述的一种基于区块链哥德巴赫生成随机数的方法,其特征在于,所述对重排后的数据进行切割的方法,还包括:将重排后的数据进行不均等的切割,切割方式为:根据重排后数据的总的字符数进行不均等的切割,使的切割以后的第一部分数据为A个字符,第二部分数据为2A个字符,第三部分为3A个字符,以此类推,直到把重排后的数据切割完成,把数据共切割成n份。
4.根据权利要求1所述的一种基于区块链哥德巴赫生成随机数的方法,其特征在于,所述将各个哈希值进行整数化处理的方法为:将所求的n个哈希值先转化为仅有1和0组成的二进制数,再将每个二进制数转化成十进制数;将哈希值转化成二进制数的方法为:将哈希值中的所有符号和字母转化成1,保存原有哈希值中的1和0,这样就得到仅有1和0组成的二进制数;将二进制数转化成十进制数的方法为:按照二进制数转化为十进制数的公式:η=q256*2256+q255*2255+…+q1*20,其中η为所求的十进制数,q256指二进制数最大位数的数字,q255指二进制数最大位数次位数的数字,依照这种规则,直到q1为二进制数最低位数字。
5.根据权利要求1所述的一种基于区块链哥德巴赫生成随机数的方法,其特征在于,所述将每个组成中的x保存下来的方式为:将所有的x按二位数、三位数、四位数和三十八位数进行保存分组。
6.根据权利要求1所述的一种基于区块链哥德巴赫生成随机数的方法,其特征在于,所述根据所求随机数的位数和所求取素数的位数关系,组成随机数;所述位数关系为:素数组和随机数所包含的位数关系,指随机数的位数等于两个素数位数的和。
7.根据权利要求1所述的一种基于区块链哥德巴赫生成随机数的方法,其特征在于,所述组成随机数的方法为:将所述随机数的位数等于两个素数位数的和的两个素数按照先后顺序排列组成一个新的数,组成的新的数即为所求随机数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州以大坊区块链科技有限公司,未经广州以大坊区块链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110655880.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于区块链的定量获取随机数的方法
- 下一篇:一种异常告警方法、装置及设备