您好,请先登录
如遇任何问题请拨打我们的客服电话:0731-85501716 ,0731-85501816
单向散列函数(数字摘要算法)返回
单向散列函数(数字摘要算法)     单向散列函数又称为单向hash函数,它不是加密算法,却在密码学中有着广泛的应用,与各种加密算法有着密切的关系。

    密码学中使用的单向散列函数将任意长度的消息压缩到某一固定长度的消息摘要。它的模型为:

              h=HM

    其中,M为待处理的消息,可为任意长度;H为单向散列函数; h为生成的消息摘要,它具有固定的长度,并且与M的长度无关。同时H具有以下性质:

    ①     给定HM,很容易计算h

    ②     给定hH,很难计算M,甚至得不到M的任何消息;

    ③     给定H,要找两个不同的M1M2,使得HM1=HM2)在计算上是不可行的。

    根据单向散列函数的安全水平,可以将单向散列函数分成两类:强碰撞自由的单向散列函数和弱碰撞自由的单向散列函数。

    满足上面3个性质的单向散列函数就是强碰撞自由的单向散列函数。

    如果将第③条改为:给定h和一个已知的消息M,找另外一个不同的消息M1,使得h(M)=h(M1)在计算上是不可行的,就叫做弱碰撞自由的单向散列函数。

    显然,强碰撞自由的单向散列函数比弱碰撞自由的单向散列函数的安全性要高。因为弱碰撞自由的单向散列函数随着重复使用次数的增加安全性逐渐降低,强碰撞自由的单向散列函数则不会因其重复使用而降低安全性。因此,在实际应用中要求使用强碰撞自由的单向散列函数。

    在实际使用中,还要求单向散列函数具有如下特点:

    (1)单向散列函数能够处理任意长度的明文(至少是在实际应用中可能碰到的长度明文),其生成的消息摘要数据块具有固定长度,而且对同一个消息反复执行该散列函数总是得到相同的消息摘要。

    (2)单向散列函数所生成的消息摘要是不可予见的,消息摘要看起来和原始数据没有任何关系。而且,原始数据的任何微小变化都会对生成的消息摘要产生很大的影响。

    (3)具有不可逆性,即通过生成的消息摘要要得到原始数据的任何信息在计算上是完全不可行的。

    单向散列函数在密码学中有着非常广泛的应用,它被广泛地应用于数字签名、消息完整性鉴别、消息来源认证等,同时,也可和其他各种密码算法一起构成混合密码系统。

    目前在密码学上已经设计出大量的单向散列函数,如MD2Message Digest2)、MD4MD5SHA-1Security Hash Algorithm-1)等,但MD5已被山东大学的一位教授攻破,认为是不安全的,SHA-1是安全的。

    SHA-1是美国国家安全局(NSA)设计,美国国家标准与技术研究院(NIST)发布的单向散列函数,其对长度不超过264二进位的消息产生160位的消息摘要输出。该算法经过密码专家多年来的发展和改进已日益完善,现在已成为公认的安全散列算法之一,并被广泛使用。

    该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段更小的密文,也可以简单的理解为取一串输入码(称为予映射或信息),并把它转换为长度较短、位数固定的输出序列,即散列值(也称为信息摘要或信息认证代码)的过程。散列函数值可以说是对明文的一种“指纹”或是“摘要”,所以对散列值的数字签名就可以视为对此明文的数字签名。

主办单位:东方新诚信数字认证中心


电       话:0731-85501816       0731-85501716


湘ICP备07002358号-1
Copyright ©2016 DongFang Electronic Certificate Center, All Rights Reserved