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加密出来的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值