使用USB电缆进行随机数生成

时间:2013-07-01 18:36:36

标签: random numbers usb generator usb-drive

我有一个想法,但我不确定如何执行它。我想用一根长的usb电缆将两端插入同一台机器。然后我想从一端和时间发出信号到达另一端需要多长时间。我认为这应该导致信号在不同时间到达,这将导致我得到随机数。

有人可以推荐一种我能以最快速度完成此任务的语言吗?我没有通过usb发送信号的经验,也不知道从哪里开始或如何开始。任何帮助将不胜感激。

我只是想在家庭项目中做一个有趣的事情,所以我不需要任何正式的,只是想看看这个想法是否可行。

编辑:如果我将usb电缆存放在液氮或冷却物质中以尽可能减慢信号(我可以获得液氮),该怎么办?

2 个答案:

答案 0 :(得分:1)

抱歉,我无法发表评论(代表不够),但延迟时间应该始终相同。这可能会限制您的数字的真实随机性。此外,线路中的实际延迟时间可能比CPU周期短。

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

Why are .NET timers limited to 15 ms resolution?

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

编辑:根据你的液氮编辑,根据这些图表,你可能有更多的运气加热!有趣的是......

Temperature vs Conductivity http://www.emeraldinsight.com/content_images/fig/1740240120008.png

答案 1 :(得分:0)

  

我想用一根长的usb线并将两端插入同一台机器。

不行。 USB连接始终为Host -> Device,PC只能是主机。通信使用可预测的1 ms间隔 - 对随机性不利。

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

  

如果我将usb电缆存放在液氮或冷却物质中以减慢信号,该怎么办

由于电缆的电阻较低,信号会快速移动