加密哈希函数定义 编辑
什么是加密哈希函数?
加密哈希函数是密码学中使用的数学函数。典型的散列函数使用可变长度的输入来返回固定长度的输出。
加密哈希函数将哈希函数的消息传递功能与安全属性结合起来。
关键要点
- 哈希函数是将给定数据集转换或映射为固定大小的位字符串(也称为哈希值)的数学函数;
- 哈希函数用于密码学,其复杂度和难度各不相同。
- 哈希函数用于加密货币、密码安全和消息安全。
加密哈希函数的工作原理
哈希函数是计算系统中常用的数据结构,用于检查消息的完整性和验证信息等任务。虽然他们被认为是加密“弱”,因为他们可以在多项式时间内解决,他们不容易破译。
加密散列函数为典型的散列函数添加了安全功能,使得检测邮件内容或有关收件人和发件人的信息更加困难;
特别是,加密哈希函数具有以下三个特性:
- 它们是“无冲突的”。这意味着两个输入哈希不应映射到同一个输出哈希;
- 它们可以隐藏起来。很难从哈希函数的输出猜出其输入值;
- 他们应该是友好的。选择提供预定义输出的输入应该很困难。因此,应该从尽可能宽的分布中选择输入;
上面概述的三个属性是可取的,但它们不能总是在实践中实现。例如,输入哈希和输出的样本空间的差异确保了冲突是可能的。例如,2017年,麻省理工学院数字货币主动权发现碰撞漏洞in物联网 .
加密哈希函数示例
密码散列函数在计算机中有着广泛的应用加密货币匿名传递交易信息。例如,比特币,原始的也是最大的加密货币,在其算法中使用SHA-256加密哈希函数。同样,物联网,一个物联网 ,有自己的加密哈希函数,称为Curl。
然而,哈希在现实世界中还有其他应用。以下是一些最常见的加密应用程序:
密码验证
将密码存储在常规文本文件中是危险的,因此几乎所有网站都将密码存储为哈希。当用户输入密码时,密码会被散列,结果会与存储在公司服务器上的散列值列表进行比较。然而,这并不是一个万无一失的做法,正如2019年发现的2100万个被盗密码的收藏所表明的那样。
签名生成与验证
验证签名是用于验证数字文档或消息真实性的数学过程。有效的数字签名,其中先决条件如果满足,则为其接收方提供了强有力的证据,证明该消息是由已知的发送方创建的,并且消息在传输过程中未被更改。数字签名方案通常由三个算法组成:密钥生成算法;给定消息和私钥生成签名的签名算法;以及签名验证算法。梅克尔树 ,一种用于加密货币的技术,是一种数字签名。
验证文件和消息完整性
哈希可以用来确保从发送者到接收者传输的消息和文件在传输过程中不被篡改。这种做法建立了一个“信任链”。例如,用户可以发布其数据和密钥的散列版本,以便收件人可以将计算的散列值与发布的值进行比较,以确保它们对齐。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论