sjdkx的个人博客分享 http://blog.sciencenet.cn/u/sjdkx

博文

真随机数发生

已有 2216 次阅读 2018-12-8 21:39 |个人分类:密码学相关|系统分类:论文交流| 随机数, 真随机数

  我们希望建造真随机数组,有两种方法一种是采集,一种是自造。

一、采集法建造真随机数

  这需要有产生随机数的物理环境,例如环境噪声,宇宙射线计数等等需要专门的设备在此就不讨论了,利用计算机本身的一些随机事件,也能采集到真随机数,但是效率太低,不能快速的得到大量的随机数,所以不适于应用。

二、自造方法

  真随机数并不神秘,只是些分布均匀的乱码而已。要办到这些需要现成的随机源,例如庞大的乱码库,优良的随机函数,优良的随机函数也是现成的随机源,有时没有乱码库,使用优良的随机函数是最实际的选择,让随机性通过定律和运算转移到我们的数组中。我们可以通过运算将有规律的数据变成无规律的乱码,利用热力学第二定律可知,如果用外部因素对数组秩序进行干扰,数组的混乱程度只会增加不会向相反的方向发展。所以我们对分布均匀的有序数组做随机排序,最终能够生成符合要求的随机数组。我们可以利用随机函数来实现数组的随机排序(这相当于利用多种外部因素改造数组秩序),这样建造的随机数组是不依赖于任何算式的,并且数组数据之间是没有任何关系的。要想建造性能优良的真随机数组,规模是不能太小的,否则无法实现统计学意义上的指标,这样建造的数组都是较大的,并且是同时建造,如果让其一个一个的输出则更像个随机函数了,可以有其种子,但是没有周期,并且是可控的,比那些采自物理运动的随机数据更好控制。实践证明不止用顺序数组可以建造真随机数组,我们截取一段伪随机数组应用随机排序也可以建造,同样规模也不能太小。

  澄清一个概念——真随机数组

  真随机数都是以数组形式出现的,真随机数的定义是:看起来像是乱码,不可预测,不可重复产生的数组。所以现实中真随机数组是不存在的,因为存在的数组都是可以重复的,并且是已知的。

  真随机数只存在于其生成机制中,如果它的生成数组看上去是乱码,你不能预测其下一个数值,并且整体上不重复,那它就是个真随机数发生器。




https://blog.sciencenet.cn/blog-251800-1150591.html

上一篇:随机函数加密文件
下一篇:随机函数加密信息
收藏 IP: 121.28.121.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (1 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-7-27 22:01

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部