密码散列函数

加密散列函数有时也称为摘要函数,其是一种密码学原语,将任意大小的信息转为固定大小的消息,称为摘要。加密散列函数通常用于授权、数字签名以及密钥散列消息认证码

散列函数必须有以下特征才能用于密码学:

  • 快速计算(因为它们需要频繁地生成)
  • 不可逆(每个摘要可能来自拥有庞大数据的消息,并且仅有暴力破解才能生成产生给定摘要的消息)
  • 防篡改(对消息的任何改变都会产生不同的摘要)
  • 抗碰撞(应该不可能找到两个不同的消息产生相同的摘要)

像 MD5 和 SHA-1 这样的加密散列函数被认为是不安全的,因为已经发现了可以显著降低它们抗碰撞性的攻击。

参见