密码散列函数
密码散列函数(英语:Cryptographic hash function),又译为加密散列函数、密码散列函数、加密散列函数,是散列函数的一种。它被认为是一种单向函数,也就是说极其难以由散列函数输出的结果,回推输入的资料是什么。这样的单向函数被称为“现代密码学的驮马”。[1]这种散列函数的输入资料,通常被称为消息(message),而它的输出结果,经常被称为消息摘要(message digest)或摘要(digest)。
在资讯安全中,有许多重要的应用,都使用了密码散列函数来实现,例如数码签名,消息认证码。
特性
一个理想的密码散列函数应该有四个主要的特性:
- 对于任何一个给定的消息,它都很容易就能运算出散列数值。
- 难以由一个已知的散列数值,去推算出原始的消息。
- 在不更动散列数值的前提下,修改消息内容是不可行的。
- 对于两个不同的消息,只有极低的几率会产生相同的散列数值。
参考文献
- ^ Schneier, Bruce. Cryptanalysis of MD5 and SHA: Time for a New Standard. Computerworld. [15 October 2014]. (原始内容存档于2016-03-16).