其他分享
首页 > 其他分享> > BUUCTF--[INSHack2017]rsa16m

BUUCTF--[INSHack2017]rsa16m

作者:互联网

[INSHack2017]rsa16m

image

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

image
image

暂且不说能不能解出来 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}'

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

标签:BUUCTF,gmpy2,--,int,没用到,import,readline,rsa16m
来源: https://www.cnblogs.com/Sentry-InkCity/p/15332492.html