方法一:利用RsaCtfTool工具(kali虚拟机中)

已知公钥(自动求私钥)–publickey,密文–uncipherfile

命令:python RsaCtfTool.py --publickey 公钥文件 --uncipherfile 加密的文件

方法二:利用公钥文件用openssl工具解出e、n,然后python3脚本解出明文

之前有一篇文章写过

1.打开kali虚拟机,用openssl解出e、n(不推荐)

命令:openssl rsa -pubin -text -modulus -in warmup -in gy.key

**e为65537,n还比较短,用python先转换成10进制

2.用脚本从公钥文件中解出n、e (推荐!!)

# -*- coding: cp936 -*-
from Crypto.PublicKey import RSA#1.从公钥文件中分解n和e
public_key = RSA.importKey(open(r"G:\ctf\CTF题目\8eec4a4af1e14eb08648c8fda7660a0f\8eec4a4af1e14eb08648c8fda7660a0f\RSA256\gy.key",'rb').read())
n = public_key.n
e = public_key.e
print('N:',n)
print('E:',e)

运行结果

方法2 后续 对n进行因数分解

方式1:登录网站http://factordb.com/,解出p和q

方式2:使用yafu工具

(常用于比较大的整数分解)自动整数因式分解,在RSA中,当p、q的取值差异过大或过于相近的时候,使用yafu可以快速的把n值分解出p、q值!

用法:

到此,已经获取到RSA的全部参数

p = 273821108020968288372911424519201044333

q = 280385007186315115828483000867559983517

n=76775333340223961139427050707840417811156978085146970312315886671546666259161

e=65537

#coding:utf-8
import gmpy2
import rsa
p = 273821108020968288372911424519201044333
q = 280385007186315115828483000867559983517
n = 76775333340223961139427050707840417811156978085146970312315886671546666259161
e = 65537
d = int(gmpy2.invert(e,(p-1)*(q-1)))
privatekey = rsa.PrivateKey(n,e,d,p,q)
with open("E:\\fllllllag.txt","rb") as f:print(rsa.decrypt(f.read(),privatekey).decode())

折腾了好久,原来KALI上面我再python2里面安装了rsa可以了,

RSA已知密文和公钥相关推荐

  1. RSA加密算法已知公钥对,求d

    RSA加密算法中求d 1 非对称加密算法RSA密匙生成步骤 2 已知n.e,如何求出d 3 用一个例子说明辗转相除法 1 非对称加密算法RSA密匙生成步骤 选择两个质数 p , q 计算 n , n ...

  2. 已知公钥pubkey,进行RSA公钥加密

    RSA加密解密的例子非常多,但是已知pubkey,然后进行RSA公钥加密的很少,原理都差不多, 下面就是个简单的例子: 首先拿到pubkey,拿到是字符串的形式,需要转一下,然后进行加密,返回的是已经 ...

  3. 记录一道已知是n,(p-1)*(q-2)和(p-2)*(q-1)的RSA题目writeup

    目录 题目 解题思路 解题脚本 题目 题目还是来源于qq群聊,是昨晚看到一个师傅问的,聊天记录中的图片如下: 这个图片还是比较容易ocr的,后面会给出解题脚本,就包括上面这些数字了. 解题思路 刚看到 ...

  4. Hill Cipher 希尔密码 已知明文密文 求秘钥方法

    Hill Cipher,已知明文密文,求秘钥 设K为秘钥, 为明文字母对应的数字矩阵, 为密文字母对应的数字矩阵. 是希尔加密的过程. 为了求解K,我们需要求解P的膜26逆元. 注意,这里是膜26逆元 ...

  5. 密码学——Hill体制密码中已知明文M和密文C求解密钥矩阵K的两种方法之逆矩阵求解法和待定系数求解法

    本文主要解决古典密码中的Hill体制密码在已知明文M和密文C的情况下求解密钥矩阵K的两种方法:①求逆矩阵②待定系数法. 如若不懂Hill体制的古典密码可以参照我上一篇文章密码学--几种典型的古典密码体 ...

  6. # Cobalt Strike:使用已知的私钥解密流量-Part 2

    博客系列:Cobalt Strike:流量解密 Cobalt Strike:使用已知的私钥解密流量-Part 1 Cobalt Strike: 使用已知的私钥解密流量 - Part 2(当前部分) C ...

  7. Cobalt Strike:使用已知的私钥解密流量 -Part 2

    Cobalt Strike:使用已知的私钥解密流量 -Part 2 博客系列:Cobalt Strike:流量解密 Cobalt Strike: 使用已知的私钥解密流量 - Part 2(当前部分) ...

  8. SpringSecurityOauth2授权模式与使用RSA非对称加密方式生成公钥私钥

    文章目录 一.用户认证分析 1.1 认证与授权 身份认证 用户授权 1.2 单点登录 1.3 第三方登录 二.认证技术方案了解(单点登录+第三方授权认证) 2.1单点登录技术方案 2.2 Oauth2 ...

  9. CTF-RSA1(已知p、q、dp、dq、c)

    题目来源:buuCTF-crypto-RSA1 题目: p = 86376337672570085670996534865410911713204915094336154475391624379112 ...

最新文章

  1. elasticsearch简单操作(二)
  2. redis+aop防重复提交
  3. SAP CRM呼叫中心polling javascript - icf_notify_poll.js
  4. C# struct的陷阱:无法修改“...”的返回值,因为它不是变量
  5. elasticsearch运维实战之2 - 系统性能调优
  6. python中对象包含几个部分_python中包含对象类型的两个列表的交集
  7. rhel5.5下安装oracle10g报libXp.so.6错误
  8. elasticsearch将数据导出json文件【使用elasticdump】
  9. Android——列表选择框(Spinner)
  10. {MySQL数据库初识}一 数据库概述 二 MySQL介绍 三 MySQL的下载安装、简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 初识sql语句...
  11. 数据库 ER图 EER图(鸭蹼图) freedgo绘图工具
  12. mysql数据库证件脱敏_mysql对身份证号码进行脱敏处理
  13. WM8978音频模块梳理
  14. RK3399 4.4内核 修改DDR频率
  15. python修改文件夹下文件夹的名字
  16. 制作后台管理系统首页
  17. kafka-manger监控部署
  18. Android应用本地离线激活认证方案—so文件授权认证
  19. 使用shp2mysql文件将shp数据导入到mysql中
  20. Veritas NetBackup8.1.1汉化

热门文章

  1. 保护计算机组件免受esd,当电子元件性能下降:如何保护您的模拟前端
  2. lc谐振计算机网络,LC谐振频率的测试方法和基本原理
  3. 忆实习与假期的bili
  4. jmeter巧用ForEach控制器
  5. Koordinator 1.0 正式发布:业界首个生产可用、面向规模场景的开源混部系统
  6. Android 中触摸事件与点击事件分析
  7. 云媒易:保健品行业怎么做软文推广?
  8. 计算机主机拆解步骤,电脑主机怎么拆开外壳_电脑主机箱拆开图解-系统城
  9. C语言六边形扫雷:寻宝模式
  10. 蓝牙麦克风 android,带蓝牙麦克风的Android语音识别器