低解密指数攻击
与低加密指数相同,低解密指数可以加快解密的过程,但是者也带来了安全问题。
在RSA中d也称为解密指数,当d比较小的时候,e也就显得特别大了。
适用情况:e过大或过小(一般e过大时使用)
首先需要需要下载工具rsa-wiener-attack(附件里面的rsa工具中有):
git clone https://github.com/pablocelayes/rsa-wiener-attack
(注意,这里要将破解脚本和rsa-wiener-attack的py文件放在同一个目录下)
python3环境下会报编码错误,目前没找到好的解决方案(出来的flag提交错误啊啊啊)
#python2
import hashlib
import RSAwienerHacker
N = 101991809777553253470276751399264740131157682329252673501792154507006158434432009141995367241962525705950046253400188884658262496534706438791515071885860897552736656899566915731297225817250639873643376310103992170646906557242832893914902053581087502512787303322747780420210884852166586717636559058152544979471
e = 46731919563265721307105180410302518676676135509737992912625092976849075262192092549323082367518264378630543338219025744820916471913696072050291990620486581719410354385121760761374229374847695148230596005409978383369740305816082770283909611956355972181848077519920922059268376958811713365106925235218265173085
d = RSAwienerHacker.hack_RSA(e,N)
print(d)
flag = "flag{" + hashlib.md5(hex(d)).hexdigest() + "}"
print(flag)
#8920758995414587152829426558580025657357328745839747693739591820283538307445
#flag{47bf28da384590448e0b0d23909a25a4}