BUUCTF Crypto [HDCTF2019]bbbbbbrsa wp

打开题目我们可以看到这就是一道RSA的题目,且几乎所有条件都知道,就只有e需要在50000到70000之间爆破,算是非常的简单,直接上脚本

// python2
import base64
import gmpy2
p=177077389675257695042507998165006460849
n=37421829509887796274897162249367329400988647145613325367337968063341372726061
c="==gMzYDNzIjMxUTNyIzNzIjMyYTM4MDM0gTMwEjNzgTM2UTN4cjNwIjN2QzM5ADMwIDNyMTO4UzM2cTM5kDN2MTOyUTO5YDM0czM3MjM"
print(base64.b64decode(c[::-1]))
#2373740699529364991763589324200093466206785561836101840381622237225512234632
cipher=int(base64.b64decode(c[::-1]))
q=n//p
phi_n=(p-1)*(q-1)
for e in range(50000,70000):
	if(gmpy2.gcd(e,phi_n)==1):
		d=gmpy2.invert(e,phi_n)
		m=pow(cipher,d,n)
		flag1=hex(m)[2:]
		if(len(str(flag1))%2==1):
			flag1='0'+flag1
		flag2=flag1.decode('hex')
		if('flag{' in flag2 and '}' in flag2):
			print(flag2)
#flag{rs4_1s_s1mpl3!#}

这题比较搞笑的是,base64解码出来的直接放到了加密脚本里,一刹那还以为这是base64加密出来的

发布了22 篇原创文章 · 获赞 1 · 访问量 185

猜你喜欢

转载自blog.csdn.net/weixin_44017838/article/details/104900072