了解RSA广播攻击

时间:2018-10-26 18:14:38

标签: python security encryption rsa

我试图了解RSA广播攻击,并且变得非常困惑。也许有人在这里可以帮助我理解和学习如何解决问题。 我得到了一条消息,该消息已使用三个单独的RSA公钥(N1,N2,N3)加密,从而产生了三个密文(C1,C2,C3)。公用指数e = 3。 通过Hastads的广播攻击,我了解到:

c1≡m 3 mod N1,
c2≡m 3 mod N2,
c3≡m 3 mod N3。

使用中文余数定理,应该可以找到具有以下属性的第四个密文值C4:
c4≡c1mod N1,
c4≡c2mod N2,
c4≡c3mod N3,

c4≡m 3 mod(N1 N2 N3)

从理论上讲,我应该能够解决m=∛c4或(m=cube root of c4)的问题。 这是我遇到的困扰,对数学的悲惨理解无济于事。

我可以简单地通过让c4= C1 mod N1来解决c4吗?使用提供给我的值(实际十六进制数字)?然后在m=∛c4公式中使用此c4值?这似乎太简单了,我认为它不会产生正确的值。 任何帮助是极大的赞赏;我正在尝试解决问题,但也希望更好地了解Hastads攻击和中国余数定理。谢谢!

1 个答案:

答案 0 :(得分:2)

C4在mod N1中已经是C1。您从那里什么也没得到。

Hastads攻击适用于较小的加密指数,因为未执行模数降低。

您只需要执行cube根算法。