哈希力量归集文库路径访问: 首页 > 无人驾驶智能汽车 > 无人自动驾驶

初步理解哈希算法

苏江同学 ☉ 文 来源:苏江同学 2018-04-24 @ 哈希力量

【小哈划重点:哈希算法可以说是密码学的基础,也是理解比特币的一个重要基础概念。比特币的主要特点就是不可篡改性,这一点正式由哈希算法所达到的...】

哈希算法可以说是密码学的基础,也是理解比特币的一个重要基础概念。s7X哈希力量 | 消除一切智能鸿沟

比特币的主要特点就是不可篡改性,这一点正式由哈希算法所达到的。s7X哈希力量 | 消除一切智能鸿沟

当前各种区块链概念下发展起来的应用,尤其是存储类如IPFS、再到版权应用如PressOne所提出的概念里,均是通过对文件进行哈希计算,然后仅仅将哈希值存储到区块链上,而非文件本身,就这样可以达到验证文件唯一性的目的。s7X哈希力量 | 消除一切智能鸿沟

之所以很多把哈希值当做是文件指纹,因为它是文件唯一性的标志,与每一个字节都有关,当文件发生改变是,指纹值也会改变。s7X哈希力量 | 消除一切智能鸿沟

哈希算法有个显著的特点:s7X哈希力量 | 消除一切智能鸿沟

  • 单向加密、不可逆

它的实现原理往往是通过丢掉一部分信息来实现的。s7X哈希力量 | 消除一切智能鸿沟

比如:给出一串数字12345,你对它进行平方,去掉前三位,再除以固定的数字比如678,取整数。s7X哈希力量 | 消除一切智能鸿沟

1,12345x12345=152399025
2, 去掉前三位就是399025
3,399025/678=588.532448
4,取整数为558s7X哈希力量 | 消除一切智能鸿沟

可以看到,通过固定的计算公式,可以由12345得出558的结果,但仅仅提供558这个数字,尽管把算法公开,你也几乎不可能再推导出它计算前的数字。s7X哈希力量 | 消除一切智能鸿沟

这种丢掉一部分信息的加密方式被称为“单向加密”,即哈希算法s7X哈希力量 | 消除一切智能鸿沟

一个可靠的哈希算法至少需要满足一下几个条件:s7X哈希力量 | 消除一切智能鸿沟

1,对于给定的数据M,很容易算出哈希值X=F(M);s7X哈希力量 | 消除一切智能鸿沟

2,根据X很难算出M;s7X哈希力量 | 消除一切智能鸿沟

3,很难找到M和N令F(M)=F(N)。s7X哈希力量 | 消除一切智能鸿沟

目前互联网上使用的比较多哈希算法有:s7X哈希力量 | 消除一切智能鸿沟

  • MDA
  • SHA-256

这些哈希算法远比上面举的例子要复杂得多。s7X哈希力量 | 消除一切智能鸿沟

那SHA-256举例,任意输入一串字符,可以得的固定64位长度的字符。s7X哈希力量 | 消除一切智能鸿沟

具体的计算方法相当复杂,实现步骤还需要看百科....s7X哈希力量 | 消除一切智能鸿沟

网上有很多在线计算哈希值的有工具,可以做个试验:s7X哈希力量 | 消除一切智能鸿沟

http://www.atool.org/hash.phps7X哈希力量 | 消除一切智能鸿沟

这种加密方式这些显著的特点:s7X哈希力量 | 消除一切智能鸿沟

  • 算法公开。s7X哈希力量 | 消除一切智能鸿沟

  • 对于一串很长的数据,仅仅改变一个字母,也会造成二次哈希结果的巨大差异。s7X哈希力量 | 消除一切智能鸿沟

  • 任意长度的输入(不超过2^64 bit),都可以得到固定长度的输出。s7X哈希力量 | 消除一切智能鸿沟

单向加密算法并不能用来进行普通的信息传输,更多是用来进行传输结果的准确性验证。s7X哈希力量 | 消除一切智能鸿沟

验证方通过再进行一次哈希运算,将结果与原有值想对比,就可以知道文件是否有被篡改过了。s7X哈希力量 | 消除一切智能鸿沟

介绍一个工具: Proof Of Existence.s7X哈希力量 | 消除一切智能鸿沟

https://proofofexistence.com/s7X哈希力量 | 消除一切智能鸿沟

通过支付一点bitcoin, 它可以帮你将你的重要文件做一个哈希运算,并将哈希值以及当前时间永久地存储在比特币区块链的某笔交易记录里。这样的好处就是为你的文件做一个在某个时刻就已经存在的证明,可作为版权正面的一个雏形...s7X哈希力量 | 消除一切智能鸿沟



收录源追溯链接或暂略


本文收录后固定可引用URL链接
    http://www.haxililiang.com/jishu/rumen/18045.html


☉ 文库同一主题内容智能推荐 ☉
哈希力量 ☉ 人机智能科普文库