实验吧-密码学-RSA

学习资料:
视频:https://v.qq.com/x/page/q0149qijxa5.html
freebuf:http://www.freebuf.com/articles/others-articles/166049.html

题目:http://www.shiyanbar.com/ctf/1772

实验吧-密码学-RSA_第1张图片

1.下载附件

先放入winhex中,发现是个压缩文件


实验吧-密码学-RSA_第2张图片

改后缀名,解压



得到
2.直接拖到kali里去(要安装增强工具VMtools),在文件夹打开终端
实验吧-密码学-RSA_第3张图片
3.openssl

输入openssl

实验吧-密码学-RSA_第4张图片

再输入命令: rsa -pubin -text -modulus -in public.pem
分析 public.pem中的信息。
实验吧-密码学-RSA_第5张图片

Modulus即为n:0xA41006DEFD378B7395B4E2EB1EC9BF56A61CD9C3B5A0A73528521EEB2FB817A7
(十进制:74207624142945242263057035287110983967646020057307828709587969646701361764263)

Exponent即为e:0x10001(十进制:65537)
由n可以求出q,p:
p: 258631601377848992211685134376492365269
q: 286924040788547268861394901519826758027

在线分解工具:http://www.factordb.com/index.php?query=74207624142945242263057035287110983967646020057307828709587969646701361764263

4,求d

使用工具,输入n,q,p,e,求出d:

实验吧-密码学-RSA_第6张图片

工具分享: https://pan.baidu.com/s/1EX-rneQQF7C6_hAhLhVSnA
密码:vstf

5.解密

winhex打开flag.enc文件,获取16进制值

实验吧-密码学-RSA_第7张图片

得: \x49\xB9\x6E\xDB\xE3\x96\x1F\x58\xD5\x29\x07\x4B\xD8\x93\xD6\xE0\x36\xCE\xAF\x2B\x6D\x21\x4B\x47\x0F\xDC\x0D\x48\x72\x3D\x6A\x40
上代码,RSA模块解密(因为RSA模块改变了不少,自己看别人的writen up,摸索出来)

import rsa
#rsa.PrivateKey(n,e,d,p,q)

n=74207624142945242263057035287110983967646020057307828709587969646701361764263
e=65537
d=23071769375111040425287244625328797615295772814180109366784249976498215494337
p=258631601377848992211685134376492365269
q=286924040788547268861394901519826758027

prikey = rsa.PrivateKey(n,e,d,p,q)

#print(prikey)

t = rsa.decrypt(b'\x49\xB9\x6E\xDB\xE3\x96\x1F\x58\xD5\x29\x07\x4B\xD8\x93\xD6\xE0\x36\xCE\xAF\x2B\x6D\x21\x4B\x47\x0F\xDC\x0D\x48\x72\x3D\x6A\x40', prikey)
print(t)

实验吧-密码学-RSA_第8张图片

总算解决了,不懂RSA的同学可以看看页首的资料。

你可能感兴趣的:(实验吧-密码学-RSA)