校验和函数可以用作哈希函数吗?

时间:2017-06-01 18:26:44

标签: hash cryptography checksum

我和我的一个朋友争吵了。他说它可以作为一个使用,但哈希函数应该具有强大的碰撞阻力,校验和功能会有吗?我不太确定。

1 个答案:

答案 0 :(得分:2)

不,通用校验和功能没有强大的抗冲突性。你当然可以争辩说加密哈希函数也是一个校验和,但这会引发争论。

对于碰撞阻力,您必须考虑生日问题。这意味着散列函数的安全性大约是输出大小的一半。因此,任何低于160位输出大小(80位安全性)的东西都会直接受到限制,因为暴力强制会进入视野。在最低限度上,您希望有128位输出,MD-5(损坏)或RIPEMD-128的输出。

通常,您可以直接关闭任何不具有至少128位输出的函数。也就是说,假设对手不受其他方式的限制,例如用于生成哈希的设置重试计数。

请注意,内部结构也很重要;如果算法没有被专门创建为加密哈希,那么它们抵抗冲突的可能性几乎为零。