我有一个想法,但我不确定如何执行它。我想用一根长的usb电缆将两端插入同一台机器。然后我想从一端和时间发出信号到达另一端需要多长时间。我认为这应该导致信号在不同时间到达,这将导致我得到随机数。
有人可以推荐一种我能以最快速度完成此任务的语言吗?我没有通过usb发送信号的经验,也不知道从哪里开始或如何开始。任何帮助将不胜感激。
我只是想在家庭项目中做一个有趣的事情,所以我不需要任何正式的,只是想看看这个想法是否可行。
编辑:如果我将usb电缆存放在液氮或冷却物质中以尽可能减慢信号(我可以获得液氮),该怎么办?
答案 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电缆存放在液氮或冷却物质中以减慢信号,该怎么办
由于电缆的电阻较低,信号会快速移动 。