每周练习——buu(3)

丢失的MD5

打开就是一段代码,应该用python2是可以直接运行的,因为它最后是print des嘛,python3都是要print (des)的嘛,直接运行之后给的提示是“Unicode-objects must be encoded before hashing”要求修改m.update(‘TASC’+chr(i)+‘O3RJMV’+chr(j)+‘WDJKX’+chr(k)+‘ZM’),所以进行修改,改为“m.update(‘TASC’.encode(‘utf-8’)+chr(i).encode(‘utf-8’)+‘O3RJMV’.encode(‘utf-8’)+chr(j).encode(‘utf-8’)+‘WDJKX’.encode(‘utf-8’)+chr(k).encode(‘utf-8’)+‘ZM’.encode(‘utf-8’))”,然后可以直接运行得结果。

[BJDCTF 2nd]rsa1

这道题呢其实也可以算做没写出来,编辑代码呢倒是编辑出来了,

在这里插入图片描述但是答案一直解决不了,一直出现下图情况,解决了很久一直没有变化。
在这里插入图片描述

[HDCTF2019]basic rsa

题目如下:在这里插入图片描述
大概只要加一个d然后pow出flag就好
在这里插入图片描述
得出flag{B4by_Rs4}

rsa2

拿到题目,发现e很大,应该是维纳攻击
在这里插入图片描述
然后用代码解出了d
d=8920758995414587152829426558580025657357328745839747693739591820283538307445
然后放到题目给出的代码里面,提示报错
“TypeError: Unicode-objects must be encoded before hashing”
经过修改得到下面的代码:

在这里插入图片描述
并得到flag,但是得到的好像并不是正确答案,不知道为什么好像只能用python2才行,我还对比了d是没有错的,就只能是最后的函数还是不太行了,也不太明白为什么不行。

RSA2

题目给出了e,n和dp

在这里插入图片描述

这里的n无法直接分解需要借助dp来求解素数p,然后求得素数q,设计一个循环去把p算出来
for i in range(1,e) : if (temp-1)%i==0: x=(temp-1)//i+1 y=n%x if y==0: p=x
然后再按照正常流程把d算出来然后pow(c,d,n)得出flag。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值