当前位置:首页 > 技术资讯

单向散列函数

来源:超时代软件     更新时间:2012年03月05日 11:34:11

单向散列函数取报文的“指纹已知一份报文,很容易计算出它的单向散列;已知一个特定的单向散列值,要求出产生那个值的报文,在计算上是不可行的。单向散列函数可用于数字签名。

 

MD4

MD4是里维斯特设计的一种单向散列函数。“MD”代表报文摘要(Message Digest).算法产生输入正文的128比特散列或报文摘要。

 

在算法首次推出之后,渡尔和巴塞拉尔(Bosselaer)对其三轮中的两轮作了成功的密码分析虽然这种攻击不能扩展到全部的三轮,但里维斯特还是对算法进行强化。*后成果是MD5。

 

MD5

MD5是MD4的改进型。虽然比MD4更复杂,但其设计相类似,也产生128比特散列。

 

MD2

MD2是里维斯特设计的另一种单向散列函数,这种单向散列函数用于保密增强型邮政(PEM)协议。它对任意输入都产生128比特散列值。MD2的结构与MD4和MD5相类似.设计安全性稍次于MD5.也许还稍次于MD4。除非迫不得已,否则不推荐使用它。

 

Snefru

Snefru是默克尔对单向散列函数阵列的一大贡献。在比哈姆和沙米尔的差分密码分析之后.默克尔对它进行了强化。即便如此,算法的速度仍大大低于MD5或SHA(安全散列算法)。一般不推荐使用该算法。

 

N-散列

N-散列是日本电报电话公共公司(NTT)研究人员发明的一种算法,发明者即为发明FEAL的人们。算法于1990年首次被介绍给密码学界。

 

N-散列使用128比特的报文分组,是一种类似于FEAL的复杂的随机化函数,它产生128比特散列值。

 

比哈姆和沙米尔使用差分密码分析破译了6轮N-散列。他们使用的特定攻击(可能有其它的攻击)对可被3除的任何N都奏效,而对于少于15的任何N,则比生日攻击(birthday attack)更加有效。算法的设计者们推荐使用至少8轮的N-散列,也有人推荐整个儿使用别的算法。

 

安全散列算法(SHA)

NIST伙同美国安全局(NSA)设计出供DSA使用的安全散列算法(SHA),该标准为安全散列标准(SHS),SHA是标准采用的算法。

 

SHA完全模仿MD4,主要的差异是它产生一个160比特散列而不是128比特的散列。

热门标签: