第二次原像攻击和碰撞攻击有什么区别?


24

维基百科将第二次原像攻击定义为:

给定固定消息m1,找到另一个消息m2,使hash(m2)= hash(m1)。

维基百科将碰撞攻击定义为:

找到两个任意不同的消息m1和m2,使hash(m1)= hash(m2)。

我可以看到的唯一区别是,在第二次原像攻击中,m1已经存在并且为攻击者所知。但是,这并不使我感到意义重大-最终目标仍然是找到两个产生相同哈希值的消息。

第二次原像攻击和碰撞攻击的执行方式有何本质区别?结果有什么不同?

(顺便说一句,我无法正确标记该问题。我试图应用标签“密码学安全性映像前冲突”,但我的信誉不足。有人可以应用适当的标签吗?)


1
您的印象是正确的-就是区别。您不正确的地方是,这在实践中是巨大的差异。能够找到发生冲突的任何两件事是一回事,而能够为特定的明文找到冲突是另一回事。例如,如果您想欺骗特定的消息,则能够进行存在的伪造是没有用的-您需要另一条与您所截取的消息相同的哈希值的消息。
阿德里安·彼得雷斯库

@Adrian Petrescu:您能否给出一个答案,也许再详细说明一下?添加诸如何时(最适合您进行原像攻击而不是碰撞攻击的情况)之类的东西?
Thomas Owens

Answers:


27

我可以通过攻击场景为您激发差异。

第一次原像攻击中,我们要求仅给定的对手找到m或某个m ',使得H m ' = H m 。假设某个网站存储了{ u s e r n a m e H p a s s w o r d r n a m e p aH(m)mmH(m)H(m)在其数据库中,而不是 { ü 小号Ë{username,H(password)}。该网站仍然可以通过接受用户的密码并比较 H i n p u t = ?来验证用户的真实性ħ p 一个小号小号瓦特ø - [R d (具有概率 1 / 2 Ñ对于一些大型 Ñ为假阳性)。现在,假设此数据库已泄漏或受到破坏。一种{username,password}H(input)=?H(password)1/2nn第一个原像攻击是指攻击者只能访问消息摘要并试图生成散列为该值的消息的情况。

第二次原像攻击中,我们允许敌方提供更多信息。具体来说,我们不仅给他而且给他m。考虑哈希函数H m = m dH(m)m其中 p q是大质数,而 d是公共常数。显然,对于第一个原像攻击,这将成为RSA问题,并且被认为很难。然而,在第二次原像攻击中,发现碰撞变得容易。如果一组 m ' = m p q + m,则 H m p q + m = m p q + m dH(m)=mdmodpqpqdm=mpq+m。因此,对手发现冲突很少,甚至没有计算。H(mpq+m)=(mpq+m)dmodpq=mdmodpq

我们想一个单向散列函数是对耐第二原像攻击,因为数字签名方案的,在这种情况下被认为是公共信息,并沿着传递(通过一个间接层)与文件的每个副本。这里,攻击者同时访问d ö Ç ù 中号Ë Ñ ħ d ö ç Ù ë Ñ H(document)documentH(document)。如果攻击者可以对原始文档(或全新的邮件),以使H d '= H d o c u m e nd他可以公布他的文件,仿佛他是原始签名者。H(d)=H(document)

一个碰撞攻击让对手甚至更多的机会。在此方案中,我们要求对手(我可以称他为Bob吗?)找到任意两个消息m 2,使得H m 1= H m 2。由于信鸽原理和生日悖论,即使是“完美”哈希函数在碰撞攻击方面也比原像攻击要弱一些。换句话说,给定一个不可预知的和不可逆的消息摘要函数˚F { 0 1 } *= { 0m1m2H(m1)=H(m2)f({0,1})={0,1}n花费了时间用于蛮力,总是可以在预期时间O s q r t 2 n= O 2 n / 2)中发现碰撞。O(2n)O(sqrt(2n))=O(2n/2)

鲍勃可以通​​过多种方式利用碰撞攻击来发挥自己的优势。这是最简单的方法之一:Bob发现两个二进制文件b 'H b = H b ')之间发生冲突,因此b是有效的Microsoft Windows安全补丁,而b '是恶意软件。(鲍勃适用于Windows)。鲍勃将他的安全补丁发送到命令链中,在金库后面,他们在代码上签名并将二进制文件运送给世界各地的Windows用户以修复漏洞。Bob现在可以使用b '和Microsoft为b计算的签名来接触并感染世界各地的所有Windows计算机。bbH(b)=H(b)bbb。除了这些类型的攻击方案之外,如果哈希函数被认为具有抗冲突性,那么该哈希函数也更有可能具有抗原像的能力。


很好地解释了。数学运算比我想要的要多得多,但是我非常感谢您的努力-我一直都在跟着您。谢谢。
Thomas Owens

哇 RIT学生。
Thomas Owens

1
How's it going Thomas? I think you had Physics with my friend Alan Meekins. Good to see RIT people here! Also, thank you for accepting the answer.
Ross Snider

Pretty good. If you are going to be around campus in the Fall and are interested in security, perhaps we can catch up in person. I've been doing some applied security work (applying stenography, steganalysis, public key encryption, digital signatures) this summer and would love to hear about the theoretical side (as much as I'm interested in it - I don't have the time or mathematical background to get through a lot of the papers on the subject).
Thomas Owens

rws1236@cs.rit.edu
Ross Snider 2010年


1

Ross提到的离散日志问题实际上是一个完全不同的问题,即RSA问题,它与计算根的关系远多于离散日志。


2
确实是这样!哎呀。最初,我使用离散日志问题,后来编辑了该方案的详细信息。接得好。不确定这是否构成新的答案-在我的答案下留下评论可能更合适。
罗斯·斯尼德
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.