Secure Hash Function
安全哈希函数,网上还有一个流传甚广的台湾叫法杂凑函数。不喜之,且置之。
谈起哈希函数,我们首先要理解哈希函数设计的要求,从中我们可以看出这些密码算法最终的目的。
安全设计时必须满足四个要求第一:寻找两个输入得到相同的输出在计算上不可行的。也就是常说的抗碰撞(No Collision)
第二:从输出得到输入在计算上不可行。也就是单向性
第三:不同长的输入数据得到相同长的输出数据。该长度叫做hash长或者digest长。
第四:输入的一点点不同导致输出的大相径庭。也就是说防止相似破解查找
我们可以通过MD5的来演示一下
Unix用户直接输入下列命令,Window用户打开你的cygwin。以下是我的yama,yamat的例子结果
-------------------------------------------------------------------------------
chinatimeover@nx9040 ~
$ echo -n yama | md5sum
3971a7663b23a5b7116ba73da31c3e4a *-
chinatimeover@nx9040 ~
$ echo -n yamat | md5sum
a5503d45d67bb7dc3165b5f9f53f19b4 *-
--------------------------------------------------------------------------------目前主要用到的算法
MD2 128bit。用于PEM。详见
RFC1319MD4 128bit。可以说是MD5、SHA-1的母亲。详见
RFC1320。不过1994年就被搞定了
MD5 128bit。详见
RFC1321。1996年弱点发现,2004年山东大学王小云教授成功破解。
SHA-1 160bit。详见
RFC 3174。1995年NIST把它作为美国政府的标准hash函数。
但是MD5的破解,一定程度上吹响了对SHA-1破解的最终号角。也许不久的明天我们再也无从信任。一个个B2B,B2C网站都面临着安全的危险。作为一个环境架构的实现者,我清楚地明白一旦碰撞不可抗的后果。那时候脆弱的架构能够接受挑战么!!我们何去何从,也许攻击者永远都是优势地位----Yama20060317
posted on 2006-03-17 14:41
Yama的家 阅读(433)
评论(0) 编辑 收藏 引用 所属分类:
DRM, 网络安全,security