题目给出public.key, flag.enc

如果n较小,可以尝试分解n来进行攻击

# coding:utf8"""
需要安装2个模块:rsa,pycrypto
如果有问题,应该把之前安装的crypto、pycrypto模块卸载掉重新安装一遍
还需要使用 yafu 分解n
"""import rsa
from Crypto.PublicKey import RSAdef egcd(a, b):if a == 0:return (b, 0, 1)else:g, y, x = egcd(b % a, a)return (g, x - (b // a) * y, y)pub = RSA.importKey(open('pub.key').read())
n = long(pub.n)
e = long(pub.e)########################################################################################
# 通过yafu分解n,命令行打开yafu,输入factor(n)即可
# 如果可联网,还可以使用http://www.factordb.com/网站分解
# p = 28596...
# q = 30400...if not p an not q:print 'Need get p,q'exit(0)d = egcd((p - 1) * (q - 1), e)[2]
if d < 0:d += (p - 1) * (q - 1)key = RSA.construct((n, e, d))    # 如果e较小,e应转化成long型: e = long(e)
key.exportKey()
open("private.pem", "w").write(key.exportKey())p = open("private.pem").read()
privkey = rsa.PrivateKey.load_pkcs1(p)
crypto = open("flag.enc").read()
message = rsa.decrypt(crypto, privkey)
print message

RSA---n分解攻击相关推荐

  1. c语言用连分数求根号2,RSA的连分数攻击C语言实现

    RSA的连分数攻击C语言实现 R S A RSA RSA公钥加密所基于的困难问题是大整数的质因数分解,在本文中我基于连分数分解合数的思想,对RSA的连分数攻击进行了基本的C语言模拟,我尝试利用连分数对 ...

  2. 低解密指数攻击_CTF中RSA的一些攻击思路

    本文为看雪论坛优秀文章看雪论坛作者ID:丿feng本文简略总结了前人的一些RSA攻击思路,代码或来源于网上或本人原创.并已在GitHub上开源,github地址:https://github.com/ ...

  3. 关于RSA共模攻击e1,e2不互素的解法

    最近做密码学rsa的题目,搜集了很多情况下的rsa解题脚本,记录一下 import gmpy2 import rsa from binascii import a2b_hex import libnu ...

  4. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]45.描述一些对抗RSA侧信道攻击的防御方法

    这是一系列博客文章中最新的一篇,该文章列举了"每个博士生在做密码学时应该知道的52件事":一系列问题的汇编是为了让博士生们在第一年结束时知道些什么. 为了让这篇文章保持简单,我们将 ...

  5. RSA共模攻击(包括原理)

    RSA工作原理 RSA的工作原理,RSA涉及的几个参数 明文=>m 密文=>c 模n,负责计算出两个质数p和q p和q计算欧拉函数值Φ(n) 欧拉函数Φ(n)=> Φ(n)=(p-1 ...

  6. [密码学] RSA同模攻击与选择密文攻击

    文章目录 同模攻击 选择密文攻击 RSA-OAEP 同模攻击 选择密文攻击 RSA-OAEP

  7. 【ctf学习】RSA共模攻击

    已知n,c1,e1,c2,e2 比如: from gmpy2 import * from Crypto.Util.number import *m=bytes_to_long(flag)e1=7001 ...

  8. 教科书式RSA方案面临的攻击及防御措施

    教科书式RSA方案面临的攻击及防御措施 感谢橘子杀手学长写的博客,这是本篇文章主要的参考,感谢所有写博客分享自己技术的人 https://www.tr0y.wang/2017/11/06/CTFRSA ...

  9. RSA攻击方法总结笔记

    RSA攻击方式总结 1.模数分解 1).解题思路 ​ a).找到RSA算法中的公钥(e,n) ​ b).通过n来找到对应的p和q,然后求得φ(n) ​ c).通过gmpy2.invert或者gmpy2 ...

最新文章

  1. 那个双非本科,还想转算法岗的姑娘,最后怎么了?
  2. 目标检测方法系列——R-CNN, SPP, Fast R-CNN, Faster R-CNN, YOLO, SSD
  3. 如何实现一个java窗口_如何实现多个弹出窗口?
  4. 「mysql优化专题」主从复制面试宝典!面试官都没你懂得多!(11)
  5. 复制给节点的命令_深入理解redis主从复制原理
  6. mysql导出选择两张表,Mysql导出(多张表)表结构及表数据 mysqldump用法
  7. freenas安装mysql_FreeNAS Jail中安装MySQL数据库服务器
  8. find_package()的查找*.cmake的顺序
  9. LeetCode OJ - Reorder List
  10. ORACLE学习之绑定变量
  11. x = cos x 的解析形式
  12. 软件工程实验报告三--需求分析及文档编写(模板)
  13. Android腾讯微博开放平台入门(五)综合测试
  14. 软件测试面试题:简述什么是静态测试、动态测试、黑盒测试、白盒测试、α测试 β测试?
  15. java计算机毕业设计飞机航班信息查询系统演示视频2021MyBatis+系统+LW文档+源码+调试部署
  16. Redis客户端连接远程Redis服务器
  17. Git系列——删除文件的找回
  18. 用Python优雅地制作动态条形图
  19. 【物联网毕设基础】单片机:NEC 协议红外遥控器
  20. 进程间通信的方式——信号、管道、消息队列、共享内存

热门文章

  1. VQA_v2数据集预处理
  2. edit类型 layui_Layer types described(图层类型描述)
  3. Matlab代码导入STM32F103流程
  4. Petri网-简单程序设计
  5. Linux中的ftp命令怎么写,linux中的ftp命令用法
  6. 关于:-1: error: collect2.exe: error: ld returned 1 exit status和The process was ended forcefully.解决方法
  7. 常用adb命令的使用
  8. NYOJ-最大值和最小值
  9. apt-get下载、安装的软件在哪里
  10. 开源协议(Open Source License)