Hash 双重散列是否具有抗冲突性?
双重散列肯定比只有一层散列提供更多的安全性,但这是否意味着它更具抗冲突性?这道题的形式更为数学化:Hash 双重散列是否具有抗冲突性?,hash,cryptography,collision,hash-function,hash-collision,Hash,Cryptography,Collision,Hash Function,Hash Collision,双重散列肯定比只有一层散列提供更多的安全性,但这是否意味着它更具抗冲突性?这道题的形式更为数学化: 如果H是一个抗冲突散列函数,那么对于某些x,H(H(x))是否仍然是抗冲突的?事实上,由于内部H的输出是有限的,所以抗冲突性可能更差 例如,以从{0,1}n映射的函数H为例→ {0,1}n。(我们将x限制为{0,1}n,以便更容易看到。)假设{0,1}n中有a,b,c=H(a)=H(b)。也就是说H(c)=H(H(a))=H(H(b))。当您在第一次转换中发生冲突时,您无法将其取消生成 如果在{0
如果H是一个抗冲突散列函数,那么对于某些x,H(H(x))是否仍然是抗冲突的?事实上,由于内部H的输出是有限的,所以抗冲突性可能更差 例如,以从{0,1}n映射的函数H为例→ {0,1}n。(我们将x限制为{0,1}n,以便更容易看到。)假设{0,1}n中有a,b,c=H(a)=H(b)。也就是说H(c)=H(H(a))=H(H(b))。当您在第一次转换中发生冲突时,您无法将其取消生成 如果在{0,1}n中没有冲突,那么第二个转换将以相同的方式执行
因为我们通常把散列函数称为{0,1}*→ {0,1}n在第一次转换中肯定会发生冲突,而第二次转换可能会使情况更糟。原则上,生成的哈希函数H(H(x))的抗冲突性更低或相等,因为