非确定性方式生成随机大数



生成大随机数的最佳非确定性方法是什么?我写了一个代码来使用时间函数生成大数,但它是确定性的。

在Linux机器上,/dev/urandom是一个不确定随机数的源。

另一个技巧是从互联网上下载一些非随机材料(新闻文章,股票报价等);压缩它们(使用zip或类似的东西);然后用好的加密软件(如AES)进行加密。生成的字节流是随机的(对于大多数实际用途)。

看一下

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

使用操作系统或编程语言提供的随机数生成器要安全得多。要编写一个不产生任何可识别模式的随机数生成器真的很难。

正如drdwilcox上面所说的,除非你有真正的随机输入,否则你不可能有一个真正的非确定性随机数生成器,这需要某种硬件。

最新更新