新闻资讯
看你所看,想你所想

单向散列函式

单向散列函式

单向散列函式

单向散列函式,又称单向Hash函式、杂凑函式,就是把任意长的输入讯息串变化成固定长的输出串且由输出串难以得到输入串的一种函式。这个输出串称为该讯息的散列值。一般用于产生讯息摘要,密钥加密等.

基本介绍

  • 中文名:单向散列函式
  • 外文名:Hash

函式套用

Hash函式主要用于完整性校验和提高数字签名的有效性,目前已有很多方案。这些算法都是伪随机函式,任何杂凑值都是等可能的。输出并不以可辨别的方式依赖于输入;在任何输入串中单个比特的变化,将会导致输出比特串中大约一半的比特发生变化。
常见单向散列函式(Hash函式)
MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法,MD5被广泛使用,可以用来把不同长度的数据块进行暗码运算成一个128位的数值。
SHA(Secure Hash Algorithm)这是一种较新的散列算法,可以对任意长度的数据运算生成一个160位的数值。
MAC(Message Authentication Code):讯息认证代码,是一种使用密钥的单向函式,可以用它们在系统上或用户之间认证档案或讯息。HMAC(用于讯息认证的密钥散列法)就是这种函式的一个例子。
CRC(Cyclic Redundancy Check):循环冗余校验码,CRC校验由于实现简单,检错能力强,被广泛使用在各种数据校验套用中。占用系统资源少,用软硬体均能实现,是进行数据传输差错检测地一种很好的手段(CRC 并不是严格意义上的散列算法,但它的作用与散列算法大致相同,所以归于此类)。

函式性质

Hash是作用于一任意长度的讯息M,返回一固定长度的散列值h:h=H(m)。其中h的长度为m。Hash函式主要用于封装或者数字签名的过程当中,它必须具有如下几个性质:
1.给定h,根据H(M)=h计算M在计算上是不可行的;
2.给定M,要找到另一讯息M’。并满足H(m)=H(m’)在计算上是不可行的。
上述特性中的任何弱点都有可能破坏使用Hash函式进行封装或者签名的各种协定的安全性,如生日攻击。Hash函式的重要之处就是赋予M唯一的“指纹”。如果用户A用数字签名算法H(m)进行签名,而B能产生满足H(m)=H(m’)的另一讯息M’,那幺B就可以声称A对M进行了签名。
Hash函式除了需要上述性质外还需要的性质有:
3.给定M,很容易计算h;
4.抗碰撞性。即随机找到两个讯息M和M’,使H(m)=H(m’)在计算上不可行。

转载请注明出处海之美文 » 单向散列函式

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com