BUUCTF--[INSHack2017]rsa16m

[INSHack2017]rsa16m

BUUCTF--[INSHack2017]rsa16m

上来看一眼就是几百万位的 n 和 c ,很吓人,但是想一想RSA的基本公式

BUUCTF--[INSHack2017]rsa16m
BUUCTF--[INSHack2017]rsa16m

暂且不说能不能解出来 d ,n 咋分解,几百万位的十六进制,怎么可能分解的出来呢。
现在的局势很清晰了

d 的值很小,可能只有几。
d 压根没用到,d = 1,直接开方即可。

既然只有这两种,那么我们直接从最简单的开始尝试,假设n根本没用到。

import gmpy2
from Crypto.Util.number import *


f = open("rsa_16m","r")

n = f.readline()[4:]
c = f.readline()[4:]
e = f.readline()[4:]

f.close()
c = int(c,16)
e = int(e,16)

m = gmpy2.iroot(c,e)

m = m[0]
print(long_to_bytes(m))

# b'INSA{(I)NSA_W0uld_bE_pr0uD}'

哦吼,小伙纸,被我找到了吧。

上一篇:认识ExtJS(03)


下一篇:buuctf:(web)[BJDCTF2020]Easy MD5 1