美文网首页
区块链基础知识笔记(1) -- 密码学哈希函数

区块链基础知识笔记(1) -- 密码学哈希函数

作者: Abububiu | 来源:发表于2018-06-18 10:03 被阅读0次

密码学哈希函数是区块链的根基,也是很多安全系统的基石。

密码学哈希函数包含两个概念,哈希函数和密码安全。哈希函数是一个数学函数,具有以下三个特性:

  • 其输入可以为任意大小字符串
  • 它产生固定大小的输出(比如256位的输出)
  • 它能进行有效的计算,且计算时间合理,对n位的字符串,其哈希计算的复杂度为O(n)

要使得哈希函数达到密码安全,又需要哈希函数具有以下三个附加特性:

  • 碰撞阻力
  • 隐秘性
  • 谜题友好

碰撞阻力
如果无法找到两个值,x和y,x不等于y,使得H(x) = H(y),则称哈希函数H具有碰撞阻力。然而实际中,并没有办法找到完全不碰撞的哈希函数,也不存在某个哈希函数具有完全防碰撞特性。但是,找到某些哈希函数的碰撞情况的概率仍为无穷小,比下两秒陨石撞地球的概率还小得多,所以我们选择相信那些加密的哈希函数具有碰撞阻力。

由此我们可以将哈希函数输出作为信息摘要,并用作鉴别文件真伪的证据。例如我上传了一个很大的文件到服务器,在我下载这个文件到电脑时,如何保证文件没有被修改?我只需要在上传文件前,计算下文件的哈希值并保存起来。在下载文件后,重新计算下下载文件的哈希值,与之前保存的哈希值比较一下,就知道文件有没有被修改。

隐秘性
隐秘性是指我们仅仅知道哈希函数的输出y = H(x), 但却无法通过y倒推出x的值。
隐秘性的应用之一就是“承诺”。比如我说明天的体育彩票开奖号码为123456,但我不想立刻告诉大家,怕体彩破产,只想让大家知道我预测了一个号码。开奖后如果不是我预测的号码,我给大家一人一万元。如何保证我不会出尔反尔,在开奖后说我预测的号码就是开奖号码?

在开奖前,将我预测的号码和一个随机数作为哈希函数的输入,将得到的输出公之于众,大家不可能通过我公布的输出推出我预测的号码。开奖后,我公布我预测的号码和这个随机数,那么大家都能验证我说的是否正确,同时,我也不可能改变主意,赖掉这件事了。

在密码学中,这个随机数(nonce)意味着只能使用一次。这一点很重要,不少安全函数对随机数的随机性及使用次数都有明确规定。

谜题友好
这一特性是指,如果一个哈希函数y = H(x)具备谜题友好性,这就意味着没有一个解决策略比只是随机地尝试x取值来求得给定y更好

安全哈希算法
安全哈希算法(Secure Hash Algorithm 256, SHA-256)在比特币系统中被大量使用。这是一个效果很不错的哈希函数。

简单介绍了一下密码学哈希函数,希望对大家能有帮助
有兴趣的朋友可以加群讨论,一起学习 701477586

参考资料
《区块链技术驱动金融》

相关文章

  • 区块链基础知识笔记(1) -- 密码学哈希函数

    密码学哈希函数是区块链的根基,也是很多安全系统的基石。 密码学哈希函数包含两个概念,哈希函数和密码安全。哈希函数是...

  • 区块链密码学——哈希函数

    密码学是区块链以及一切网络安全相关产业的基础,而密码学中的哈希函数又被普遍运用到区块链中。拿比特币来说,其钱包地址...

  • 5分钟区块链|技术篇 - 哈希算法

    区块链的兴起让神秘的密码学进入大众视野,今天介绍密码学中的哈希算法。提到哈希算法,熟悉区块链的朋友首先想到的也许就...

  • 什么是区块链?

    什么是区块链? 笔记来源于:刑不行老师的课程。 1、区块链原理 哈希函数(Hash):将任意长度的字符串,转化为固...

  • 技术驱动金融 第一章

    区块链:技术驱动金融-第一章密码学及加密货币概述 1.1 密码学哈希函数要 使 哈 希 函 数 达 到 密 码 安...

  • 【#1-彭】加密经济学

    比特币为什么能够稳定运行? 哈希函数,区块链,BFT,POW。。。 这些统统都不重要,有利可图才重要。 密码学保护...

  • 区块链技术简介( 去中心化 )

    账本区块链账本是一个基于密码学安全的分布式账本,是一个方便验证不可篡改的账本. 讲到区块链就不得不说明一下哈希函数...

  • 第1 章 区块链基础入门

    1.1 区块链基础知识 1.1.1 区块链定义 1.块链式数据结构 2.分布式共识算法 3.密码学方式 1.多中心...

  • 解密区块链:二、密码学哈希函数(1)

    上一章我们讲了虚拟货币的历史,帮助大家了解了虚拟货币的安全性问题,在这一章我们就谈一下虚拟货币的实现基础——密码学...

  • 我最看重的区块链的三个价值

    我个人觉得区块链价值最大的三个方面: 1、是规则的执行和持续的维护是由计算机完成,基于现代密码学的哈希函数,p2p...

网友评论

      本文标题:区块链基础知识笔记(1) -- 密码学哈希函数

      本文链接:https://www.haomeiwen.com/subject/zeogeftx.html