简体   繁体   English

如何从大气噪声中获取随机数?

[英]How can I get a random number from atmospheric noise?

I had a discussion recently about looking for a method to generate truly random numbers. 我最近讨论过寻找一种生成真正随机数的方法。 The discussion ended up talking about using atmospheric noise. 讨论最后讨论了使用大气噪声。 Has anyone done this? 有没有人这样做过? What is involved in the process? 这个过程涉及什么? Has anyone created a web service that returns random numbers obtained from noise? 有没有人创建一个Web服务,返回从噪声中获得的随机数?

This entire website is based around "truly random" numbers generated using atmospheric noise. 整个网站都是基于使用大气噪声生成的“真正随机”数字。 They have an API that you can hook into if you like: 他们有一个API,如果你愿意,你可以挂钩:

http://www.random.org/clients/http/ http://www.random.org/clients/http/

Your best bet for a web-service for randomness is RANDOM.ORG , they do use atmospheric noise as a source of entropy: 对于随机网络服务而言,最好的选择是RANDOM.ORG ,它们确实使用大气噪声作为熵的来源:

RANDOM.ORG is a true random number service that generates randomness via atmospheric noise RANDOM.ORG是一种真正的随机数服务,可通过大气噪​​声产生随机性

Interestingly, Intel is currently researching a method to embed random-number generation based on fluctuations in voltage and temperature inside a chip . 有趣的是, 英特尔目前正在研究一种基于芯片内部电压和温度波动嵌入随机数生成的方法 While it's possible to generate randomness based on noise outside of a processor as an external unit, when the generator is outside of the CPU, it's possible to isolate power constraints and other factors to be unique to the generator, thus making the external unit more vulnerable. 虽然可以基于处理器外部的噪声作为外部单元生成随机性,但当发电机位于CPU外部时,可以将功率约束和其他因素隔离为发电机的唯一因素,从而使外部单元更加脆弱。 From the article: 来自文章:

Building the circuit into the main processor shuts off that possibility, says Krishnamurthy, although the barrier to doing that has been practicality. Krishnamurthy说,将电路构建到主处理器中会阻止这种可能性,尽管这样做的障碍是实用性。 The best-established methods of generating random numbers use analog circuits that rely on thermal noise as a source of randomness, and those circuits are not easily fabricated with the techniques used to make the digital circuits of a microprocessor. 最成熟的产生随机数的方法使用依赖于热噪声作为随机源的模拟电路,并且这些电路不易用用于制造微处理器的数字电路的技术制造。 Nor are they easily scaled down to the size of components on modern chips. 它们也不容易缩小到现代芯片上的组件尺寸。

You can use RANDOM.ORG to retrieve truly random numbers. 您可以使用RANDOM.ORG来检索真正的随机数。 They have both a website and webservice that support this, and use atmospheric noise (IIRC) to produce the values. 他们有一个支持这个的网站和网络服务,并使用大气噪声(IIRC)来产生价值。

The API for their HTTP protocol is available here . 他们的HTTP协议的API 可以在这里找到

Random.org does this if I recall correctly. 如果我没记错的话, Random.org会这样做 They use atmospheric noise because it has very little "patterned" noise that skews the uniform distribution that you want. 它们使用大气噪声,因为它具有非常小的“图案”噪声,会扭曲您想要的均匀分布。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM