差分攻击
差分攻击是通过比较分析有特定区别的明文在通过加密后的变化传播情况来攻击密码算法的。差分攻击是针对对称分组加密算法提出的攻击方法,看起来是最有效的攻击DES的方法(之所以说看起来,是因为差分攻击需要很大的空间复杂度,实际上可能不如野蛮攻击具有可操作性)。2000年以前,差分攻击就被证明对MD5的一次循环是有效的,但对全部4次循环似乎难以奏效。但是随着对MD5研究的进展,情况有了变化。
2005年,王小云、来学嘉等使用差分攻击的思路,提出了对MD5差分的攻击方法。该方式提出了充分条件的概念,并列出了一系列的充分条件(大约有290个),如果这些充分条件都能得到满足,那么一定能产生碰撞。于是MD5的强抗碰撞性不能得到满足,即该攻击方法可以寻找消息对 ,使得 。不过,这一系列的充分条件很难同时满足。尽管王小云、来学嘉等进一步提出了消息修改算法,通过修改相应比特位的方法来达到满足这一系列充分条件,但是仍然有37条充分条件不能满足。这就意味着,从理论上来讲,该算法只需测试 条随机消息就可以找到完全满足充分条件的消息对 ,从而找到碰撞,即 。这是一个相当有意义的成果,意味着任何人在自己的笔记本上都可以计算出碰撞的消息对。当然,这里产生碰撞的消息对是随机的。
差分攻击案例
2006年10月,Netflix提出一笔100万美元的奖金,作为将其推荐系统改进达10%的奖励。Netflix还发布了一个训练数据集供竞选开发者训练其系统。在发布此数据集时,Netflix提供了免责声明:为保护客户的隐私,可识别单个客户的所有个人信息已被删除,并且所有客户ID已用随机分配的ID[sic]替代。由于Netflix不是网络上唯一的电影评级门户网站,其他网站还有很多,包括IMDb。个人可以在IMDb上注册和评价电影,并且可以选择匿名化自己的详情。德克萨斯州大学奥斯汀分校的研究员Arvind Narayanan和Vitaly Shmatik