密码学初探之———哈希函数

加密货币的两个密码学基础:哈希函数和数字签名,今天介绍我对于哈希函数和哈希指针以及数据结构的理解和记录理解哈希函数过程中的疑问以待日后解决。

哈系函数流程图.jpg

哈希函数的特性

碰撞阻力

任何哈希函数在理论上都是碰撞的,但是由于实践中对于一个哈希函数无法找到碰撞,就默认为其具有碰撞阻力,无法找到的原因是:①测试碰撞计算量要求太高,②无法确认识别碰撞的有效方法;

碰撞阻力的应用:信息摘要,其保证了文件的唯一性;

隐秘性

H(r ll x)= y
取至一个具备高阶最小熵的分别中的值 r 与输入值 x 进行连接构成新的输入值 r ll x,这样就是取至任意分布的 x 具有了隐秘性,也就是无法通过输出值y计算出输出值x;

隐秘性的应用是承诺,一个承诺协议如果成立需要两个安全特性:隐秘性和约束性,对于约束性和碰撞阻力我的理解是:两则是子母集关系,如图:


碰撞阻力与约束性的关系图.jpg

谜题友好

H(id ll x)∈Y
谜题友好中id与Y共同决定了解决上述数学问题的难度,因为id和Y的范围都可认为控制,这样就可控制挖矿的难度。

哈希指针

哈希指针具有两个特征:告诉使用者存储的位置和告诉位置数据的哈希值

问题集结:

?1,约束性隐含在哈希函数的碰撞阻力特性中,但是结论反之不成立,就是说我们可以找到碰撞,但是都不是满足H(nonce ll msg)= = H(nonce’ ll msg’)意义下的碰撞,例如,你可以对于同一个信息来产生满足同一个承诺的随机数,但这里的哈希函数不具备碰撞阻力特性。

?2,安全哈希算法中的SHA-256哈希函数简化图中的MD变换的解释能够看懂,但是简化图不理解什么意思

?3,在讲到区块链的结构的时候提到:区块链的结构与我们上节见到的MD变换类似,这个很不理解。

以上是学习:区块链 技术驱动金融 数字货币与智能合约技术 这个本书第一张第一小节和第二小节的总结,如果发现有任何理解错误之处欢迎交流。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 所有货币都需要一些方法来控制供应,并强制执行各种安全属性以防止作弊。在法定货币方面,像中央银行这样的组织控制货币供...
    Nutbox_Lab阅读 3,146评论 1 3
  • 通往比特币的漫长道路之密码学和数字货币 重大的技术创新从来不是政府规划、设计、主导的结果。技术更替、创新与演化依靠...
    TimberWang阅读 413评论 0 0
  • 一、实验目的 学习使用 weka 中的常用分类器,完成数据分类任务。 二、实验内容 了解 weka 中 explo...
    yigoh阅读 8,627评论 5 4
  • 首页 资讯 文章 资源 小组 相亲 登录 注册 首页 最新文章 IT 职场 前端 后端 移动端 数据库 运维 其他...
    Helen_Cat阅读 3,913评论 1 10
  • 刚才打开邮箱,发现一张已经过期的生日贺卡,是系统自动发送给用户的,我听了贺卡里的那首歌,贺卡上的小人儿还会动。谢谢...
    1601阅读 246评论 3 3