re学习笔记(7)BUUCTF-re-rsa

新手一枚,如有错误(不足)请指正,谢谢!!
题目链接:BUUCTF-re-rsa

参考资料:1.带你彻底理解RSA算法原理 作者:小宝一号
2.BUUCTF–rsa 作者:Hk_Mayfly
3.python下RSA 加密/解密,签名/验证
4. 利用gmpy2破解rsa
解压出来是两个文件

pub.key应该就是公钥文件了

拖入网址http://tool.chacuo.net/cryptrsakeyparse进行解密

得到指数等于65537
也就是E = 65537
模数为C0332C5C64AE47182F6C1C876D42336910545A58F7EEFEFC0BCAAF5AF341CCDD
也就是 N = 86934482296048119190666062003494800588905656017203025617216654058378322103517
借用网址http://www.factordb.com/index.php?query=86934482296048119190666062003494800588905656017203025617216654058378322103517计算p和q
接下来计算n
(附上我一直跑不出来n的脚本……)

跑不出来,,只好用函数
查看了参考资料4,使用内置函数计算……安装rsa库和gmpy2库

最后附上代码

import gmpy2
import rsa
num = "C0332C5C64AE47182F6C1C876D42336910545A58F7EEFEFC0BCAAF5AF341CCDD"
N = int(num,16)
E = 65537
p = 285960468890451637935629440372639283459
q = 304008741604601924494328155975272418463
D = int(gmpy2.invert(e,(p-1)*(q-1)))
privkey = rsa.PrivateKey(N, E, D, p, q)
with open("E:\\ts\\buuCTF\\rsa\\flag.enc", "rb+") as file:
    text = file.read()
message = rsa.decrypt(text,privkey)
print(message)

往期回顾

小白学习笔记(0) CG-CTF-re-3 py交易
小白学习笔记(1) BUUCTF-re xor
小白学习笔记(2)BUUCTF-re-新年快乐
小白学习笔记(3) CG-CT re ReadAsm2
小白学习笔记(4)BUUCTF-re-reverse_1
小白学习笔记(5)BUUCTF-re-内涵软件
小白学习笔记(6)BUUCTF-re-SimpleRev

全部评论

相关推荐

字节一直是我的白月光,考虑到转正还是拒了日常实习。
从今天开始狠狠卷JV...:为什么你释放的offer没流到我头上
点赞 评论 收藏
分享
06-26 18:30
门头沟学院 Java
据说名字越长别人越关...:你问问这里面有多少是正经候选人,而不是乱打招呼的
点赞 评论 收藏
分享
06-07 17:17
嘉兴学院 教师
心爱的idea:你孩
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务