4

为了保证随机数生成器的真实性,我们的想法是,如果用户愿意,他们可以验证该数字实际上是从公共熵源生成的。这使系统能够确保服务器无法选择随机数的用户。

$entropy = "what_do_you_think";
$md5 = md5($entropy);
/*take the first 10 hex characters of the md5 hash*/
$hex = substr($md5, 0, 9);
/*convert the hex to decimal*/
$dec = hexdec($hex);
/*use this decimal as a seed*/  
srand($dec);
/*pick a random number between 0 and 9, ultimately seeded by the entropy*/
$rand = rand(0,9);

我的问题是:有哪些好的公共熵源(最好是不可变的和混乱的),并且绝对可以引用,它们可以连接在一起形成一个字符串并输入 md5?一些想法是特定的股票价格、温度(来自诚实的来源)、比特币区块链中包含的哈希值......

4

3 回答 3

2

查看 xkcd 的地理哈希算法。我认为这几乎是您正在寻找的东西。

http://wiki.xkcd.com/geohashing/Implementations

地理散列算法使用道琼斯指数作为熵源。本页讨论通过网络获取道琼斯指数开盘价的方法。 http://wiki.xkcd.com/geohashing/Dow_Jones_Industrial_Average

但我认为最好的公开、不可变和可验证熵的来源可以在比特币交易数据库中找到。它广泛分布并不断验证,并具有定义的协议。

于 2012-09-26T21:32:40.623 回答
0

使用物理熵的安全价值在于它是不可预测的,即除了收单方之外的任何人都不知道。使用任何人都可以使用的熵到底有什么意义?不妨将 Pi 的打印输出打开到一百万个位置并选择一个起点。

除此之外,原则上没有办法确定服务器给你的随机数是否实际上来自它显然使用的熵源。

于 2012-09-05T03:43:37.237 回答
0
于 2012-09-05T03:15:20.583 回答