关于真随机数生成器

有限状态机不能产生真正的随机数的,所以在现在的计算机中并没有一个真正的随机数生成算法,现有的随机数生成算法生产的随机数只不过因为重复的周期比较大,可以做到使产生的数字重复率很低,这样看起来好象是真正的随机数,一般称作叫伪随机数发生器。 

真正的随机数是使用物理现象产生的:比如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等等。这样的随机数发生器叫做物理性随机数发生器,它们的缺点是技术要求比较高。真随机数生产效率没有伪随机数高,还有就是"信息熵的信息量如果很有限的话,就不是一定是真的随机数了。" 

还有人质疑真正的随机数的存在,这是哲学问题,不在此涉及。 

查了下现有的真随机数生成器,比如PuTTYgen的随机数是让用户移动鼠标达到一定的长度,之后把鼠标的运动轨迹转化为种子;Intel通过电阻和振荡器来生成热噪声作为信息熵资源;Unix/Linux的dev/random和/dev/urandom采用硬件噪音生成随机数;(待补充) 

基于特定Intel芯片组中random number generator(RNG)单元的真随机数生成器.在Intel 815E芯片组的个人电脑上安装Intel Security Driver(ISD)后,可以通过编程读取寄存器获取RNG中的随机数. 

有人在BBS上提到:RSA的书上介绍过一种随机数发生器,根据的是劣质内存芯片工作在高温下,其数据是不可预测的,读取这里面的数据,就会得到难以预测的随机数。有采用这种技术制作随机数发生器板卡。 

关于Linux系统的真随机数生成器在《Linux内核设计与实现》一书的附录B中有详细介绍 
Linux自1.3.30版就在内核提供了真随机数生成器,至少是理论上能产生真随机数,它利用机器的噪音生成随机数,噪音源包括各种硬件运行时速,用户和计算机交互时速。比如击键的间隔时间、鼠标移动速度、特定中断的时间间隔和块IO请求的响应时间等。 

此外还有提供真随机数的网站,如: 
1。 http://random.irb.hr/ 是一个免费为学术和科研机构提供真随机数字服务的网站。全名是Quantum Random Bit Generator Service (QRBGS),由克罗地亚的计算机科学家开发。其随机性依赖于半导体光子发散量子物理过程中内在的随机性,光子通过光电效应进行检测。这些随机检测到的光子都是相互独立的。 
可以通过C/C++库、Web Service、Mathmatic/Matlab插件等多种方式访问。将来会提供基于SSL的安全访问。 
它甚至还有个小小的Erlang的客户端访问程序 
http://code.google.com/p/qrbgerl/ 


2. 还有http://random.org/,从1998年开始就在Internet上提供真随机数服务了,它用大气噪音生成真随机数 

 

 

=========================

1.框架级别:System.Random,性能高

2.操作系统,性能低一些

3.API式:https://www.random.org/

大气噪音:https://www.random.org/ 1998

 https://mp.weixin.qq.com/s/ShMT4tSuxFmI5AMpuO16tg
https://www.random.org/clients/http/

 

https://www.random.org/integers/?num=10&min=1&max=100&col=1&base=10&format=plain&rnd=new

量子随机:半导体光子发散量子物理过程中内在的随机性。

http://random.irb.hr/

Quantum Random Bit Generator

https://www.random.org/sequences/

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值