查看题目
类型:低加密指数攻击 e很小 n很大又不好分解
脚本:RSA各题型脚本\e=2-低加密指数攻击\低加密指数攻击.py

低加密指数攻击:
所谓低加密指数指的就是e非常小的情况下,通常为3。
这种题目通常有两种类型,一种直接爆破,另外一种是低指数广播攻击。

先介绍比较简单的情况。假设e=3, e很小,但是n很大。
回顾RSA加密公式: C=M^e % n (C密文,M明文)

'''
当M^e < n 时,C = M^e ,所以对C开方就能得到M
'''
from gmpy2 import iroot
import libnum
n = 0x52d483c27cd806550fbe0e37a61af2e7cf5e0efb723dfc81174c918a27627779b21fa3c851e9e94188eaee3d5cd6f752406a43fbecb53e80836ff1e185d3ccd7782ea846c2e91a7b0808986666e0bdadbfb7bdd65670a589a4d2478e9adcafe97c6ee23614bcb2ecc23580f4d2e3cc1ecfec25c50da4bc754dde6c8bfd8d1fc16956c74d8e9196046a01dc9f3024e11461c294f29d7421140732fedacac97b8fe50999117d27943c953f18c4ff4f8c258d839764078d4b6ef6e8591e0ff5563b31a39e6374d0d41c8c46921c25e5904a817ef8e39e5c9b71225a83269693e0b7e3218fc5e5a1e8412ba16e588b3d6ac536dce39fcdfce81eec79979ea6872793c = 0x10652cdfaa6b63f6d7bd1109da08181e500e5643f5b240a9024bfa84d5f2cac9310562978347bb232d63e7289283871efab83d84ff5a7b64a94a79d34cfbd4ef121723ba1f663e514f83f6f01492b4e13e1bb4296d96ea5a353d3bf2edd2f449c03c4a3e995237985a596908adc741f32365k = 0
while 1:res=iroot(c+k*n,3)if(res[1]==True):print(libnum.n2s(int(res[0])))breakk=k+1'''第二种写法
当M^e > n 时,此时用爆破的方法假设我们  M^e / n 商 k 余数为c,所以M^e  = k*n + C,对K进行爆破,只要k满足 k*n + C能够开方就可以
'''
'''
import gmpy2
from libnum import*
n = 0x52d483c27cd806550fbe0e37a61af2e7cf5e0efb723dfc81174c918a27627779b21fa3c851e9e94188eaee3d5cd6f752406a43fbecb53e80836ff1e185d3ccd7782ea846c2e91a7b0808986666e0bdadbfb7bdd65670a589a4d2478e9adcafe97c6ee23614bcb2ecc23580f4d2e3cc1ecfec25c50da4bc754dde6c8bfd8d1fc16956c74d8e9196046a01dc9f3024e11461c294f29d7421140732fedacac97b8fe50999117d27943c953f18c4ff4f8c258d839764078d4b6ef6e8591e0ff5563b31a39e6374d0d41c8c46921c25e5904a817ef8e39e5c9b71225a83269693e0b7e3218fc5e5a1e8412ba16e588b3d6ac536dce39fcdfce81eec79979ea6872793
c = 0x10652cdfaa6b63f6d7bd1109da08181e500e5643f5b240a9024bfa84d5f2cac9310562978347bb232d63e7289283871efab83d84ff5a7b64a94a79d34cfbd4ef121723ba1f663e514f83f6f01492b4e13e1bb4296d96ea5a353d3bf2edd2f449c03c4a3e995237985a596908adc741f32365i = 0
while 1:if(gmpy2.iroot(c+i*n,3)[1]==1):     #开根号print(gmpy2.iroot(c+i*n,3))breaki=i+1'''

运行得到flag

buu Dangerous RSA相关推荐

  1. buu(前三页第二弹) RSA习题与相关知识总结

    文章目录 buu [ACTF新生赛2020]crypto-rsa3 1 题目描述: 题目分析: 收获与体会: buu [WUSTCTF2020]情书 1 题目描述: 题目分析: 收获与体会: buu ...

  2. Buu Crypto

    Buu RSA做题记录 RSA 题目 在一次RSA密钥对生成中,假设p=473398607161,q=4511491,e=17 求解出d作为flga提交 解 import gmpy2p = 47339 ...

  3. BUUCTF——rsa系列(2)

    目录 目录 Dangerous RSA [HDCTF2019]basic rsa [GUET-CTF2019]BabyRSA rsa2 RSA5 [NCTF2019]childRSA [HDCTF20 ...

  4. 从零开始密码学生活0

    1.rsa第一部分 基础知识详见CTF---RSA解密学习指南(一) - 知乎这位师傅写的相当不错 略讲一下我的想法,rsa算法的基础在于对模的运算各种变形,直接干例题吧 buu一部分rsa类型 rs ...

  5. [buuctf] crypto全解——前84道(不建议直接抄flag)

    buuctf crypto 1.MD5 2.Url编码 3.一眼就解密 4.看我回旋踢 5.摩丝 6.[BJDCTF 2nd]签到-y1ng 7.password 8.变异凯撒 9.Quoted-pr ...

  6. buuctf crypto page 2

    目录 robomunication Dangerous RSA Cipher [HDCTF2019]basic rsa [GXYCTF2019]CheckIn [GUET-CTF2019]BabyRS ...

  7. CTF CRYPTO 从零开始的RSA1

    第三方库的安装及问题的解决 first of all,首先要把函数安好,编程实现过程中需要下载py的第三方库:pycrypto win+R打开cmd,打开py3所在目录,1.目的目录和当前目录在同盘: ...

  8. BUUCTF Crypto题目记录

    MD5 e00cf25ad42683b3df678c61f42c6bda 进行MD5加密 flag{admin1} Url编码 %66%6c%61%67%7b%61%6e%64%20%31%3d%31 ...

  9. buu RSA what 1

    题目描述: 题目四个文件,分别如下: rsa.py from Crypto.Util.number import bytes_to_long, getPrime from random import ...

最新文章

  1. 使用SpringMVC解决Ajax跨域问题
  2. js三进制计算机,js 笔记 - 二进制位运算符
  3. mysql授权用户主机_MySQL用户授权(GRANT)
  4. scala版本的springboot的helloworld实验记录(转载+自己验证整理)
  5. 使用cf curl查看SAP云平台上的应用各项明细
  6. 从mysql 5.7 到 mysql 8.0
  7. ubuntu安装jdk_mysql_Ubuntu server 安装及jdk+mysql安装教程
  8. Zookeeeper开源客户端curator watcherAPI的使用
  9. eda课程设计,求救!!!!!!!!
  10. 计算机命令秒退,win10打开命令提示符闪退怎么办-解决win10命令提示符闪退的方法 - 河东软件园...
  11. 半导体物理复习总结(二)——半导体中的杂质和缺陷能级
  12. 峰值信噪比PSNR~均方差MSE matlab实现
  13. 小米手环 / 运动手环 记步功能原理
  14. 倾斜摄影技术构建 WebGIS 智慧展馆 | 图扑软件
  15. 看看别人家的待遇,字节跳动薪酬体系我真的酸了
  16. 期货日内交易小经验-开仓篇
  17. uva 1395 Silm Span 【MST-Kruskal】
  18. GTD时间管理简洁做法
  19. 什么是抽象类?什么是抽象方法?
  20. Pinta 1.6发布!在 Ubuntu 和 Linux Mint 上安装

热门文章

  1. bootstrap获取表格中选中行的值_这才是No.1的Excel表格核对技巧
  2. php验证器的调用,ThinkPHP5 验证器的具体使用
  3. js去除字符串数字前面的0_JS基础复习-七种基本数据类型
  4. Python编程学习:让函数更加灵活的*args和**kwargs(设计不同数量参数的函数)的简介、使用方法、经典案例之详细攻略
  5. Dataset:机器学习和深度学习中对数据集进行高级绘图(数据集可视化,箱线图等)的简介、应用之详细攻略——daidingdaiding
  6. EL之Bagging(DTR):利用DIY数据集(预留30%数据+两种树深)训练Bagging算法(DTR)
  7. PyTorch之LeNet-5:利用PyTorch实现最经典的LeNet-5卷积神经网络对手写数字图片识别CNN
  8. Python3 pymysql连接mysql数据库 windows
  9. Web应用开发技术(1)-html
  10. Linux系统管理01