对于散列函数,碰撞保护和原像保护有什么区别?
答案 0 :(得分:13)
:http://en.wikipedia.org/wiki/Cryptographic_hash_function
的属性强> 的
大多数加密哈希函数都设计为采用任意字符串 length作为输入并产生固定长度的哈希值。加密 哈希函数必须能够承受所有已知类型的 密码分析攻击。至少,它必须具备以下条件 属性:
前映像素抗性鉴于哈希值 h ,应该很难找到任何消息 m ,以便 h = hash(m) 。这个概念与单向概念有关 功能。缺少此属性的函数容易受到preimage的影响 攻击。
第二前映像阻力如果输入 m 1 ,则应该很难找到另一个输入 m < sub> 2 - 其中 m 1 != m 2 - 这样哈希( m 1 )= hash ( m 2 )。这个属性是 有时被称为弱碰撞阻力,以及功能 缺乏这种属性很容易受到第二次前像攻击。
碰撞阻力应该很难找到两个不同的消息 m 1 和 m 2 这样的 hash ( m 1 )= hash ( m 2 )。这样的一对称为加密哈希 碰撞。此属性有时称为强冲突 抵抗性。它需要哈希值至少两倍 对于前像素抗性需要,否则可能会发现碰撞 生日袭击。