这题题目是wiener Tricky,这是维纳滤波??
没学过,,懵x
给了publickey,于是想先找出n,e
然后求出d
然后,真是为难我的小电脑了,yafu拆解,一开始几分钟,然后,20分钟,然后2个半小时,
这些我都让他跑完了!!
然后给我显示20小时。。。
断了yafu
老老实实看那个代码
然后看出来他是可以直接求出d,有d就直接算就好了
然后需要openssl 解析出n ,e;都非常大
把n,e带入,可以求出d,特别快!!!
(提一下,直接在他那个test里写,就是这个)
就这种感觉:
得到d。
然后向上次那样,直接算就好了
代码:
import rsa from rsa import transform def FastMod(c,d,n): res = 1 t = c while d: if d & 1: res = (res * t) % n t = (t * t) % n d>>=1 return res e = 355949428044394011416525580640727209012115496460578082591540362115366141425837528189633616844162877584613018030741854275756897461200378167436571547815767157785675778909581575938939615940299471388870845995538439614911452236868092605005352109203362643524505566443025399407973408444593940143560487529347856187923 n = 949603686045205715277174628136022115711156979860824039383799385101249348289935491073325953355239683776503155414384435860534465117430864566291387794089216559280434116213181181405857171075971236007710276483079389558212315153404594351264107147803340895025164316798193753138427414374746336511224920322316865644907 d = 28616787893962875870396586430679270222323477959831994257138015460199396633187 c = open('flag.enc','rb').read() c = transform.bytes2int(c) m = FastMod(c,d,n) m = transform.int2bytes(m) print(m)
比较坑的是!!
解出来后,看不出来flag!
在一堆乱码的最后》???!!!《
本来以为啥都没有,还要解码的。。