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

一个工作中的密码散列函数 (特定的, SHA-1)。注意,源输入再微小的变化(“over”这个词)也会使所产生的输出发生急剧变化,通过所谓的雪崩效应的原理。
特性
一个理想的密码散列函数应该有四个主要的特性:
- 对于任何一个给定的消息,它都很容易就能运算出散列数值。
- 难以由一个已知的散列数值,去推算出原始的消息。
- 在不更动散列数值的前提下,修改消息内容是不可行的。
- 对于两个不同的消息,只有极低的几率会产生相同的散列数值。
参考文献
- ^ Schneier, Bruce. Cryptanalysis of MD5 and SHA: Time for a New Standard. Computerworld. [15 October 2014]. (原始内容存档于2016-03-16).