RSAwiener攻击
-
环境:python3.9
-
攻击原理:RSA维纳攻击原理可参考该网址
-
解题过程:
-
github上找到有关wiener 攻击的解题脚本,链接
-
下载过程:打开链接后,点击箭头所指CODE,下载完成后将所有文件放在同一个文件夹内。
-
利用python编写以下代码:
from Crypto.Util.number import *
from gmpy2 import *
from RSAwienerHacker import *
import libnum
n= 639662333905190724963174274393118134850652056724765488685973275138948202602626008285649108873241886836533441901790252560580886492518792249844707754890068885294414947775869189660933854702732140888525369256213185908742658834741758334492843871934294115437721034834635565406377520933839418094457376057043593848401
e= 548564175098067125961375319851171259385596271876637657761522885808657855394647972481844447376596437557651275057610120865395646169671221375251081541213042646978655686531005856899936162320404991331623237305862913250487293880446994470841390688087392282045130633013139311548859962245908782253213294049851175315059
c= 266367266471585923035346980467315672043839080179258966276144775106482166900911004389808367589961536843898187180012055918063504477273067284037318171833017082239907978935274619109926579983150571298634653886980563681026116724117473808890951091279814434050754571460308728024448607359710055618866766919226511213734
d=hack_RSA(e,n)
flag=long_to_bytes(pow(c,d,n))
print(flag)
在使用该脚本时只需要将n,e,c三个数数据改为chall.py文件中对应三个数数值即可
- 注意:一定要将该py文件放在与github下载的文件的相同文件夹内,如下图,图中RSA维纳攻击.txt为我所编写的python脚本,将文件名后缀改为.py即可。
此时cmd运行命令窗口
得到flag