当前位置:

首页 > 业界资讯 > Hashing算法详解

Hashing算法详解

哈希函数将可变大小的输入转换为固定大小的输出,这通过哈希算法实现。加密哈希函数是加密货币的核心,确保数据完整性和安全性。哈希算法是确定性的,相同的输入总是产生相同的输出(哈希值)。 良好的哈希算法难以逆向,其安全性取决于寻找输入的难度。 比特币等加密货币广泛使用哈希函数,例如在挖矿过程中验证区块,这使得区块链技术安全可靠。

哈希函数:数据安全的基石

哈希函数,简单来说,就是把任意长度的输入转换成固定长度的输出的过程。这就像一个神奇的转换器,无论你输入什么,它都能给你一个特定大小的“摘要”。 这其中的奥秘在于数学公式,也就是我们所说的哈希算法。

虽然并非所有哈希算法都涉及加密技术,但所谓的加密哈希函数却是加密货币的核心。正是有了它们,区块链和其他分布式系统才能实现高水平的数据完整性和安全性。 这就好比给重要的文件盖上一个独一无二的印章,一旦文件被篡改,印章就会失效。

无论是传统的哈希函数还是加密哈希函数,都具有确定性。这意味着只要输入不变,哈希算法就会始终产生相同的输出(也称为摘要或哈希值)。 这就像一个精确的计算器,同样的算式,永远得到同样的结果。

通常,加密货币的哈希算法被设计成单向函数,这意味着在没有大量计算时间和资源的情况下,很难反向推导出输入。说白了,由输入得到输出很容易,但反过来却很难。 这就像一把只能开锁,却无法反向制造钥匙的特殊钥匙。一般来说,越难找到输入,哈希算法就被认为越安全。

哈希函数是如何工作的呢?

不同的哈希函数会产生不同大小的输出,但每个哈希算法的可能输出大小总是恒定的。例如,SHA-256算法只能产生256位的输出,而SHA-1算法总是生成160位的摘要。

让我们用SHA-256算法(比特币中使用的算法)来处理“Binance”和“binance”这两个词为例:

SHA-256
Input Output (256 bits)
Binance f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191
binance 59bba357145ca539dcd1ac957abc1ec5833319ddcae7f5e8b5da0c36624784b2

注意,一个微小的变化(首字母的大小写)导致了完全不同的哈希值。但由于我们使用的是SHA-256,输出始终具有256位(或64个字符)的固定大小——无论输入大小如何。此外,无论我们多少次运行这两个词通过算法,这两个输出都将保持不变。

相反,如果我们通过SHA-1哈希算法运行相同的输入,我们将得到以下结果:

SHA-1
Input Output (160 bits)
Binance 7f0dc9146570c608ac9d6e0d11f8d409a1ee6ed1
binance e58605c14a76ff98679322cca0eae7b3c4e08936

值得注意的是,缩写SHA代表安全哈希算法。它指的是一组加密哈希函数,包括SHA-0和SHA-1算法以及SHA-2和SHA-3组。SHA-256是SHA-2组的一部分,还有SHA-512和其他变体。目前,只有SHA-2和SHA-3组被认为是安全的。

它们为什么重要?

传统的哈希函数有广泛的用途,包括数据库查找、大型文件分析和数据管理。另一方面,加密哈希函数广泛用于信息安全应用,例如消息认证和数字指纹。对于比特币而言,加密哈希函数是挖掘过程的重要组成部分,还在生成新地址和密钥中发挥作用。

哈希的真正威力在于处理海量信息时。例如,人们可以将大型文件或数据集通过哈希函数运行,然后使用其输出快速验证数据的准确性和完整性。这是因为哈希函数的确定性:输入总是会产生简化、浓缩的输出(哈希)。这种技术消除了存储和“记住”大量数据的需要。

在区块链技术中,哈希尤其有用。比特币区块链有几个涉及哈希的操作,大部分都在挖掘过程中。事实上,几乎所有加密货币协议都依赖于哈希来链接和压缩交易组到区块中,并产生每个区块之间的加密链接,从而有效地创建区块链。

加密哈希函数

再次强调,部署加密技术的哈希函数可以定义为加密哈希函数。一般来说,破解加密哈希函数需要无数次的暴力尝试。对于一个人来说,“反转”一个加密哈希函数,需要通过反复试验猜测输入是什么,直到产生相应的输出。然而,也有可能不同的输入产生完全相同的输出,在这种情况下就会发生“碰撞”。

从技术上讲,加密哈希函数需要遵循三个特性才能被认为是有效的安全。我们可以将它们描述为碰撞阻力、原像阻力以及第二原像阻力。

在讨论每个属性之前,让我们用三句话总结它们的逻辑。

  • 碰撞阻力:难以找到任何两个不同的输入产生相同的哈希输出。
  • 原像阻力:难以“反转”哈希函数(从给定的输出中找到输入)。
  • 第二原像阻力:难以找到任何第二个与指定的输入发生碰撞的输入。

碰撞阻力

如前所述,当不同的输入产生完全相同的哈希值时,就会发生碰撞。因此,哈希函数被认为是抗碰撞的,直到有人发现碰撞为止。请注意,对于任何哈希函数,碰撞总是存在的,因为可能的输入是无限的,而可能的输出是有限的。

换句话说,当找到碰撞的可能性低到需要数百万年的计算时,哈希函数就是抗碰撞的。因此,尽管没有无碰撞的哈希函数,但其中一些足够强大,可以被认为是抗碰撞的(例如,SHA-256)。

在各种SHA算法中,SHA-0和SHA-1组不再安全,因为已经发现了碰撞。目前,SHA-2和SHA-3组被认为是抗碰撞的。

原像阻力

原像阻力特性与单向函数的概念有关。当有人找到生成特定输出的输入的概率非常低时,哈希函数就被认为是抗原像的。

请注意,此属性与之前的属性不同,因为攻击者将试图通过查看给定的输出来猜测输入是什么。另一方面,当有人找到两个不同的输入生成相同的输出时,就会发生碰撞,但这并不重要使用了哪些输入。

原像阻力特性对于保护数据非常有价值,因为消息的简单哈希可以证明其真实性,而无需公开信息。在实践中,许多服务提供商和网络应用程序存储和使用从密码生成的哈希值,而不是明文密码。

第二原像阻力

为了简化,我们可以说第二原像阻力介于其他两个属性之间。当有人能够找到一个特定的输入,生成另一个他们已经知道的输入的相同输出时,就会发生第二次原像攻击。

换句话说,第二次原像攻击涉及查找碰撞,但他们不是搜索生成相同哈希的两个随机输入,而是搜索生成与另一个特定输入生成的相同哈希的输入。

因此,任何抗碰撞的哈希函数也抗第二次原像攻击,因为后者总是意味着碰撞。但是,仍然可以在抗碰撞函数上执行原像攻击,因为它意味着从单个输出中找到单个输入。

挖掘

比特币挖掘的许多步骤都涉及哈希函数,例如检查余额、链接交易输入和输出,以及在一个区块内对交易进行哈希以形成默克尔树。但是,比特币区块链安全的主要原因之一是,矿工需要执行无数的哈希操作,才能最终找到下一个区块的有效解决方案。

具体来说,矿工在为其候选区块创建哈希值时必须尝试几种不同的输入。从本质上讲,只有当他们生成的输出哈希以一定数量的零开头时,他们才能验证其区块。零的数量决定了挖掘难度,它根据投入网络的哈希率而变化。

在这种情况下,哈希率表示有多少计算能力被投入到比特币挖掘中。如果网络的哈希率增加,比特币协议将自动调整挖掘难度,以便挖掘一个区块所需的时间平均保持在10分钟左右。相反,如果一些矿工决定停止挖掘,导致哈希率大幅下降,挖掘难度将被调整,使其更容易挖掘(直到平均区块时间恢复到10分钟)。

请注意,矿工不必查找碰撞,因为他们可以生成多个哈希作为有效输出(以一定数量的零开头)。因此,对于某个区块,有几种可能的解决方案,矿工只需要找到其中一种——根据挖掘难度确定的阈值。

因为比特币挖掘是一项成本密集型任务,矿工没有理由作弊,因为这会导致巨大的经济损失。加入区块链的矿工越多,区块链就越大越强。

结束语

毫无疑问,哈希函数是计算机科学中必不可少的工具,尤其是在处理海量数据时。当与密码学结合时,哈希算法可以非常通用,以多种不同的方式提供安全性和身份验证。因此,加密哈希函数对于几乎所有加密货币网络都至关重要,因此,对于任何对区块链技术感兴趣的人来说,了解其属性和工作机制肯定是有帮助的。

本文内容来源于互联网,如有侵权请联系删除。
作者最新文章
业界资讯
相关文章 更多
Siri等明年!苹果WWDC25给AI交底:画小饼,继续熬
Siri等明年!苹果WWDC25给AI交底:画小饼,继续熬

不求速胜,熬吧。

比特现金未来:可扩展性与支付潜力
比特现金未来:可扩展性与支付潜力

比特现金(BCH)的未来发展前景看好。凭借其可扩展性、支付采用、价值存储、智能合约和坚实的社区支持,比特现金有望在多个领域取得显著发展,成为一种多功能且广泛使用的加密货币。

ACH总量10亿,价值与用途详解
ACH总量10亿,价值与用途详解

ACH 总共发行了 10 亿枚,用于支付网关费用、治理投票和质押奖励。ACH 基于 BEP-20 标准,采用 PoS 机制,可通过私募、公募和生态系统分配获取,其价值受服务需求、实用性和市场趋势影响,可在币安、火币等交易所购买。

Coinbase Pro设置指南:下载、登录与自定义
Coinbase Pro设置指南:下载、登录与自定义

Coinbase Pro 设置步骤:下载并安装软件后,打开并登录,点击右上角齿轮图标进入“首选项”。在首选项中,你可以调整界面、安全、通知、交易和API设置,完成后点击“保存”按钮确认更改。

IoTeX等基础设施如何赋能IoT生态
IoTeX等基础设施如何赋能IoT生态

IoTeX、DePHY和peaq是构建物联网生态系统的关键基础设施。IoTeX提供去中心化网络,确保物联网交易和数据的安全性。DePHY利用区块链技术实现频谱共享和自治管理。peaq促进设备间的数据标准化和共享。通过这些基础设施的协同作用,物联网生态系统实现了去中心化、安全、互操作性和自治,充分释放了物联网的潜力。

DOGE发行价多少
DOGE发行价多少

波场etf代码
波场etf代码

TRX浏览器查询地址
TRX浏览器查询地址

ChainLink跑路了吗
ChainLink跑路了吗

什么叫Toncoin杠杆
什么叫Toncoin杠杆

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

macOS软件
macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

Mac软件 更多
灵活计算器
灵活计算器
macOS/iOS/Android

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

赤友清理大师
赤友清理大师
macOS

赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

极度公式
极度公式
Windows/macOS/Linux

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

WINDOWS 更多
Windows 10
Windows 10
Windows

Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

极度公式
极度公式
Windows/macOS/Linux

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

密码键盘
密码键盘
Windows/macOS/iOS/Android

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。