0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

哈希算法的前世、今生和未来

电子设计 来源:电子设计 作者:电子设计 2020-12-25 18:54 次阅读

新人在学区块链技术的时候,都会听到哈希和哈希算法,这似乎是无处不在的安全性保证。例如比特币或者以太坊这种运行去中心网络和共识的机器,都会有上万个节点通过P2P连接,并且需要“无需可信”和可验证的效率。这些系统需要将信息写入紧凑的格式,从而通过参与者进行保证安全和快速验证。

比特币和以太坊主要的primitive是区块的notion,这是包含转账信息,时间戳和其他重要数据的数据结构。他们安全性的重要部件,就是能够压缩网络全部的状态信息,变成很短,并且标准的信息,在需要的时候可以进行有效验证,这就被称之为哈希。

到处都会使用加密哈希,从密码存储到文件验证系统。使用确定性算法的基本原理,就是使用一个输入,并且每次都产生一个固定长度的字符串。也就是说,使用同样的输入总是会导致同样的输出。

确定性不仅对哈希很重要,而且可以改变输入的单个字符会产生完全不同的哈希。

哈希算法的问题是碰撞(collisions)的必然性。哈希是固定的字符串,意味着对于每个输入,不同的输入都会产生同样的输出。碰撞(collisions)是不好的。这意味着如果有攻击者能够根据需求创建这种collisions,那么他就可以让欺诈文件或者数据看起来像正确的,合适的哈希,并且冒充合法。优质哈希功能的目标是让攻击者很难找到,获得输入数据的方法。

计算哈希不应该太简单,因为这会让对于攻击者来说,计算collisions也变得很容易。哈希算法需要对“预攻击”有抵抗性。也就是说,给定哈希,应该很难计算追溯确定性的步骤来重新产生由哈希创建的数值。

Given s= hash(x), finding x should be near impossible.

概括来看,“好的”哈希算法会有以下3种特性:

-在输入中改变一个字符,应该会创建雪崩效应,从而导致完全不同的哈希

-很低的概率会产生collisions

-提高效率,但是不会牺牲collision的对抗性

破散哈希

其中一个初始哈希算法标准是MD5哈希,这是被广泛用来进行文件整合验证,而且存储哈希密码在网页应用数据库。这个功能非常简单,因为输出是固定的,128个字符串对于每个输入,并且使用几轮微不足道的单向运算来计算其确定性输出。它的输出长度短,操作简单,使得MD5彻底易碎,被称为生日攻击。

“生日攻击”是什么?

我们曾经听过,如果你把23个人放在一个房间,就会有50%的概率,其中的2人会有同样的生日?将这个数字提升到70人在一个房间,就会有99.9%的概率。这就是我们所说的鸽巢原理,也就说如果把100个各自放到99个箱子,你就必须在1个盒子里面放2个鸽子。换句话说,固定的输出意味着collisions 可能会找到固定的排序。

其实,MD5对于collision的抵抗是很脆弱的,家庭使用的2.4GHz处理器就可以在几秒钟算出哈希collision。而且,对于现在网页的早期使用,还可以在网络上创建很多MD5的预图形,如果搜索哈希,就可以在谷歌上很容易找到。

哈希算法的多样化和革新

开始:SHA1 &SHA2

NAS被称为哈希算法标准的先驱,最初的想法是安全哈希算法或者SHA1,创建了160固定长度的输出。不幸地是,SHA1通过增加了输出长度,单向操作的数量,还有单向操作的复杂性,从而形成了MD5算法,但是这不会提供任何基础的提升,来对抗更有力量的机器来尝试不同的攻击。

我们怎么才能做得更好呢?

审核编辑:符乾江

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 智能计算
    +关注

    关注

    0

    文章

    149

    浏览量

    16410
  • 以太坊
    +关注

    关注

    14

    文章

    1838

    浏览量

    31720
收藏 人收藏

    评论

    相关推荐

    二极管的前世今生

    二极管的前世今生
    的头像 发表于 12-14 18:35 606次阅读
    二极管的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>

    情感语音识别的前世今生

    的支持。本文将探讨情感语音识别的前世今生,包括其发展历程、应用场景、面临的挑战以及未来发展趋势。 二、情感语音识别的发展历程 起步阶段:早期的情感语音识别技术主要依赖于声谱分析、特征提取等传统信号处理方法,但这
    的头像 发表于 11-12 17:33 346次阅读

    基石数据:TOC理论物理学浅析—MES的前世今生(十一)

    MES的前世今生前面的文章大体介绍了TOC下的低结存,计划统一性原则,列队生产,日结日清,品质问题碎片化等,有很多朋友问是否基石公司不再做数字化,而做流程梳理,非也!其实所有不同的制造业生产方式都有
    的头像 发表于 11-09 10:39 212次阅读
    基石数据:TOC理论物理学浅析—MES的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>(十一)

    带你探索吹风筒的前世今生【其利天下高速风筒方案开发】 

    电吹风作为如今生活中不可或缺的小家电之一,这个看似简单的设备,已经走过了漫长的发展历程,从它的前世今生,经历了许多变革和创新,本文将带您穿越时间,探索其前世
    的头像 发表于 11-02 16:15 931次阅读
    带你探索吹风筒的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>【其利天下高速风筒方案开发】 

    golang语言的加密解密算法实现

    HMAC是密钥相关的哈希运算消息认证码(Hash-based Message Authentication Code)的缩写, 它通过一个标准算法,在计算哈希的过程中,把key混入计算过程中。
    发表于 10-12 15:11 914次阅读

    哈希与加密有什么区别?

    哈希与加密有什么区别
    发表于 10-09 06:29

    鸿蒙操作系统的前世今生

    开源基金会负责社区化的开源运营,而HarmonyOS是基于OpenHarmonyOS 的商用发行版。 ■ 图4 鸿蒙操作系统示意图 03、鸿蒙操作系统的前景 鸿蒙操作系统是一款“面向未来”的操作系统,它
    发表于 10-08 19:55

    Linux内核分析 端口哈希

    端口哈希桶 在inet_csk_get_port函数中的变量声名中有如下几个结构体: struct inet_hashinfo * hinfo = sk- >sk_prot- >h.hashinfo
    的头像 发表于 07-31 11:03 442次阅读
    Linux内核分析 端口<b class='flag-5'>哈希</b>桶

    点亮乡村孩子科学梦 走进vivo实验室探访手机生产“前世今生

    和8位乡村教师,帮助乡村儿童打开视野,赋能乡村美育。作为“vivo童画未来夏令营”项目中一个重要环节,在7月27日下午,孩子们来到了vivo全球总部,实地探访vivo手机实验室,了解手机生产的“前世今生”,激发创造力和想象力,感
    的头像 发表于 07-28 11:20 320次阅读

    Dubbo负载均衡策略之一致性哈希

    本文主要讲解了一致性哈希算法的原理以及其存在的数据倾斜的问题,然后引出解决数据倾斜问题的方法,最后分析一致性哈希算法在Dubbo中的使用。通过这篇文章,可以了解到一致性
    的头像 发表于 06-16 15:30 334次阅读
    Dubbo负载均衡策略之一致性<b class='flag-5'>哈希</b>

    电流传感的前世今生

    感应电流的任务现有的电流传感方法及其优势和挑战:•分流电阻•电流感应变压器•采用霍尔•AMR提出的新方法-综合“GaNSense”优化感知的影响以及下一步的发展方向
    发表于 06-16 12:04

    Chiplet架构的前世今生

       今天,最先进的大算力芯片研发,正展现出一种拼搭积木式的“角逐”。谁的“拆解”和“拼搭”方案技高一筹,谁就更有机会在市场上赢得一席之地。随着chiplet概念的不断发酵,chiplet架构和异构计算也逐渐从头部大厂偶尔为之的惊鸿一现,演变为高性能芯片的新常态。 与此同时,一场席卷全球的AIGC竞赛,加剧了高性能芯片的需求。面对昂贵且一票难求的高性能赛道,新入局者不得不寻求更经济和更快速的方式,从而反哺了chiplet生态。 接口:C
    的头像 发表于 05-26 11:52 1472次阅读
    Chiplet架构的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>

    【技术分享】蓝牙技术的前世今生

    蓝牙是一种支持设备短距离通信的低功耗、低成本无线电技术。它利用短程无线链路取代专用电缆,便于人们在室内或户外流动操作。那么这种技术为什么叫蓝牙?又历经了怎样的发展?本文将带你了解蓝牙技术的前世今生
    的头像 发表于 05-12 10:20 606次阅读
    【技术分享】蓝牙技术的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>

    一文看尽SLAM创新点的前世今生

    很多同学都觉得Slam方向难以入门,也难以学深。但其实相对来讲,不像其他很多方向,很多的东西大家都已经做了,并且做的很不错,要想发论文或者找创意突破比较吃力。slam方向还有很多深层次的多领域结合应用的内容还比较少,并且slam更深的内容还有很多东西需要做。
    的头像 发表于 05-09 14:25 691次阅读
    一文看尽SLAM创新点的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>

    蓝牙技术的前世今生

    蓝牙是一种支持设备短距离通信的低功耗、低成本无线电技术。它利用短程无线链路取代专用电缆,便于人们在室内或户外流动操作。那么这种技术为什么叫蓝牙?又历经了怎样的发展?本文将带你了解蓝牙技术的前世今生
    的头像 发表于 05-09 09:46 1742次阅读
    蓝牙技术的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>