-
单向散列函数 编辑
单向散列函数,又称单向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 并不是严格意义上的散列算法,但它的作用与散列算法大致相同,所以归于此类)。
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’)在计算上不可行。
1、本站所有文本、信息、视频文件等,仅代表本站观点或作者本人观点,请网友谨慎参考使用。
2、本站信息均为作者提供和网友推荐收集整理而来,仅供学习和研究使用。
3、对任何由于使用本站内容而引起的诉讼、纠纷,本站不承担任何责任。
4、如有侵犯你版权的,请来信(邮箱:baike52199@gmail.com)指出,核实后,本站将立即删除。

















