跳到主要内容
uencoder

Collision Resistance

抗碰撞是哈希函数的性质:难以找到两个不同输入产生相同哈希输出。由生日攻击决定所需输出长度。

用途

确保哈希值唯一标识输入,是数字签名与完整性校验的安全基础。

机制

对 n 位哈希,生日攻击需约 2^(n/2) 次计算找到碰撞。因此 128 位哈希仅需 2^64 次即可碰撞(不安全),256 位需 2^128(安全)。MD5 与 SHA-1 因碰撞攻击被弃用。

用例

  • 数字签名安全基础
  • 内容寻址存储(Git、IPFS)
  • 证书指纹唯一性
  • 区块链工作量证明

示例

  • 输入
    SHA-256 (256-bit)
    输出
    2^128 trials needed to find a collision

    Secure

常见错误

Using a 128-bit hash (collision needs only 2^64)
Use at least 256-bit output

相关词条

相关工具

参考链接