我需要一个真正的随机数生成器Web服务[关闭]


10

Random.org 每天每个IP提供来自模拟世界(cf.)的200k免费随机位(仅6250个32位整数!)。

有谁知道每天提供更多按需随机比特的替代Web服务?

(只要价格在每美元美分1000×1024bits的“预期范围内”就可以付款)(random.org的付费服务收费为该价格的100×)


9
更大的问题是“为什么”需要“真正的”随机数生成器?
2011年

5
纯软件中没有真正的随机生成器。您可以靠近,一天结束时,它并不是真正随机的。
拉姆猎犬,

10
您需要什么?如果是游戏或其他游戏,那么伪随机通常就足够了。如果是加密技术,则不应使用Web服务。您需要先解释它的用途,然后我们才能为您提供可行的解决方案。
迈克尔·科恩

4
来呀![webservice] public int GetRandomNumber() { return 4; // rfc 1149.5 }。信用:xkcd.com/221
2011年

3
先生,打扰一下,您想买点整数吗?我们仅库存最好的自由范围手工艺品整数。
Rein Henrichs

Answers:


25

也许这一个。

http://qrng.physik.hu-berlin.de/

从站点:

我们基于光子到达时间的量子随机性提供了一种新的量子随机数生成器(QRNG)。它保证了可证明的长期统计质量,速度以及可负担性。我们的设计在某种意义上创造了一种新的质量,因为它提供了比以前的公众可用解决方案高得多的比特率。通过利用最新的光子定时仪器和硬件中的最新数据处理,这已经成为可能。

除了提供高速(通过USB高达150 Mbits / s)之外,应用于原始数据的后处理算法还基于信息论的可靠预测,从而保证了随机性的保留。这允许在无条件安全的加密方案中使用传递的随机数。访问策略
[...]
访问
的数据都不会一次以上传递给单个用户,也不会跨多个独立用户传递。免费使用该服务,但需要注册。


1
(0.o)?!加油!我以为这是个玩笑,但没有,它确实存在:)(+1)很棒的发现
2011年

4
-1为劣质答案。这很可能是一个很好的解决方案,但是您没有提供有关链接/服务的详细信息,并且我不希望阅读整个链接以获取摘要。如果在P.SE的答案中需要链接,请提供您要链接的解决方案的摘要。如果您修改答案,我将考虑删除我的不赞成票。
Craige

4
@NimChimpsky-为什么?因为这就是您在P.SE上写质量答案的方式。ba__friend应该为那些阅读此问题的人发布了对该服务的简短说明。关于服务如何生成随机数的快速解释/报价。
Craige

2
@Craige我用网站摘录更新了帖子。
亚当李尔

5
@NimChimpsky:因为发生了linkrot。
乔恩·珀迪

31

您要的是圣水,而您拒绝使用普通水的建议。选择圣水而不是水的唯一原因是宗教信仰。有一些简单的,随机播种的PRNG,无法通过任何已知过程将其与真实的物理随机性区分开。而且这些系统不确定的。

真实世界的计算机具有真实物理随机性的多个来源。例如,现代的x86 CPU具有一个“ TSC”,用于测量指令周期数(从而间接地测量达到十亿分之一秒左右的时间)。

当网络数据包到达时,您可以捕获TSC。TSC的低位将取决于对网络接口进行计时的晶振和运行CPU的晶振之间的精确偏移。这取决于两个石英晶体的微观区域温度变化,据信这是真正随机的。

同样,当数据从硬盘驱动器到达时,您可以捕获TSC。低位取决于硬盘驱动器表面和外壳之间的湍流气流剪切。还认为这是真正随机的。

众所周知的算法,例如Linux内核使用的算法(由Theodore Ts'o根据M. Matsumoto和Y. Kurita的工作开发)使用雪崩效应将一些不可预测的比特转换为更大的数字。这些算法的输出(假设它们已由TSC数据正确播种)与真正的物理随机性输出之间的唯一区别是令人信服的-没有已知的方法可以区分这些输出。没有一项测试会通过而另一项将会失败。

我已经开发了用于在线娱乐场的随机数生成器,并已获得独立认证。这些方法是现实世界中使用的方法。


6
+1为常识,有趣的例子和漂亮的圣水比喻!
mikera


@David,您好,我在脑海中阐述了“我已经开发了用于在线娱乐场的随机数发生器”的故事。
Pacerier's

没那么有趣。我做到了,一家在线赌场雇了我为他们开发RNG,并且它得到了澳大利亚认证公司TST的认证。
David Schwartz

13

我仍然不明白为什么加密PRNG不足以解决您的问题。加密PRNG的一个定义属性是不可能(使用合理数量的硬件)将其输出与真正的RNG区分开。

这意味着,除了生成加密密钥或初始化加密PRNG本身(显然需要数百比特的真实熵才能开始)之外,它对于我能想到的任何类型的仿真或应用程序都足够好。

另一方面,网络服务RNG不能用于加密,因为

  1. 您无法证明它们实际上是真正的PRNG,因为您无法将其输出与PRNG区分开
  2. 您需要信任服务运营商
  3. 随机数据通过较低的安全通道发送给您。可以破坏PRNG的攻击者也可以破坏SSL。

因此,我想不出哪一种用法会比首选的PRNG更喜欢Webservice RNG。如果您确实需要真实且安全的随机数,那么我认为自己可以自行构建硬件。


是的,我无法证明输出是真正随机的。但是,不难相信它random.org/statistics。您似乎认为安全是我的要求之一,但不是。我需要一个随机数句号。不是一个随机且安全的数字。(如果攻击者想偷听自己的
声音

1
不难相信PRNG,在数学上已经证明了PRNG与真正的RNG的区别需要解决非常困难的数学问题。
CodesInChaos

@CodeInChaos是一个在线赌场,很难解决数学问题吗?不是,但这需要那种真正的随机性,您不这样认为吗?
Pacerier,2011年

2
我没有技术上的原因,为什么一个好的PRNG偶尔会收到一百位的真实熵,对于一个在线赌场来说也不足够。可能有法律上的原因,但是我认为在这种情况下,您需要在本地生成真正的随机性,因为这样可以为您提供更多机会证明您使用的是真正的随机数。
CodesInChaos

8
+1我完全同意你的看法。如果创建的游戏需要生成现实的随机数据,那么使用PRNG会比真正的随机数生成器更好。首先,有一个数学证明,证明它可以生成符合概率分布的统计随机数据。其次,您可以选择该概率分布。第三,您可以确定性地测试您的应用程序。第四,您可以在启动时选择种子,这样它就不会表现出两次相同的行为。我个人认为,OP实际上并不了解随机性的含义,或者他为什么需要随机性。

5

几年前,您可以调用SGI的lavarand,该lavarand通过使用当前的斑点形状和网络摄像头正在监视的熔岩灯的位置来生成随机数。

尽管现在已经不复存在,但是您可以轻松地使用网络摄像头和LavaRnd的资深人员创建自己的生成器(编辑:现在停下来一段时间。Wayback Machine Sourceforge Project)。事实证明,您根本不需要熔岩灯:将网络摄像头密封在防光容器中时,CCD拾取的噪声是生成加密声音随机数的重要来源。

(我知道这不是您现在可以使用的服务,但是因为它曾经是,因为它是如此的酷,并且因为您可以非常轻松地创建几乎免费的服务,所以我认为这值得一试。)


但是随着时间的推移,网络摄像头产生的“随机”噪声肯定会符合正态分布吗?我不知道要澄清吗?
2011年

4
@Darknight:分布与随机性有什么关系?可以生成确定性序列以匹配任何分布,并且随机数可以适合任何分布。
David Thornley

2
@Darknight正如David所指出的那样,数字最终是否符合正态分布不会影响随机性。如果您对使随机数生成器以声音(或强密码)生成声音所需的条件感兴趣,那么LavaRnd的家伙在他们的站点上会有大量的“ stat nerd”信息和链接,以及它们与LavaRnd的关系。
马修·弗雷德里克

严重的是,没有办法轻松地创建一个马修。您如何定义简单?
Pacerier,2011年

2
@Pacerier您认为“简单”是一个观点问题是正确的。如果您可以访问服务器并且找到合适的网络摄像头时间不长,那么这种方法很容易-例如,在ebay上花10美元“立即购买”。剩下的就是安装相机了。下载,编译和运行免费软件;并在您的代码中添加对该服务的调用。这并非微不足道,而是非常简单,极其便宜,并且可以提供无限数量的请求。
马修·弗雷德里克

1

打开与任何主机/端口的TCP连接,并计算其花费的纳秒数。有你的随机数。


我希望这不是您实际生成随机数的方式。
Craige

9
我的回答(轻度讽刺)的意思是,数据包传输时的熵比“信任”第三方信任服务器的“随机”数要有价值得多。
R .. GitHub停止帮助ICE,

5
@Pacerier:除非是专家,否则没有人会写自己的加密货币。这与将纯文本发送到Web服务并返回密文不同。同样,您可能不想尝试设计自己的量子随机性系统,但是通过HTTP获得随机数并不可靠。
David Thornley

1
@Pacerier但是您仍然没有显示为什么无法使用偶尔使用熵注入(来自局部熵源)的局部PRNG的替代方法。
CodesInChaos

1
@Pacerier:请相信我:经济学模拟不需要真正的随机数。一个好的伪(或准,如果您关心平均分布)随机生成器就足够了。问题出在其他地方(例如:您希望数字在许多维度上不相关-您怎么知道您使用的Web服务甚至麻烦检查它们的数字如何填充20维空间?)。
–quant_dev

1

这是另一个基于量子的生成器,具有至少一个剩余的api:

http://photonics.anu.edu.au/qoptics/Research/qrng.php

ANU的研究人员正在从物理量子源生成真正的随机数。为此,我们将一束光分成两束,然后测量每束光的功率。因为光被量化,所以每个光束中的光强度围绕平均值波动。最终归因于量子真空的那些波动可以转换成随机数源。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.