密码散列函数

密码散列函数(英语:Cryptographic hash function),又译为加密散列函数密码散列函数加密散列函数,是散列函数的一种。它被认为是一种单向函数,也就是说极其难以由散列函数输出的结果,回推输入的资料是什么。这样的单向函数被称为“现代密码学的驮马”。[1]这种散列函数的输入资料,通常被称为消息(message),而它的输出结果,经常被称为消息摘要(message digest)或摘要(digest)。

一个工作中的密码散列函数 (特定的, SHA-1)。注意,源输入再微小的变化(“over”这个词)也会使所产生的输出发生急剧变化,通过所谓的雪崩效应的原理。

信息安全中,有许多重要的应用,都使用了密码散列函数来实现,例如数字签名消息认证码

特性

一个理想的密码散列函数应该有四个主要的特性:

  • 对于任何一个给定的消息,它都很容易就能运算出散列数值。
  • 难以由一个已知的散列数值,去推算出原始的消息。
  • 在不更动散列数值的前提下,修改消息内容是不可行的。
  • 对于两个不同的消息,只有极低的几率会产生相同的散列数值。

参考文献

  1. ^ Schneier, Bruce. Cryptanalysis of MD5 and SHA: Time for a New Standard. Computerworld. [15 October 2014]. (原始内容存档于2016-03-16). 

参见