当前位置: 首页 > news >正文

第二届parloo杯的RSA_Quartic_Quandary

(害,还是太菜了,上去秒了一道题之后就动不了了,今晚做个记录,一点点的往回拾起吧) 

# from Crypto.Util.number import getPrime, bytes_to_long
# import math
#
# FLAG = b'**************'
#
#
# def generate_parameters(bit_length=512):
#     p = getPrime(bit_length)
#     q = getPrime(bit_length)
#     n = p * q
#     e = 65537
#     phi = (p - 1) * (q - 1)
#     d = pow(e, -1, phi)
#     s = p ** 4 + q ** 4
#     return n, e, d, s, p, q
#
#
# def main():
#     n, e, d, s, p, q = generate_parameters()
#     c = pow(bytes_to_long(FLAG), e, n)
#
#     with open('output.txt', 'w') as f:
#         f.write(f"n = {n}\n")
#         f.write(f"e = {e}\n")
#         f.write(f"c = {c}\n")
#         f.write(f"s = {s}\n")
#
#     print("[+] Parameters saved to output.txt")
#
#
# if __name__ == "__main__":
#     main()
#     n = 125997816345753096048865891139073286898143461169514858050232837657906289840897974068391106608902082960171083817785532702158298589600947834699494234633846206712414663927142998976208173208829799860130354978308649020815886262453865196867390105038666506017720712272359417586671917060323891124382072599746305448903
#     e = 65537
#     c = 16076213508704830809521504161524867240789661063230251272973700316524961511842110066547743812160813341691286895800830395413052502516451815705610447484880112548934311914559776633140762863945819054432492392315491109745915225117227073045171062365772401296382778452901831550773993089344837645958797206220200272941
#     s = 35935569267272146368441512592153486419244649035623643902985220815940198358146024590300394059909370115858091217597774010493938674472746828352595432824315405933241792789402041405932624651226442192749572918686958461029988244396875361295785103356745756304497466567342796329331150560777052588294638069488836419744297241409127729615544668547101580333420563318486256358906310909703237944327684178950282413703357020770127158209107658407007489563388980582632159120621869165333921661377997970334407786581024278698231418756106787058054355713472306409772260619117725561889350862414726861327985706773512963177174611689685575805282

  zip里就这些东西,然后我把他们都放到.py里边了,要原来的文件的可以上网找找

  这道题我也没想到这么简单,我就按我的做题思路:先去factordb里分解,如果成了就结束了这道题;如果没有成功,那么再去看题想办法

 然后这道题就让我分解了!!!然后就根据我的思路来,直接解就完了。

(最后解完之后,看了他还给了s这个条件,其实没有用哈)

from Cryptodome.Util.number import long_to_bytes
from gmpy2 import gmpy2n = 125997816345753096048865891139073286898143461169514858050232837657906289840897974068391106608902082960171083817785532702158298589600947834699494234633846206712414663927142998976208173208829799860130354978308649020815886262453865196867390105038666506017720712272359417586671917060323891124382072599746305448903
e = 65537
c = 16076213508704830809521504161524867240789661063230251272973700316524961511842110066547743812160813341691286895800830395413052502516451815705610447484880112548934311914559776633140762863945819054432492392315491109745915225117227073045171062365772401296382778452901831550773993089344837645958797206220200272941
s = 35935569267272146368441512592153486419244649035623643902985220815940198358146024590300394059909370115858091217597774010493938674472746828352595432824315405933241792789402041405932624651226442192749572918686958461029988244396875361295785103356745756304497466567342796329331150560777052588294638069488836419744297241409127729615544668547101580333420563318486256358906310909703237944327684178950282413703357020770127158209107658407007489563388980582632159120621869165333921661377997970334407786581024278698231418756106787058054355713472306409772260619117725561889350862414726861327985706773512963177174611689685575805282
p=9886283652121924227364367891763650443585646023924602862402832944457976031272516261452668401020850156092802805016302198750132659632249261237412357024908843
q=12744709820126371501672538820972733986675228838744099116170499394098621931788837908787562175058998307224041741444921422195431949471972242197577242845982421
phi = (p-1)*(q-1)
d = gmpy2.invert(e,phi)
m = gmpy2.powmod(c,d,n)
flag1 = long_to_bytes(m)#正常RSA解法
print(flag)
palu{This_is_a_fake_flag_change_it_for_real_use}

相关文章:

  • 系统架构设计师考前冲刺笔记-第3章-软件架构设计
  • Pod 节点数量
  • 【Redis】快速列表结构
  • 没有公网ip怎么端口映射外网访问?使用内网穿透可以解决
  • upload-labs通关笔记-第12关 文件上传之白名单GET法
  • 氩气模块压力异常时的维修方法,要注意仪器的安全操作规范,避免对仪器造成二次损坏
  • Python训练营打卡 Day30
  • JavaWeb:Spring配置文件( @ConfigurationProperties)
  • centos把jar包配置成服务并设置开机自启
  • AIGC工具平台-卡通图片2D转绘3D
  • Docker构建 Dify 应用定时任务助手
  • linux系统双击EXE运行,在统信UOS上无缝运行EXE!统信Windows应用兼容引擎V3来了
  • PyTorch模型保存方式
  • 【软考-架构】15、软件架构的演化和维护
  • 力扣热题100之删除链表的倒数第N个节点
  • 鸿蒙 Location Kit(位置服务)
  • 双周报Vol.72:字段级文档注释支持、视图类型现为值类型,减少内存分配
  • Python网络爬虫入门指南
  • 【CodeBuddy 】从0到1,让网页导航栏变为摸鱼神器
  • 视图+触发器+临时表+派生表
  • 海南医科大披露校内竞聘上岗结果:32名干部离开领导岗位,8人系落选
  • 再囤三个月库存!美国客户抢付尾款,外贸企业发货订单排到7月
  • 俄美元首通话超2小时,普京称愿与乌方共同起草和平备忘录
  • 贯彻落实《生态环境保护督察工作条例》,充分发挥生态环境保护督察利剑作用
  • 证监会披露两起操纵市场处罚结果,今年来涉操纵股票罚没金额超7.5亿元
  • 国际博物馆日|航海博物馆:穿梭于海洋神话与造船工艺间