[发明专利]一种真随机数生成方法有效
申请号: | 201710601779.6 | 申请日: | 2017-07-21 |
公开(公告)号: | CN107368283B | 公开(公告)日: | 2020-07-03 |
发明(设计)人: | 王剑;乔阔远 | 申请(专利权)人: | 郑州大学 |
主分类号: | G06F7/58 | 分类号: | G06F7/58 |
代理公司: | 洛阳公信知识产权事务所(普通合伙) 41120 | 代理人: | 宋晨炜 |
地址: | 450000 河南省郑州*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种真随机数生成方法,用到一种生成装置,生成装置包括随机系统和生成系统;随机系统包括闭环连接的处理模块、事件执行模块和计时模块,生成系统包括闭环连接的数值拆分模块、0/1生成模块和存储模块,其中数值拆分模块和0/1生成模块均与处理模块相连接。本发明提供一种真随机数生成方法,引入外部随机事件执行装置,确保随机数生成过程完全是随机的,从而生成真随机数。 | ||
搜索关键词: | 一种 随机数 生成 方法 | ||
【主权项】:
一种真随机数生成方法,其特征在于:用到一种生成装置,生成装置包括随机系统和生成系统;随机系统包括闭环连接的处理模块、事件执行模块和计时模块,生成系统包括闭环连接的数值拆分模块、0/1生成模块和存储模块,其中数值拆分模块和0/1生成模块均与处理模块相连接;具体的生成步骤如下:S1、数值拆分模块根据随机数的上界B1和下界B2计算界差B,B=B1‑B2;S2、数值拆分模块对B进行拆分,其中k0、k1、k2、……、kn为自然数,并且有并计算叠加参数T=k0+k1+k2+……+kn+(n+1);S3、数值拆分模块将k0、k1、k2、……、kn传输给0/1生成模块,0/1生成模块生成(n+1)个存储区,每个存储区分别有(k0+1)、(k1+1)、(k2+1)、……、(kn+1)个数位,存储区生成完毕后向存储模块申请(n+1)个内存地址块,记为Address0,Address1,Address2,……,Addressn;其中Address0大小为k0个字节,Address1大小为k1个字节,依次类推;S4、数值拆分模块传输给处理模块一个临界值L生成信号;S5、处理模块接受到临界值L生成信号后开始生成临界值L,具体的生成步骤包括:T1、处理模块提出一个事件E并设定执行次数,然后将事件E和执行次数传输给事件执行模块;T2、事件执行模块接收到处理模块提出的事件E并按执行次数逐次执行;T3、处理模块利用计时模块采集事件执行模块每次执行事件E消耗的时间;T4、处理模块计算所有执行时间的均值,该均值即为临界值L;S6、处理模块将生成的临界值L传输给数值拆分模块;S7、数值拆分模块给处理模块传输一个临界值L生成信号和叠加参数T,同时将临界值L传输给0/1生成模块;S8、处理装置接收到随机量生成信号后将所述事件E传输给事件执行模块并设定执行次数为T;S9、事件执行模块执行T次事件E,并返回给处理模块T个执行时间t;S10、处理模块将T个执行时间t传输给0/1生成模块,0/1生成模块将执行时间t和临界值L进行对比,根据对比结果产生一个0或1,具体步骤包括:P1、0/1生成模块将执行时间t和临界值L相比较,如果执行时间t大于临界值L,则输出1,否则输出0;P2、0/1生成模块将生成的0或1传输给存储装置;S11、存储装置根据S3中生成的内存地址块,对于每一个内存地址块进行以下操作:Q1、对于内存地址块中的每一个字节Bi,Q2、使用0/1生成装置传输过来的0或1依次替换Bi,使每个内存地址块内存储一个二进制数;S12、数值拆分模块读取内存地址块Address0,Address1,Address2,……,Addressn中的二进制数,并将其转化为十进制数值,对应为D0,D1,D2,……,Dn;S13、数值拆分模块将D0,D1,D2,……,Dn求和记为D,计算D和B的余数C,将C+B1作为结果并输出。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州大学,未经郑州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710601779.6/,转载请声明来源钻瓜专利网。
- 上一篇:特种钢铸造金属模具加热装置
- 下一篇:一种七支管组合型铸钢节点浇冒系统