首页 > 其他 > 详细

单向散列函数

时间:2021-06-16 00:07:05      阅读:25      评论:0      收藏:0      [点我收藏+]

1. 单向散列函数

  单向散列函数有一个输入和一个输出,输入的称为消息,输出的称为散列值。

  可以获取消息的指纹,从而确定文件的“完整性”(或者叫一致性)。

  输出的散列值长度是固定的。

 

2. 性质

  根据任意长度的消息,计算出固定长度的散列值。

  能够快速计算出散列值,且具备单向性。

  抗碰撞性:消息不同,散列值也不同,难以发现碰撞性。

 

3. 术语

  单向散列函数也称为摘要函数,哈希函数和杂凑函数。

 

4. 实际应用

  检测软件是否被篡改。

  用于基于口令的加密。

  使用单向散列函数可以构造消息认证码——共享密钥和消息混合后计算散列值。

  进行数字签名时也会使用单向散列函数——对消息散列,对散列值进行数字签名。

  伪随机数生成器。

  一次性口令。

 

5. 单向散列函数

  MD4:能产生128比特的散列值,但Dobbertin提出了MD4散列碰撞方法,MD4不再安全。

  MD5:能产生128比特的散列值,MD5的强抗碰撞性已经被攻破,MD5不再安全。

  SHA-1:能产生160比特的散列值,SHA-1于2005年被攻破。

  SHA-2:SHA-256 散列值长度256比特。

      SHA-384 散列值长度384比特。

      SHA-512 散列值长度512比特。

  RIPEMD-160:160比特的散列值的单向散列函数,比特币中使用该散列函数。

  SHA-3:SHA-1被攻破,Keccak算法被选为SHA-3算法。

 

6. Keccak——被选为SHA-3的算法

  可以生成任意长度的散列值,为了兼容SHA-2,SHA-3,规定了SHA3-256,SHA3-224,SHA3-384和SHA3-512 4个版本。

  采用了与SHA-2不同的结构,结构清晰,易于分析。

  能适用与各种设备,也适用于嵌入式应用,在硬件上的实现显示出了很高的性能。

  比其他候选算法安全性边际更大。

单向散列函数

原文:https://www.cnblogs.com/yangdadahome/p/14887579.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!