buu [BJDCTF 2nd]rsa1

查看题目,kali nc链接
在这里插入图片描述
脚本求p,q

from  sympy import *
from  sympy.abc import p,q
nn=173234135320040537140688160757422680586161144661405695593445886403988108284667804829011655531924372134604135570161356049312272090623502106622553952114650425926333833001609235680708291636618664623145402571338388543228671466893178184262356564273688828162709856751727671000022091666417641308406819578695723490410
qjp=2571500660054702296855687475475777256959866987293204235567652304451899444463097872923025345214840400806551281878424778661256194783139134825529235486794446
c=7724500268833981433368050580754781104837372747997095391598307656116653541085857337079265346754740307318159476150343829193382820575720996755172224087084544961360654070782283694143551680926425192145007648163933756996532804350113448210700005241659717706743596202845515018279995496345933249112556655436955570029
aa=solve([p*p+q*q-nn,p-q+qjp],[p,q])
print(aa)

运算得到

[(-10503337527816956337583175457280077172769852861136343025600842971259244538242279698376371958092089562829534927474554227406969587818446390914980003663698649, 
-7931836867762254040727487981804299915809985873843138790033190666807345093779181825453346612877249162022983645596129448745713393035307256089450768176904203), 
(7931836867762254040727487981804299915809985873843138790033190666807345093779181825453346612877249162022983645596129448745713393035307256089450768176904203, 
10503337527816956337583175457280077172769852861136343025600842971259244538242279698376371958092089562829534927474554227406969587818446390914980003663698649)]

取正
在套脚本求m

import gmpy2

q = 7931836867762254040727487981804299915809985873843138790033190666807345093779181825453346612877249162022983645596129448745713393035307256089450768176904203
p = 10503337527816956337583175457280077172769852861136343025600842971259244538242279698376371958092089562829534927474554227406969587818446390914980003663698649
c=7724500268833981433368050580754781104837372747997095391598307656116653541085857337079265346754740307318159476150343829193382820575720996755172224087084544961360654070782283694143551680926425192145007648163933756996532804350113448210700005241659717706743596202845515018279995496345933249112556655436955570029

e=8477419


phin = (p-1)*(q-1)
n=p*q

d=gmpy2.invert(e,phin)

print(d)

m = pow(c,d,n)

print(m)
print(hex(m))
print(bytes.fromhex(hex(m)[2:]))
9176801044803182026484637001249357745934739910133510875057489448524395880729360234726619306785236053718310521427385989523887687708606685330852322309541511529449743297421957265246926843744058994242191414701500532380742734400522886779668005960454757811398005771341146333834718858066572532772694359628507597379
14337636555117422867244651266930730447572000359923226860275116396608177965909155459540675956218620312842
0x666c61677b61326332646630342d353637352d343435392d613063662d3432353164336334656639647d0a
b'flag{a2c2df04-5675-4459-a0cf-4251d3c4ef9d}\n'

得到flag提交即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值