正如标题所说:什么是一个非安全的随机数发生器和安全的随机数生成器有什么区别?
Answer 1:
不计算上是可行的算法应该:
- 回收种子,或
- 预测“下位”
一个安全的随机数发生器。
例如:一个线性反馈移位寄存器产生大量的随机数的存在,但是给定的足够的输出,所述种子可以被发现和所有后续号码预测。
Answer 2:
一个安全的随机数不应该是可预见的,甚至给先前产生的随机数的列表。 您通常会使用它的一键加密例程,所以你不希望它被猜到的或可预见的。 当然,被猜到取决于上下文,但你应该假设攻击者知道所有你知道的东西,可能会使用产生的随机数。
有迹象表明,产生安全的随机数的各种网站,一个值得信赖的一个是hotbits 。 如果你只是做了随机数生成一个一次性的活动,为什么不使用彩票开奖结果,因为它可证明是随机的。 当然,不要告诉任何人这彩票和借鉴,并把这些数字通过合适的轧液得到你想要的范围内。
Answer 3:
只需“随机数”一通常意味着一个伪随机数。 因为它是一个伪随机数也可以是(容易)被攻击者的预测。
一个安全的随机数是从一个真正的随机数据源,即随机数。 涉及的某些种类的熵池。
Answer 4:
与Purfiedeas同意。 还有关于很好的文章,称作弊在线扑克
Answer 5:
随机数可能意味着通过使用“种子”的算法返回一个伪随机数。
一个安全随机数将是从设备返回的真正的随机数,如铯基于随机数发生器(它使用铯的衰减率返回的数字)。 这是天然存在的和无法预测的。
Answer 6:
这可能取决于上下文,但是当你在他们这样的比较,我会说“随机数”是pseduo随机数和“安全随机数”是真正随机的。 前者为您提供了基于种子和算法,另一些inherintly随机函数的一个数字。
Answer 7:
这就像AES和ROT13之间的差异。
要少轻率,没有产生之间是多么困难,以及如何预测的下一个顺序是,一旦你已经看到了一些随机数时,通常是一个权衡。 )通过你的语言的内置兰特(返回一个随机数通常会是廉价的,可预见的品种。