跳到主要内容
uencoder

Birthday Attack

生日攻击利用生日悖论:在约 2^(n/2) 次 hashing 后有 50% 概率找到 n 位哈希碰撞,决定哈希所需输出长度。

用途

设定哈希输出长度的下界,确保碰撞搜索不可行。

机制

生日悖论:23 人中有 50% 概率两人同生日。对哈希,n 位输出空间下,约 1.177×√(2^n) = 1.177×2^(n/2) 次随机输入即有 50% 碰撞概率。因此 128 位哈希仅需 2^64 次不安全。

用例

  • 哈希输出长度选择
  • 数字签名安全级别
  • 证书有效期评估
  • 密码学教学

示例

  • 输入
    128-bit hash
    输出
    Collision found in 2^64 trials

    Insecure

常见错误

Assuming an n-bit hash needs 2^n trials to collide
Collisions take only 2^(n/2); use outputs of at least 256 bits

相关词条

相关工具

参考链接