您的位置 首页 投资

加密散列函数定义

什么是加密散列函数? 加密散列函数是密码学中使用的数学函数。典型的散列函数采用可变长度的输入来返回固定长度的输出。 加密哈希函数将哈希函数的消息传递功能与安全属性相结合。 关键要点…

什么是加密散列函数?

加密散列函数是密码学中使用的数学函数。典型的散列函数采用可变长度的输入来返回固定长度的输出。

加密哈希函数将哈希函数的消息传递功能与安全属性相结合。

关键要点

  • 散列函数是将一组给定的数据转换或“映射”成固定大小的位串的数学函数,也称为“散列值”
  • 散列函数用于密码学,其复杂程度和难度各不相同。
  • 哈希函数用于加密货币、密码安全和消息安全。
  • 加密散列函数是如何工作的

    哈希函数是计算系统中用于任务的常用数据结构,例如检查消息的完整性和验证信息。虽然它们被认为是密码“弱”的,因为它们可以在多项式时间内求解,但它们不容易被破译。

    加密哈希函数为典型的哈希函数添加了安全功能,使得检测邮件内容或收件人和发件人的信息更加困难。

    特别是,加密散列函数表现出这三个属性:

  • 它们是“无碰撞的”这意味着没有两个输入哈希应该映射到同一个输出哈希。
  • 它们是可以隐藏的。从散列函数的输出中猜测其输入值应该很困难。
  • 它们应该是益智的。选择提供预定义输出的输入应该很困难。因此,输入应该从尽可能宽的分布中选择。
  • 上面概述的三个属性是理想的,但是它们不能总是在实践中实现。例如,输入散列和输出的样本空间的差异确保了冲突是可能的。例如,2017年,麻省理工学院数字货币倡议在IOTA中发现了碰撞漏洞。

    加密散列函数的示例

    加密散列函数广泛用于加密货币中,以匿名方式传递交易信息。例如,最初也是最大的加密货币比特币在其算法中使用了SHA-256加密散列函数。同样的,IOTA这个物联网的平台,也有自己的加密哈希函数,叫做Curl。

    然而,哈希在现实世界中还有其他应用。以下是一些最常见的加密应用:

    密码验证

    将密码存储在常规文本文件中是危险的,因此几乎所有网站都将密码存储为哈希。当用户输入密码时,系统会对其进行哈希处理,并将结果与存储在公司服务器上的哈希值列表进行比较。然而,正如2019年发现的2100万被盗密码的第一大收藏所表明的那样,这并不是一个可靠的做法。

    签名生成和验证

    验证签名是用于验证数字文档或消息真实性的数学过程。在满足先决条件的情况下,有效的数字签名为其接收者提供了强有力的证据,证明消息是由已知的发送者创建的,并且消息在传输过程中没有被更改。数字签名方案通常由三种算法组成:密钥生成算法;给定消息和私钥,生成签名的签名算法;和签名验证算法。Merkle Trees是一种用于加密货币的技术,是一种数字签名。

    验证文件和消息的完整性

    哈希可用于确保从发送者传输到接收者的消息和文件在传输过程中不会被篡改。这种做法建立了一种“信任差”例如,用户可能会发布其数据和密钥的散列版本,以便收件人可以将他们计算的散列值与发布的值进行比较,以确保他们对齐。

    本文来自网络,不代表爱财富网立场,转载请注明出处:http://www.htuba.com/news/245.html

    作者: 爱财富网

    返回顶部