Hash函数

本文介绍了Hash函数的概念,区分了强无碰撞与无碰撞的安全性,并探讨了MD5的安全性问题。重点讲述了SHA-512和WHIRLPOOL两种主流散列函数,包括它们的输入输出特性及运算过程。
摘要由CSDN通过智能技术生成

Hash函数按照其安全性可分为(弱)无碰撞的Hash函数和强无碰撞的Hash函数。通常说的无碰撞指的是强无碰撞。

HASH概念:

长消息生成固定长度的短字符串。
设 H 表示一个散列函数, Γ (大写伽马)是输入长度的上界, γ (小写伽马)是比Γ小得多的固定的输出长度

  • 强无碰撞:很难找到两个消息x和y具有相同的散列,即H(x) = H(y)
  • 无碰撞:给定一个消息 x,满足|x| ≤ Γ, 找到另一个不同的消息y (|y| ≤ Γ)与x具有相同的散列值,即H(x) = H(y),是困难的
    注:不满足强无碰撞性,并不意味着不满足无碰撞性。也就是说,强无碰撞性最容易被攻破。

比如,MD5 (γ =128bit)已被证明不能满足强无碰撞性,
MD5(M1)=MD5(M2),即给定消息M1,能够计算获取M2,使得M2产生的散列值与M1产生的散列值相同。
但还未被证明不满足无碰撞性。


当前主流散列函数SHA-512(γ =512bit)、WHIRLPOOL(γ =512bit).它们的共性特定是输入2个值输出一个值,输出的值是最后一轮运算的hash值。

2.SHA512

输入512bitIV和切分成1024bit明文块的明文,输出512bit。

其中,SHA-512算法如下:
设 X = X1X2…Xk, Y = Y1Y2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值