解密区块链:二、密码学哈希函数(3)
2019-01-10 本文已影响13人
币圈小说家
前两章我们讲了密码学哈希函数三个附加特性的两个:碰撞阻力和隐秘性。
这一章我们就来谈谈关于安全的最后一个特性:谜题友好。
谜题友好的定义:如果对于任意n位输出值y,假定k值选自高阶最小熵分布,如果无法找到一个可行的方法,在比2的n次方小很多时间内找到x,保证H(k|x)=y成立,那么我们成哈希函数H为谜题友好。
通俗来讲的话就是对于一个输出值,在我们认知的区域取样内,若找不到该值,则表示为谜题友好。因为在一个输入集合中,有一部分是非常随机的,所以求得该值是非常困难的。
谜题友好的问题主要应用于搜索谜题,假设我们自己建立一个搜索谜题,该谜题需要我们在一个很庞大的空间内进行搜索,若果我们想要找到该输出值y的谜题,除了在该庞大的空间内我们进行一个一个值去实验,去计算,否则我们是没有任何办法来求出该值的。
一个搜索谜题的构成,由以下三部分组成:
1、一个哈希函数H
2、从高阶最小熵分布选出的一个值,取名id,我们称之为谜题id。
3、目标集合Y
从以上三个部分我们可以分析得出:
1、若函数H有一个n位的输出,那么它的值可能有2的n次方个。Y决定了谜题的难度,其元素越少则谜题的难度越大;高阶最小熵ID确定性就越小。反之则高阶最小熵的ID确定性越大。
这一应用显著的放在了比特币挖矿上面!
这也是为什么比特币挖矿需要进行大量的算法进行计算,也是为什么家用计算机挖矿基本是不可能的事。
以上这三个方面,保证了哈希函数的安全性。
d8d6699c-b896-403d-9851-a3aaf45fe741.jpg