1

我有一个想法,但不确定如何执行它。我想拿一根有点长的 USB 线,把两端都插到同一台机器上。然后我想从一端发送一个信号,并计算到达另一端需要多长时间。我认为这应该会导致信号在不同的时间到达,这会导致我得到随机数。

有人可以建议一种我可以最快地做到这一点的语言吗?我在通过 USB 发送信号方面的经验为零,不知道从哪里开始或如何开始。任何帮助将不胜感激。

我只是想把这个作为一个有趣的家庭项目,所以我不需要任何官方的东西,只是想看看这个想法是否可行。

编辑:如果我将 USB 电缆存放在液氮或冷的物质中以尽可能减慢信号速度(我可以使用液氮)。

4

2 回答 2

1

抱歉,我无法发表评论(没有足够的代表),但延迟应该始终通过电线保持相同。这可能会限制数字的真正随机性。另外,线路中的实际延迟时间甚至可能比 CPU 周期还短。

如果您的操作系统是 Windows,您可能会遇到此类问题:

为什么 .NET 计时器的分辨率限制为 15 毫秒?

显然,Windows 上的最小时间分辨率约为 15 毫秒。

编辑:响应您的液氮编辑,根据这些图表,您可能对热量有更多的运气!够有趣的...

温度与电导率 http://www.emeraldinsight.com/content_images/fig/1740240120008.png

于 2013-07-01T18:41:46.930 回答
0

我想拿一根有点长的 USB 线,把两端都插到同一台机器上。

不会工作。USB 连接始终是Host -> Device,PC 只能是主机。并且通信使用可预测的 1 毫秒间隔 - 不利于随机性。

一些较新的微控制器在芯片上同时具有 RNG 和 USB,这样您就可以制作真正的 USB RNG。

如果我将 USB 电缆存放在液氮或同样冷的物质中以减慢信号速度怎么办?

由于电缆的电阻较低,信号的传播速度会稍微快一点。

于 2013-07-03T17:20:54.580 回答