攻防世界-RSA256

20 篇文章 0 订阅
18 篇文章 0 订阅

题目

被潘汉年按时来到上海百老汇大厦(今上海大厦),叩开了袁殊临时下榻处的房门。袁殊说明自己当前身份和处境后,突然话锋一转,问潘汉年:“你到我这里来,恐怕已经被日本特务注意到了。我应该怎么向他们解释呢?”潘汉年说:“你就将计就计在敌伪内部站住脚,取得合法地位。同时搜集敌伪情报向我提供。”“要是岩井要求我将你介绍给他怎么办?”“那我就用胡越明的化名同岩井见面,就说我愿意和你在香港合作搞情报。”时隔不久,潘汉年接到袁殊通知,通知内容为:RSA256.tar.gz,要他在上海虹口区一家日本人开的餐馆里,和岩井会见。 请以暗号形式告知我方人员前往保护潘汉年的安全。(答案为flag{XXX}形式)

给了两个附件fllllllag.txt,gy.key

分析

根据题目我们知道这是一道RSA

那么gy.key应该就是RSA的公钥文件

提取一下

openssl rsa -pubin -text -modulus -in warmup -in /home/mangofeng/桌面/gy.key                                                                                                                             
RSA Public-Key: (256 bit)
Modulus:
    00:a9:bd:4c:7a:77:63:37:0a:04:2f:e6:be:c7:dd:
    c8:41:60:2d:b9:42:c7:a3:62:d1:b5:d3:72:a4:d0:
    89:12:d9
Exponent: 65537 (0x10001)
Modulus=A9BD4C7A7763370A042FE6BEC7DDC841602DB942C7A362D1B5D372A4D08912D9
writing RSA key
-----BEGIN PUBLIC KEY-----
MDwwDQYJKoZIhvcNAQEBBQADKwAwKAIhAKm9THp3YzcKBC/mvsfdyEFgLblCx6Ni
0bXTcqTQiRLZAgMBAAE=
-----END PUBLIC KEY-----
n=0xA9BD4C7A7763370A042FE6BEC7DDC841602DB942C7A362D1B5D372A4D08912D9
print(int(n))
#76775333340223961139427050707840417811156978085146970312315886671546666259161

然后用factordb就直接可以分解出来了,做到这里,感觉几乎和昨天做的题一模一样,很简单.

直接上脚本吧

n=0xA9BD4C7A7763370A042FE6BEC7DDC841602DB942C7A362D1B5D372A4D08912D9
print(int(n))
#76775333340223961139427050707840417811156978085146970312315886671546666259161
p = 273821108020968288372911424519201044333
q = 280385007186315115828483000867559983517
assert(p*q==n)
from gmpy2 import invert
from Crypto.Util.number import long_to_bytes,bytes_to_long
flag = open(r"D:\Mango\攻防世界\RSA256\8eec4a4af1e14eb08648c8fda7660a0f\fllllllag.txt","rb")
flag = bytes_to_long(flag.read())
e=65537
d=invert(e,(p-1)*(q-1))
print(long_to_bytes((pow(flag,d,n))))
#b'\x02c\x8bL\xc2u\x86\xc6\xbe\x00flag{_2o!9_CTF_ECUN_}'

昨天的题还稍微多了一步看xz文件

ASIS-CTF-Finals-2017-Handicraft_RSA

但这一题最后提交flag的时候很坑,需要把_全部删除

(无语…)

总结

题太简单了 再去刷一道。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值