散列函数(也叫哈希函数)
- 将任意长度的消息映射陈一个较短的定长输出报文的函数
- 作用:完整性校验
- 主要算法:MD5、SHA-1
- 数学性质
- 单向性
- 弱抗碰撞性
- 强抗碰撞性
基于hash的模型
散列函数(哈希函数)与消息鉴别
Hash函数的特点
可以应用到任意长度的数据上
可以生成大小固定的输出
对于任意给定的x,H(x)的计算相对简单
对于给定的散列值h,要发现满足于H(x)=h的x在计算上是不可行的
对于给定的消息x,要发现另一个消息y满足于H(y)=H(x)在计算上是不可行的
主要的散列算法:MD5(128位)、SHA(160位)等
散列的碰撞
原因:数学上分析是完全存在的——对源数据无限制,转换为固定大小(有限,有范围)
如——MAD5:2^128、SHA-1:2^160
则SHA相对更安全

MD5算法
MD:MessageDigest,消息摘要
- 输入:任意长度的消息(无限制)
- 输出:128位消息摘要(空间为2^128)
- 处理:512位输入数据块为单位
SHA-1算法
SHA(Secure Hash Algorithm,安全哈希算法)由美国国家标准技术研究所NIST开发,作为联邦信息处理标准于1993年发表(FIPSPUB180),1995年修订,作为SHA-1(FIPSPUB180-1),SHA-1基于MD4设计
- 输入:最大长度为2^64位的消息(有限制)
- 输出:160位消息摘要(空间为2^160)
- 处理:512位输入数据块为单位
对比
| SHA-1/MD5 |
散列长度 |
安全性(相对来说) |
速度(相对来说) |
| SHA-1 |
160bits |
相对较高,但是SHA-1的设计原则没有公开 |
相对较慢 |
| MD5 |
128bits |
相对较低(原因:128bits<160bits) |
相对较快 |

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/125317.html