攻防世界 Crypto cr3-what-is-this-encryption

  • 1.分析题目
  • 2.exp

1.分析题目

题目描述:Fady同学以为你是菜鸟,不怕你看到他发的东西。他以明文形式将下面这些东西发给了他的朋友 p=0xa6055ec186de51800ddd6fcbf0192384ff42d707a55f57af4fcfb0d1dc7bd97055e8275cd4b78ec63c5d592f567c66393a061324aa2e6a8d8fc2a910cbee1ed9 q=0xfa0f9463ea0a93b929c099320d31c277e0b0dbc65b189ed76124f5a1218f5d91fd0102a4c8de11f28be5e4d0ae91ab319f4537e97ed74bc663e972a4a9119307 e=0x6d1fdab4ce3217b3fc32c9ed480a31d067fd57d93a9ab52b472dc393ab7852fbcb11abbebfd6aaae8032db1316dc22d3f7c3d631e24df13ef23d3b381a1c3e04abcc745d402ee3a031ac2718fae63b240837b4f657f29ca4702da9af22a3a019d68904a969ddb01bcf941df70af042f4fae5cbeb9c2151b324f387e525094c41 c=0x7fe1a4f743675d1987d25d38111fae0f78bbea6852cba5beda47db76d119a3efe24cb04b9449f53becd43b0b46e269826a983f832abb53b7a7e24a43ad15378344ed5c20f51e268186d24c76050c1e73647523bd5f91d9b6ad3e86bbf9126588b1dee21e6997372e36c3e74284734748891829665086e0dc523ed23c386bb520 他严重低估了我们的解密能力

  • 看到p,q,e,c
  • 想到RSA加密
  • 先把p,q,e转成十进制,再根据公式求出n,d,m
  • n=p*q
  • φ(N) = (p-1)(q-1)
  • e * d % φ(N) = 1(d是私钥,e是公钥)
  • m=c^ d mod n (m是明文)
    需要一个解码的脚本

2.exp

import libnum
from Crypto.Util.number import long_to_bytesq = int("0xa6055ec186de51800ddd6fcbf0192384ff42d707a55f57af4fcfb0d1dc7bd97055e8275cd4b78ec63c5d592f567c66393a061324aa2e6a8d8fc2a910cbee1ed9",16)
p = int("0xfa0f9463ea0a93b929c099320d31c277e0b0dbc65b189ed76124f5a1218f5d91fd0102a4c8de11f28be5e4d0ae91ab319f4537e97ed74bc663e972a4a9119307",16)e = int("0x6d1fdab4ce3217b3fc32c9ed480a31d067fd57d93a9ab52b472dc393ab7852fbcb11abbebfd6aaae8032db1316dc22d3f7c3d631e24df13ef23d3b381a1c3e04abcc745d402ee3a031ac2718fae63b240837b4f657f29ca4702da9af22a3a019d68904a969ddb01bcf941df70af042f4fae5cbeb9c2151b324f387e525094c41",16)c = 0x7fe1a4f743675d1987d25d38111fae0f78bbea6852cba5beda47db76d119a3efe24cb04b9449f53becd43b0b46e269826a983f832abb53b7a7e24a43ad15378344ed5c20f51e268186d24c76050c1e73647523bd5f91d9b6ad3e86bbf9126588b1dee21e6997372e36c3e74284734748891829665086e0dc523ed23c386bb520n = q*pd = libnum.invmod(e, (p - 1) * (q - 1))
m = pow(c, d, n)
string = long_to_bytes(m)
print(string)


得到flag

攻防世界 Crypto cr3-what-is-this-encryption相关推荐

  1. 攻防世界 Crypto Caesar

    攻防世界 Crypto Caesar 1. 打开题目 2.写一个python脚本来解码凯撒密码 3.直接运行 1. 打开题目 题目已经说了是凯撒密码,我们先去了解一下凯撒密码的原理. 点击阅读原文 2 ...

  2. [攻防世界]crypto新手练习区Caesar

    [攻防世界]crypto新手练习区Caesar Caesar最佳Writeup由Um0 • Umo.提供 难度系数: 1.0 题目来源: poxlove3 题目描述:你成功的解出了来了灯谜,小鱼一脸的 ...

  3. 攻防世界 Crypto高手进阶区 3分题 wtc_rsa_bbq

    前言 继续ctf的旅程 攻防世界Crypto高手进阶区的3分题 本篇是wtc_rsa_bbq的writeup 发现攻防世界的题目分数是动态的 就仅以做题时的分数为准了 解题过程 得到一个无后缀文件 扔 ...

  4. 攻防世界crypto高手题之wtc_rsa_bbq

    攻防世界crypto高手题之wtc_rsa_bbq 照例下载附件,第一次解压后还是压缩包,所以要经过两次解压: 解压后的文件夹内是一个两个文件,因为题目提示是RSA,而这两个看上去像是密文和密钥文件: ...

  5. 攻防世界crypto高手题之best_rsa

    攻防世界crypto高手题之best_rsa 继续开启全栈梦想之逆向之旅~ 这题是攻防世界crypto高手题的best_rsa . . 下载题目,是一个明文和密钥的4个附件: . . 其实一开始我并不 ...

  6. 攻防世界 Crypto高手进阶区 3分题 你猜猜

    前言 继续ctf的旅程 攻防世界Crypto高手进阶区的3分题 本篇是你猜猜的writeup 发现攻防世界的题目分数是动态的 就仅以做题时的分数为准了 解题过程 得到一串16进制 504B03040A ...

  7. 攻防世界crypto高手题之sherlock

    攻防世界crypto高手题之sherlock 继续开启全栈梦想之逆向之旅~ 这题是攻防世界crypto高手题的sherlock . . (这里积累第一个经验) 下载附件,是一个txt文档,内容是一篇小 ...

  8. 攻防世界 Crypto sherlock

    攻防世界 Crypto sherlock 1.打开文件 2.提取所有大写字母 2.得到以下内容 3.二进制转字符串 1.打开文件 文件是一个大文本 搜索了flag时候没有什么结果 2.提取所有大写字母 ...

  9. 攻防世界 Crypto高手进阶区 5分题 简单流量分析

    前言 继续ctf的旅程 攻防世界Crypto高手进阶区的5分题 本篇是简单流量分析的writeup 发现攻防世界的题目分数是动态的 就仅以做题时的分数为准了 解题过程 题目描述 binwalk无果 查 ...

  10. 攻防世界 Crypto高手进阶区 6分题 xor_game

    前言 继续ctf的旅程 攻防世界Crypto高手进阶区的6分题 本篇是xor_game的writeup 发现攻防世界的题目分数是动态的 就仅以做题时的分数为准了 解题过程 题目描述 得到一段py和一个 ...

最新文章

  1. SVO 学习笔记(三)
  2. 关于学习Python的一点学习总结(56->random的使用)
  3. angular 触发 enter事件
  4. 多级NUMA:AMD EPYC互连速率、位宽与功耗的关系
  5. 实际部署遇到的一些问题
  6. 167. Two Sum II - Input array is sorted 两数之和 II - 输入有序数组
  7. java VM argument_java vm args
  8. 汉诺塔 X HDU - 2511
  9. java timezone_Java TimeZone getAvailableIDs()方法与示例
  10. Yearn已部署新YFI策略Brownie Mix
  11. java 中文 转义_java下载url路径包含中文需要转义的操作
  12. C++中的智能指针类模板
  13. (转)投资AI的核心标准是场景和数据
  14. oracle10g在win10上的安装
  15. 2019软件测试最新视频教程大合集汇总
  16. 【已解决】vue报错:Parsing error: No Babel config file detected for...
  17. 如何在matlab中绘制障碍物,Turtlebot与Matlab入门教程-避开障碍物
  18. Error: datadir must be specified
  19. 台式机设成仅计算机,将台式机更改为笔记本,将笔记本电脑更改为台式机
  20. mysql 5.7 版本输入法表情符问题-----java解决办法

热门文章

  1. Post请求和Get请求的区别
  2. linux opensuse,又一linux发行版发布:openSUSE 15基于Linux 4.12内核正式发布
  3. 查看Android源码所有分支
  4. [Android]仿微信开关按钮:)扁平化简洁风
  5. SQL Server2008连接错误'233',帮你解决
  6. 探索Hive用户权限(二):HiveServer2安全访问Hive
  7. ubuntu苹果主题
  8. 如何从x书搬家到掘金
  9. LeetCode 1245 Tree Diameter
  10. 知乎热议:作为一名Java程序员,如何突破职业天花板?