Random 真(非伪)随机数生成器。什么';外面有什么?

Random 真(非伪)随机数生成器。什么';外面有什么?,random,hardware,Random,Hardware,我正在寻找能产生真正随机数的价格合理的解决方案 我发现,这是一个加密声音随机数发生器。是否有人在该领域有经验和/或了解其他解决方案 PS:IMHO SO问题没有真正涵盖这一点 编辑: 我的好奇心更具学术性。我不想知道PRNG在实际应用中是否足够好。我知道他们存在,而且他们会这样做 当然,生成真正的随机数需要硬件设备。这就是为什么我用硬件来标记它。计算中真正的随机数不存在,也永远不会存在。计算机是确定性的,如果你在相同的环境下重复相同的经历,就会得到相同的结果 你从计算机上得到的是伪随机数,主要

我正在寻找能产生真正随机数的价格合理的解决方案

我发现,这是一个加密声音随机数发生器。是否有人在该领域有经验和/或了解其他解决方案

PS:IMHO SO问题没有真正涵盖这一点


编辑

我的好奇心更具学术性。我不想知道PRNG在实际应用中是否足够好。我知道他们存在,而且他们会这样做

当然,生成真正的随机数需要硬件设备。这就是为什么我用硬件来标记它。

计算中真正的随机数不存在,也永远不会存在。计算机是确定性的,如果你在相同的环境下重复相同的经历,就会得到相同的结果

你从计算机上得到的是伪随机数,主要取决于当前的情况:日期、时间、其他变量,如正在使用的内存、当前的网络流量等

例如,一些在线扑克网站,为了在一定程度上保证他们所发牌的随机性,必须安装特定的硬件来接收环境噪声并根据环境噪声生成随机数(不仅如此,这也是一个主要因素)


因此,要获得接近真实随机性的伪随机数,您需要考虑外部因素。

您没有指定环境

来自Linux的/dev/random的文档

随机数生成器收集数据 设备产生的环境噪声 将驱动程序和其他来源转换为 熵池。发电机也保持稳定 对数据位数的估计 熵池中的噪音。从…起 这个熵池中的随机数是 创造

因此,这是一个加密安全的随机源,基于不可预测的输入,如以太网数据包的任意定时、键盘和鼠标输入等

还有Bruce Schneier的PRNG服务器。不是真正随机的,但被认为是加密安全的


。。。还有熵收集守护进程。用Perl编写,因此可跨多种平台移植。

在c't2/2009中有一篇关于真随机数和伪随机数的文章。除了拉瓦尔德,还讨论了兰德卡姆和维娅的挂锁。

我一直都想买这两种产品,但我不知道它们的价格,坦率地说,可能会很多!不过,它们确实分别提供了惊人的16兆比特/秒和4兆比特/秒的随机数,可用于*NIX盒和窗口。这比我需要的还要多


除此之外,一本装满它们的书怎么样?也许是他们在亚马逊上卖的最酷的书!我还没买,但这只是时间问题。一定是非常方便,有这样一个股票的真正随机数在您的书架上

全面解决这个问题是一个广泛的话题

存在硬件随机数生成器。它们使用热噪声甚至量子效应(在最快的模型中)来生成高质量的随机数

有人怀疑热噪声随机数生成可能存在“偏差”。也就是说,从极端长期来看,某些数字的生成频率高于其他数字。生成的数字仍然是真正随机的

看看这是怎么回事,考虑一个不公平的硬币,给出60%的时间头。掷硬币仍然是一个随机的过程——只是从长远来看,我们应该预计其中60%是人头。执行随机过程编码信息,或“熵”,因为任何确定的结果只是许多可能结果中的一个。另一方面,与公平硬币生成的相同序列相比,不公平硬币生成的正面和反面序列包含的信息更少

结果是,对于可证明的、偏执级别的安全性,您不希望直接使用硬件随机数生成器的数字。你想把它们输入一个熵池,随机(但可能有偏差)的数字可以搅动熵池

事实上,大多数硬件随机数生成器设计用于通过内核(或Windows等效程序)向/dev/random提供数据,以处理这种偏差/熵问题


另一方面,任何像样的随机数生成器都将足够均匀,可以快速进行蒙特卡罗模拟。

你的第一句话在量子力学中备受争议。随机性是你认为存在的东西,因为你不知道它是如何发生的。一旦你发现了风景背后的机制,它就不再是随机的了。例如,谈论预测雨天。这在1000年前是不可能做到的,而且似乎是一个随机事件;不再是了。@Seb:幸运的是,计算机可以做I/O,这意味着它们可以访问外部世界的随机性——见斯利姆的答案。@j_random_hacker:那么,你说的不是计算中的随机性,而是外部世界的随机性。嗯,我是相信确定性世界的人之一,所以我只是相信这不是随机的,而是我们无法预测的,给我们“随机的感觉”。在轮盘赌中投球也是一样。现在,这变得越来越哲学化,而不是算法化:PI会打赌这就是OP提到的LavaRnd程序的基本功能——我不认为LavaRnd添加了在大多数操作系统中不可用的任何东西,除了跨平台的可移植性。LavaRnd中的Lava是一盏真正的熔岩灯,这些随机数是通过网络摄像头拍摄的图像计算出来的。上一次我听说这不是大多数OSs的一个功能。我在LavaRnd网站上没有看到关于熔岩灯的参考。它说他们的混沌源是一个暗箱中的CCD。原版使用了熔岩灯的照片。Lavarand的一位开发者继续帮助创建了一个新的系统,它去掉了熔岩灯,只使用了黑暗中摄像机发出的热噪声。如果你需要固定的、不可信的随机数,