打字猴:1.703864465e+09
1703864465
1703864466 ● com:=commit(msg, nonce),承诺函数将信息(msg)和一个临时随机数(nonce)作为输入,输出就是一个“承诺”。
1703864467
1703864468 ● verify(com, msg, nonce),验证函数将某个承诺输出(com)、临时随机数(nonce)及信息(msg)作为输入,如果com==commit(msg, nonce),则返回“真”(true);反之则返回“假”(false)。
1703864469
1703864470 我们要求以下两个安全特性要成立:
1703864471
1703864472 ● 隐秘性:已知com,没有可行的方法找到msg。
1703864473
1703864474 ● 约束性:没有可行的办法找到两组(msg, nonce)和(msg’, nonce’),msg≠msg’,而commit(msg, nonce)==commit(msg’, nonce’)。
1703864475
1703864476 为了使用承诺方案,我们首先需要产生一个临时随机数。然后将这个临时随机数与承诺信息msg一起代入承诺函数,计算承诺函数输出值com,然后公布该输出。这个过程就如同将封好的信封放到一个人人能看到的桌上那样。之后,如果我们希望展示之前的承诺值,我们首先公布用于产生承诺的临时随机数,并公布信息msg。此时任何人都可以验证这时公布的msg是否为之前承诺,这个阶段就如同打开信封。
1703864477
1703864478 对于每次的承诺值,你都需要选择新的随机值,这一点很重要。在密码学中,术语nonce是指,该取值只能使用一次。
1703864479
1703864480 以上两个安全特性决定了这一算法就如同密封及打开信封。第一,如果仅仅知道com,即承诺函数的输出,就如同只看信封并不能得到信息内容;第二就是约束性,这就保证了你一旦承诺信封内的内容,就不能再改变主意。也就是说,我们无法找到两个不同的信息,当你在承诺一个信息后,而又声称你承诺了另一个信息。
1703864481
1703864482 我们如何在承诺协议中保证隐秘性和约束性这两个性质成立呢?在讨论这一点之前,我们需要讨论如何执行承诺方案。我们可以通过使用加密的哈希函数来达到目的,考虑如下承诺协议实施方案:
1703864483
1703864484 commit(msg, nonce):=H(nonce‖msg)
1703864485
1703864486 其中,nonce为长度为256位的临时随机数。
1703864487
1703864488 为承诺一段消息,我们首先生成一个256位的临时随机数,然后将这个临时随机数与信息链接,并返回这个链接值的哈希值,来作为承诺输出。为了便于验证,我们还要设定其他人来计算一下临时随机数与信息链接之后的哈希值,比对一下计算结果是否与承诺输出相同。
1703864489
1703864490 再来看一下我们的承诺方案要求的两个特性,如果我们将承诺和验证换成H(nonce‖msg),那么这些特性就变成:
1703864491
1703864492 ● 隐秘性:已知H(nonce‖msg),没有可行方法找到msg。
1703864493
1703864494 ● 约束性:没有可行方法找到两对(msg, nonce)和(msg’, nonce’),msg≠msg’,而H(nonce‖msg)==H(nonce’‖msg’)。
1703864495
1703864496 承诺的隐秘特性正是我们要求哈希函数要具备的隐秘性,如果将一个解密钥匙选定为256位的随机值,那么由隐秘性得出,如果解密钥匙与信息链接,那么仅仅从哈希函数的输出中恢复信息就是不可行的。约束性隐含在哈希函数的碰撞阻力特性中[3],如果哈希函数具有碰撞阻力,那么我们将不能找到不同的msg及msg’值,而H(nonce‖msg)=H(nonce’‖msg’),如果这种情况发生,将构成碰撞。
1703864497
1703864498 因此,如果哈希函数H具有碰撞阻力及隐秘性,从安全特性上来讲,这个承诺方案将有效。
1703864499
1703864500 特性3:谜题友好
1703864501
1703864502 哈希函数需要的第三个安全特性为谜题友好特性。这一特性较为复杂,我们首先解释该特性的技术要求,然后通过举例来阐释该特性的意义。
1703864503
1703864504 直觉上,谜题友好可以这样解释,如果有一个人想找到y值所对应的输入,假定在输入集合中,有一部分是非常随机的,那么他将非常难以求得y值对应的输入。
1703864505
1703864506 谜题友好 如果对于任意n位输出值y,假定k选自高阶最小熵分布,如果无法找到一个可行的方法,在比2n小很多时间内找到x,保证H(k‖x)=y成立,那么我们称哈希函数H为谜题友好。
1703864507
1703864508 应用:搜索谜题
1703864509
1703864510 现在,让我们试想一个应用以阐释谜题友好特性的意义。在这个应用中,我们将建立一个搜索谜题,该谜题是一个需要对庞大空间进行搜索,才能找到解决办法的数学问题。该搜索谜题没有捷径,也就是说除了搜索庞大的空间来进行求解,别无他法。
1703864511
1703864512 搜索谜题 搜索谜题构成:
1703864513
1703864514 ● 一个哈希函数H。
[ 上一页 ]  [ :1.703864465e+09 ]  [ 下一页 ]