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

    文章

    201

    浏览量

    17101
  • 以太坊
    +关注

    关注

    14

    文章

    1838

    浏览量

    33464
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    电力世界的“备胎”:一文看懂静态UPS的前世今生

    你是否想过,当家里突然停电时,为什么手机还能上网、监控摄像头仍在工作?或者,存储着海量数据的数据中心,是如何应对突如其来的断电危机的?这一切的背后,都离不开一位默默无闻的“电网保镖”——静态UPS,也就是不间断电源。
    的头像 发表于 05-07 14:05 500次阅读
    电力世界的“备胎”:一文看懂静态UPS的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>

    电力世界的“备胎”:一文看懂静态UPS的前世今生

    你是否想过,当家里突然停电时,为什么手机还能上网、监控摄像头仍在工作?或者,存储着海量数据的数据中心,是如何应对突如其来的断电危机的?这一切的背后,都离不开一位默默无闻的“电网保镖”——静态UPS,也就是不间断电源。
    的头像 发表于 04-30 10:13 236次阅读
    电力世界的“备胎”:一文看懂静态UPS的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>

    2022全新版!Java分布式架构设计与开发实战(完结)

    策略,先通过分库实现业务隔离,再在库内进行分表以进一步分散数据量。 分片策略的选择直接决定了分库分表的效果。常见的分片方式包括哈希分片、范围分片和一致性哈希哈希分片通过分片键的哈希
    发表于 03-30 15:20

    低温无压烧结银的前世今生:从发明到未来趋势

    低温无压烧结银的前世今生:从发明到未来趋势 低温无压烧结银(Low-Temperature Pressureless Sintered Silver, LT-PSS)作为第三代半导体封装与高端电子
    的头像 发表于 01-26 13:18 645次阅读

    OPC UA 服务端用户认证的底层逻辑:哈希与加盐应用详解

    用户信息至关重要。本文不涉及复杂的代码实现,而是通过分析典型服务端配置文件中的相关机制,阐述哈希算法(SHA-256)与加盐(Salt)机制在OPCUA登录环节的具
    的头像 发表于 01-15 17:29 407次阅读
    OPC UA 服务端用户认证的底层逻辑:<b class='flag-5'>哈希</b>与加盐应用详解

    为什么偏偏是周二?一文了解微软“补丁星期二”的前世今生

    某个寻常的周二。办公室的IT同事面色凝重,咖啡杯见底的速度异于往常,甚至对着闪烁的屏幕低声自语……如果你看到类似的场景,请别轻易打扰。他们很可能正在应对微软每月一次的“补丁星期二”(PatchTuesday)。对于普通人来说,这只是一次平平无奇的“正在进行更新,请不要关机”;但对于IT团队来说,这却是每隔30天就要面对的一次“大考”——全球计算机与网络设备的
    的头像 发表于 12-23 17:02 1076次阅读
    为什么偏偏是周二?一文了解微软“补丁星期二”的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>

    聊聊MCU下载算法在Keil MDK里的那些事儿

    角色——Flash 编程算法(FLM 文件),就像个“幕后大佬”,帮调试器搞定 Flash 的擦除、编程和验证。可不少人(尤其是刚入门的小白)对 FLM 有点懵:这东西存哪儿?为啥非得加载到 SRAM?谁来管加载和跳转?今天咱们就来把 FLM 的前世
    的头像 发表于 12-16 09:30 4720次阅读
    聊聊MCU下载<b class='flag-5'>算法</b>在Keil MDK里的那些事儿

    芯片装甲的前世今生

    一前言众所周知,晶圆的特性如同玻璃一样容易破碎,但为什么做成成品的IC又能通过高震动与跌落可靠性测试,并且能在高温环境下非常稳定运行?这其实是一个关键的半导体技术——封装的功劳。它像一道“防护城墙”,既要屏蔽灰尘、水汽、冲击,也要兼顾散热、电性能和成本。在如今人人都知道先进半导体工艺已经先进到2nm的今天,对于不起眼的封装技术,却鲜有人熟知。接下来,让我们从
    的头像 发表于 11-25 11:34 521次阅读
    芯片装甲的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>

    Molex OTS零哈希电缆组件技术解析与应用指南

    Molex现成(OTS)零哈希电缆组件是标准分立式电线电缆组件,设计用于应对电子设备日益缩小的挑战。这些电缆组件提供节省空间的薄型解决方案,具有创新的双点接触特性,有2、4、6和8电路尺寸可供选择
    的头像 发表于 11-17 16:44 978次阅读

    回调函数的前世今生 #嵌入式 #stm32 #单片机 #电子技术

    单片机
    137933yu
    发布于 :2025年11月13日 10:50:35

    SM4算法实现分享(一)算法原理

    SM4分组加密算法采用的是非线性迭代结构,以字为单位进行加密、解密运算,每次迭代称为一轮变换,每轮变换包括S盒变换、非线性变换、线性变换、合成变换。加解密算法与密钥扩展都是采用32轮非线性迭代结构
    发表于 10-30 08:10

    MD5信息摘要算法实现一(基于蜂鸟E203协处理器)

    命名为“Q”,则message_var=Q[(32*i):(32*i+31)]。 4、哈希运算(Hash Operation) 此部分为MD5算法的核心。MD5有4组主循环,每组的主循环需要进行16轮
    发表于 10-30 07:18

    【技术贴】解密艾为飞天™DSP黑科技(三):特色算法未来前瞻

    深度好文推荐优质的DSP产品需要承载优秀的DSP算法,方能体现产品的核心价值。数模龙头艾为电子的艾为飞天DSP特色算法,在提升产品性能和优化功能方面发挥了关键作用。同时,本文还将展望未来DSP技术
    的头像 发表于 10-29 18:48 632次阅读
    【技术贴】解密艾为飞天™DSP黑科技(三):特色<b class='flag-5'>算法</b>与<b class='flag-5'>未来</b>前瞻

    双绞线缆的“前世今生”——从电话线到智能建筑的连接者

    一、历史溯源:双绞线的“三次革命” 1876年:贝尔电话采用双绞线传输语音,开创有线通信时代。 1990年:CAT5双绞线标准化,推动以太网从10Mbps向100Mbps跃迁。 2016年:CAT8双绞线问世,支持25G/40Gbps传输,满足云计算数据中心需求。 里程碑事件: 1995年,TIA/EIA-568标准发布,统一双绞线布线规范。 2002年,IEEE 802.3af标准定义PoE供电,双绞线功能扩展至电力传输。 2018年,ISO/IEC 11801标准引入Class FA信道,支持CAT6a全双工传输。 二、现代应用:智能建筑的“神经
    的头像 发表于 10-15 10:29 681次阅读

    哈希极化到零拥塞:主动路径规划在RoCE网络中的负载均衡实践

    智算集群对网络性能,特别是高吞吐、低延迟和无损特性有着严苛要求,RoCE因此被广泛应用。然而,在主流Clos组网架构下,传统的ECMP路由机制存在天然的局限性,容易引发哈希极化问题,成为制约
    的头像 发表于 07-21 17:27 2213次阅读
    从<b class='flag-5'>哈希</b>极化到零拥塞:主动路径规划在RoCE网络中的负载均衡实践