我目前正在学校处理一些计算机安全问题,我对一般编程公众偏好、习惯、想法等方面很感兴趣。如果你需要使用随机数生成器或提取器,你会选择哪一个?为什么选择它?是因为其数学特性已经实现为包还是出于其他原因?你会自己编写代码还是使用某个包?
我目前正在学校处理一些计算机安全问题,我对一般编程公众偏好、习惯、想法等方面很感兴趣。如果你需要使用随机数生成器或提取器,你会选择哪一个?为什么选择它?是因为其数学特性已经实现为包还是出于其他原因?你会自己编写代码还是使用某个包?
如果计算时间不是问题,那么您可以选择使用Blum Blum Shub(http://en.wikipedia.org/wiki/Blum_blum_shub)算法。简单来说,它的安全性至少与整数分解一样高,难以预测。
dev/random
,或等同于您所使用的平台。
它从由设备驱动程序提供的熵池返回比特。无需担心数学属性。
如果您正在寻找加密安全的PRNG,则通常可以重复应用安全哈希函数到大型种子数组。不要发明自己的算法,选择一个经过合理审查的版本的Fortuna或其他类似算法。