发布
社区首页 >问答首页 >为什么生日攻击只对随机消息起作用,而对所选择的消息不起作用?

为什么生日攻击只对随机消息起作用,而对所选择的消息不起作用?
EN

Cryptography用户
提问于 2018-01-17 16:10:40
回答 1查看 4.2K关注 0票数 9

考虑到未加键的散列函数,我研究了生日攻击只能产生随机消息,而不能使用从攻击者中选择的消息,但我不明白为什么。例如,如果A和B之间有一份贸易合同,其中A声明以10.000美元的价格将一个仓库卖给B,而攻击者(例如A)想修改该文档并插入100.000而不是10.000美元(我用D表示该文档),为什么A不能生成大量可能的修改文档(例如修改D的空间、点、逗号等),并试图在所有可能修改的文档和原始文档之间找到冲突?

EN

回答 1

Cryptography用户

发布于 2018-01-18 17:41:38

不,当有一个必须是碰撞的一部分的设置文档时,生日攻击不能工作。

原因之一是生日悖论的条件之一。在生日悖论中,我们有一个n人的房间,我们想知道两个人共同过生日的概率。值得注意的是,我们不在乎哪两个人共同过生日。假设你在一个有很多人的房间里,你们都试着看看你们中间是否有两个人过着共同的生日。你找到和你一样生日的人的概率是n/365.25 (因为闰年的2月29日)。同样的,有人和我一起过生日的概率也是n/365.25,因为这是给对方的。当我们计算集体概率时,生日悖论就起作用了,并解释了在计算中出现的任何重复现象,正如这里所解释的。

当我们关心过同一个生日的特定人时,会问“有人和你一起过生日的概率有多大?”我们限制了进行比较的次数,从而限制了找到匹配的可能性。在这种情况下,概率仅为n/365.25。

同样,当我们关心特定的日期,并问“某人在7月4日生日的概率是多少?”时,概率也是n/365.25。

现在,在碰撞攻击中,我们不关心哪两个消息产生相同的哈希。我们有一个消息集合,这些消息可能相关,也可能不相关,我们询问是否有两个具有相同输出的消息。这就像问是否有两个生日相同的人。在这种情况下,生日悖论适用,我们可以使用生日攻击。

在预图像攻击中,给出了一个哈希值H,并要求我们找到一个消息X,它生成H作为哈希值。这就像问“给我找一个生日是7月4日的人”。生日悖论不适用于此,因此生日攻击不适用。

在第二次预图像攻击中,我们给出了一个消息X,并要求找到产生相同哈希值的第二个消息Y。这就像问“给我找一个和你一样生日的人”。因为你的生日是固定的,所以只有一个人和你一起过生日,或者他们不和你一起过生日。没有像生日悖论那样的集体计数,因此生日攻击不适用于你的情况。

希望这能有所帮助!

票数 2
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/54781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档