【密码学/密码分析】生日悖论及生日攻击

生日悖论及生日攻击

鸽巢原理:给定n个鸽巢,至少存在n+1只鸽子,那总是会发生碰撞。

概率环境:我们需要多少个物体(鸽子)使得发生碰撞的概率大于1/2?

答案是n1/2,而不是n/2。

举个例子,想象一位老师问一个有30名学生的班级(n = 30)每个人的生日在哪一天(为简便,此处省略闰年)以确定是否有两个学生同一天生日(对应碰撞)。从直觉角度考虑,机率看起来很小。若老师选择特定日期(例如9月16日),则至少有一名学生在那天出生的几率是在这里插入图片描述
,约为7.9%。但是,与我们的直觉相反的是,至少一名学生和另外任意一名学生有着相同生日的几率大约为70.63%(n = 30时),从方程在这里插入图片描述
中可看出。

帮助理解:阮一峰 哈希碰撞与生日攻击

生日悖论界限

均匀随机地从N个物体抽取n个(可替换),确定碰撞的概率。

  • 在N个对象中,可以构造N(N-1)/2对。
  • 对于任意对,碰撞的概率为N-1
  • 假设相互独立,估计碰撞的平均此时等于:

n ‾ c o l l ≈ n ( n − 1 ) 2 N \overline{n}_{coll}\approx\frac{n(n-1)}{2N} ncoll2Nn(n1)

如果
n ‾ c o l l = 1 \overline{n}_{coll}=1 ncoll=1

n ≈ 2 N n\approx2\sqrt N n2N
当n << N1/2,概率极小。相应的,当n = 0(N1/2),碰撞的可能性不可忽略。

计算反向事件发生的概率,即从N个物体中抽取n个物体不发生碰撞的概率。
∏ i = 0 n − 1 N − i N \prod_{i=0}^{n-1}{N-i \over {N}} i=0n1NNi
由泰勒公式推导。(下图中花N对应上面N,下图N对应上述n)

在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值