Copperstudy

点击此处获得更好的阅读体验


WP来源

https://www.anquanke.com/post/id/179386#h2-2

解题思路

Challenge 1

给出模N,加密指数e和明文m,明文512位,但低72位被隐藏,因此Stereotyped messages攻击,用sage求出明文低位。得出明文低72位为1902981400650064329651。再通过给出m + 1902981400650064329651,得出整个明文。

Challenge 2

知道p高位隐藏低128位,p高位攻击,sage求出最小根即是解。得出p的值后gmpy2.invert解出私钥d,即可解出c的明文m。

Challenge 3

已知私钥d 低512位,利用Partial Key Exposure Attack(部分密钥泄露攻击)可破解得出模因子p,再通过p求解出d,然后是常规解密。

Challenge 4

加密指数e=3,三个模和三个密文[n1,n2,n3][c1,c2,c3],明显的广播攻击(Hastad’s broadcast attack),利用中国剩余定理解出M=m**3,再gmpy2.iroot(M,3)得出明文。

Challenge 5

给出两个明文关系M = km + A,由此可知是相关明文攻击,Franklin-Reiter attack可解出明文m。

得出明文:

Challenge 6

从给出的已知条件,d=N**0.27,(d<N**0.292) 满足boneh_durfee attack条件,可利用该算法解出私钥d。

整理后各challenge输出的结果。

利用脚本提交各关m值,到第六关得出flag。