【问题标题】:Can a computer be random?计算机可以是随机的吗?
【发布时间】:2012-05-23 19:06:38
【问题描述】:

只是今天早些时候进入我脑海的一个随机想法..

是否有可能(利用我们今天拥有的技术)让计算机(无需人工帮助)随机选择 1 到 10 之间的数字(关键字是随机的)而不基于任何方程式或公式(也不是基于准时/日期/等)

值得深思。

【问题讨论】:

  • 是的,当然 - 有很多硬件依赖温度/电流/任何波动来生成随机数。
  • SK-logic:“它依赖于温度/电流/任何东西”属于我的陈述:(也不基于时间/日期/等)(关键词是 ETC)跨度>
  • 时间和日期是确定的。专用的加密硬件使用非确定性电路噪声来产生随机输出,并且通常具有非常全面的数学模型,可以从噪声源中提取多少位真实熵。如果没有专用硬件,仍然存在不确定的熵源,它们属于您的“等”类别。您的问题基本上可以归结为“是否可以在不做任何事情的情况下生成随机数”。
  • @MadBurn - 我不确定您是否了解安全随机或加密硬件的工作原理。 SK-logic 所说的几乎是基于硬件的随机生成设施的标准。这不是你的标准 .NET 东西。
  • @luis.espinal “不基于任何方程式或公式(也不基于时间/日期/等)”对不起,我不知道 cryto 硬件是靠魔法运行的。愚蠢是我的错。

标签: random numbers computer-science theory


【解决方案1】:

如果没有真正不切实际的专用硬件(例如盖革计数器),情况并非如此。计算机使用pseudorandom number generators 来弥补这一点。对于大多数目的而言,这通常“足够好”。

但是,对于安全应用程序,cryptographically secure pseudorandom number generators(真是满嘴!)是必需的。这些仍然是伪随机的,但比简单的随机数生成器更难预测。

【讨论】:

  • 读得很好,感谢您提供的链接。似乎两者都不是 100% 随机的,这就是我的想法
  • Carleton U:看看@seth flowers 对硬件 RNG 的回答,它使用物理效应来生成真正的随机数,例如 Quantis 卡 (idquantique.com)。
【解决方案2】:

请参阅有关硬件生成的随机数生成器的 wiki 文章...本质上是一个提供随机数据的物理过程,就像抛硬币一样,但要快得多。

https://en.wikipedia.org/wiki/Hardware_random_number_generator

【讨论】:

    【解决方案3】:

    选择一到十之间的一个数字(关键字是随机的) 基于任何方程式或公式(也不基于 时间/日期/等)

    这在最严格的意义上是不可能的。而且我认为这对您来说也是显而易见的。
    拥有最好的随机生成器的 Linux 使用用户的击键加上其他变量和当前时间的组合来产生随机数。
    但这也是“公式”的一种形式。

    【讨论】:

    • 很好,感谢您的意见。我有一种感觉这是不可能的,但认为也许有办法..
    • 除了“算法”(即公式)之外,您还期待什么其他方式?
    • 我不确定,因此我提出了这个问题。我想也许有一种我没有想到的方法
    • Linux 有最好的随机生成器吗?与什么相比最好?此外,您所描述的不是一个好的随机生成器(甚至不是很接近)。你从哪里知道它是最好的随机生成器??????而且,从世界上最严格的意义上来说,这也不是不可能的。您所需要的只是一个外围设备,它从已知表现出均匀分布(随机性的关键)的自然随机现象中进行采样。然后将测量修改为您需要的任何范围和精度,然后您就拥有了它。你有一个真正的随机序列,以所需范围为界。
    • @luis.espinal:我不认为你所说的和我所说的不同。 1)我所说的不可能是计算机上提出的问题不是基于某种算法的随机数,这就是 OP 所要求的。2)你所描述的 natural random phenomena 也是我所描述的通过用户的击键等。Linux 收集与用户击键、光标在屏幕中的位置等相关的统计信息,并产生一个随机数。3)我指的是最好的比较,例如一个统计随机和加密的安全生成器
    猜你喜欢
    • 1970-01-01
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-09
    • 1970-01-01
    • 1970-01-01
    • 2019-03-18
    相关资源
    最近更新 更多