Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Random 真随机数发生器_Random_Cryptography_Seed_Prng - Fatal编程技术网

Random 真随机数发生器

Random 真随机数发生器,random,cryptography,seed,prng,Random,Cryptography,Seed,Prng,据我所知,PRNG使用一个种子来生成一个并非真正随机的数字序列。是否有可能创建一个真正的随机数生成器,每次使用不同的种子,反复重复使用PRNG。种子可以从dev/random或当前时间或时钟滴答声中提取。如果没有,那么软件中是否实现了真正的随机数生成器 谢谢如果你每次需要一个随机数时都重新为PRNG设定种子,你只需去掉中间人,直接将种子用作随机数即可 但你所说的是在实践中完成的。这些是所谓的加密安全PRNG,它们在许多操作系统中用于为加密应用程序提供随机数。它们经常从熵池中重新播种,并且设计成这

据我所知,PRNG使用一个种子来生成一个并非真正随机的数字序列。是否有可能创建一个真正的随机数生成器,每次使用不同的种子,反复重复使用PRNG。种子可以从dev/random或当前时间或时钟滴答声中提取。如果没有,那么软件中是否实现了真正的随机数生成器


谢谢

如果你每次需要一个随机数时都重新为PRNG设定种子,你只需去掉中间人,直接将种子用作随机数即可

但你所说的是在实践中完成的。这些是所谓的加密安全PRNG,它们在许多操作系统中用于为加密应用程序提供随机数。它们经常从熵池中重新播种,并且设计成这样,从计算上很难从知道过去的数字(例如,对于LCG来说,这是非常琐碎的事情)中计算出下一个数字,也很难从当前数字中计算出过去的数


这种方法的好处是,您不会阻止生成随机数。系统中的熵是一种有限的资源,只能来自外部资源,因此通过使用CSPRNG,您可以安全地扩展它,同时不会影响安全性。

时钟不是很随机,但是/dev/random有一些随机性——它实际上就像一桶随机性,你可以根据随机性产生和消耗的速率来消耗它。如果使用dev/random,则不必使用RNG。从/dev/random播种RNG是多余的。

简单的答案是没有这样的实现,因为据我所知,这根本不可能。要生成真正的随机数,你需要一个外部的熵源,比如。

英特尔,如果它能像广告宣传的那样工作的话,它将是一个真正具有开创性的东西。这实际上会使硬件PRNG变得多余。

嗨,乔伊,CSPRNG仍然在PRNG附近,有真正随机的东西吗?为什么CSPRNG实际上不是随机的?从解释来看,对我来说,这听起来像是基于熵池的真正随机性当然,你使用了实际的随机性,但你从种子中生成了一些数字,这当然是一个确定的过程,尽管很难逆转。正确使用这种RNG需要经常重新播种,以避免单个种子流失太久。