生日攻击

生日攻击

目的:构造出报文m和报文m2,使得
H(m)=H(m2)

第I类生日攻击

给定一个散列函数H,有n个可能的输出。若固
定一个输出值为H(x),随机选取H的k个输入,k必须
为多大才能使至少存在-一个输入y,使H(y)=H(x)的概
率大于0.5?

对于长度为mbit的散列码,共有2^m个可能输出,
要使p(n,k)>0.5, 只须取k =2^m-1

生日悖论


问题:在k个人中,要至少有两个人生日相同的
概率大于0.5,k的最小值为多少

k=23

结论:对于杂凑值为mbit的散列函数来说,所有可能的输出为2m个,
要以超过1/2的概率找到一一个碰撞,所需的随机输入的个数至少为
k=2^(m/2)

印证了,随机找到一个结果H(x)的x难度,比较

找到固定一个结果H(x)的x难度要小很多。

对杂凑函数的自由起始碰撞攻击算法

Step1:随机选取N个报文m,m my; 
Step2:以这N个报文作为杂凑函数的输入,计算出相应
的杂凑值,得到集合S={(mk,Hk(m));k= =1,2,, N};
Step3:根据H(mk)的大小对集合S进行排序,并利用该
算法,寻找使H(m1)=H(m2)成立的不同元m1和m2;
如果找到,就将(m1,m2)作为结果输出,算法终止;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值