攻防世界-Crypto-Normal_RSA

news/2024/5/20 12:29:16/文章来源:https://blog.csdn.net/wuh2333/article/details/131362247

题目描述:下载附件后,附件中只有两个文件,一个是加密后的密钥,一个是公钥文件

背景知识:RSA加密算法

 现在相当于给出了密文和公钥,需要我们去求解明文

1. 思路分析

既然要解密,那么必须要获取私钥;

现在只有公钥,即只知道e和n,现在要想获取到私钥,那么不可避免的需要对n进行分解获取到p和q

分解到p和q后,计算出私钥,然后对密文进行解密即可

这个过程手工计算比较麻烦,整个过程主要利用一些工具进行操作,详细过程见第二步骤

2. 解题过程

2.1 利用openssl工具分解出e和modulus(这里应该就是那个n)

命令为:openssl rsa -pubin -text -modulus -in pubkey.pem

其中-pubin表示指定输入文件为公钥,-text表示以文本形式输出,-modulus表示输出模数值,-in表示输入文件。其余参数可以通过命令openssl rsa -help查看,这里就不赘述了。

2.2 利用进制转换工具将16进制转换为10进制

这里直接在网上搜索即可,这里我用的在线工具进制转换 - 在线工具

我们需要将modulus(n)转成10进制,转换后的结果为:87924348264132406875276140514499937145050893665602592992418171647042491658461

 2.3 分解该modulus(n)

在线网站:factordb.com 对modulus(n)进行分解,计算出p, q

 

p = 275127860351348928173285174381581152299 

q = 319576316814478949870590164193048041239

2.4 计算出私钥

结合前面的 e = 65537和p, q两个值,这里可以利用在线工具(这一步非必须,只是有介绍下这个工具)RSA visual and more - CrypTool Portal计算出了d的值为10866948760844599168252082612378495977388271279679231539839049698621994994673

生成私钥文件,这里使用rsatool工具来生成

工具安装命令:

git clone https://github.com/ius/rsatool.git
cd rsatool
python setup.py install

安装好后,执行命令:python rsatool.py -o private.pem -e 65537 -p 275127860351348928173285174381581152299  -q 319576316814478949870590164193048041239

 此时生成私钥文件private.pem

2.5 解密

 生成私钥文件后,使用openssl解密即可

openssl rsautl -decrypt -in flag.enc -inkey private.pem

其中-decrypt表示解密,-in表示输入的加密文件,-inkey表示输入的密钥

获取到flag为PCTF{256b_i5_m3dium}

 

总结:这个也是RSA算法的解密过程,这个过程如果使用人工计算,或者手动编程计算都比较难,因此,工具的利用就非常重要了,这里主要是用了三个工具:openssl/在线进制转换/rsatool工具,利用这些工具可以极大提升我们的效率

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_323776.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Facebook Insights分析工具解读,掌握关键数据指标

什么是Facebook Insights? Facebook Insights是Facebook平台上的一项内置分析工具,旨在帮助企业和品牌了解其在Facebook上的表现和受众互动情况。该工具提供了丰富的数据和指标,可以帮助用户洞察粉丝群体、了解发布内容的表现,并…

Hutool 30

Hutool是一个Java工具包,提供了丰富的工具类库和简化开发的工具方法。它的目标是提供一套丰富、实用、高效和易用的Java工具类,以提升开发者的开发效率和开发质量。以下是Hutool的一些主要特点和功能模块: 常用工具类:Hutool提供了…

百度智能车竞赛丝绸之路2——手柄控制

百度智能车竞赛丝绸之路1——智能车设计与编程实现控制 百度智能车竞赛丝绸之路2——手柄控制 一、机器人设计 二、实现原理 本教程使用Python的Serial库和Struct二进制数据解析库去实现Xbox手柄百度大脑学习开发板(上位机)和机器人控制器(…

你的服务器还安全吗?用户数据是否面临泄露风险?

一系列严重的网络安全事件引起了广泛关注,多家知名公司的服务器遭到黑客挟持,用户的个人数据和敏感信息面临泄露的风险。这些事件揭示了网络安全的脆弱性和黑客攻击的威胁性,提醒着企业和个人加强对网络安全的重视。 一、入侵案例1.1 蔚来数据…

Pycharm中成功配置PyQt5(External Tools),设计好界面直接生成python代码

1、安装PyQt5和PyQt5-tools 在Pycharm中设置好Python环境,点击File-Settings-Project-Python Interpreter 设置好后退出,点击窗口下的Terminal,输入 # 直接安装输入pip install pyqt5,如果太慢可以用国内镜像源,若出…

PS扣签名

打开Photoshop CS6,依次点击“文件”-“打开”,把签名照导入进来。 在“选择”菜单下点击“色彩范围”。 此时鼠标形状变成了一支笔,点击签名上黑色的地方,适当调整颜色容差,点击“确定”完成选择。 按住CtrlJ组…

Postman设置断言

目录 前言: 一、断言的定义 二、Postman断言的语法 三、Postman中chai.js断言常用语法 前言: 在进行API测试时,断言是一项重要的功能。它能帮助我们验证接口的响应是否符合预期结果,从而确保API的正确性和可靠性。在Postman中…

【微服务】什么是微服务?-- 全面了解微服务架构

What is Microservices — Edureka 您有没有想过,什么是微服务以及扩展行业如何与它们集成,同时构建应用程序以满足客户的期望? 要了解什么是微服务,您必须了解如何将单体应用程序分解为独立打包和部署的小型微型应用程序。本文将…

Electron + ts + vue3 + vite 项目搭建

Electron 是一个基于 Chromium 和 Node.js 的桌面应用程序开发框架,而 Vue3 则是一种流行的前端框架。将两者结合使用可以快速地打造出跨平台的桌面应用程序。在这种组合中,Electron 提供了强大的桌面应用开发能力,而 Vue3 则提供了易用的 UI…

【2023年江西省研究生数学建模竞赛】题目一 蒸汽发生器倒U型管内液体流动 建模方案及参考文献

代码与结果如下:完整文档见文末 完整思路”请点击这里“到原文章获取 题目: PACTEL压水堆整体测试设备在2009年建造,用于带有垂直倒U型管蒸汽发生器的压水堆热液压相关的安全性研究,参见图1。 PACTEL压水堆设施包括一个反应堆压力容器模型…

机器学习技术(一)——python基础超详解

机器学习技术(一)——python基础超详解 文章目录 机器学习技术(一)——python基础超详解0、引言1、基础概念**:snake:变量****:snake:注释****:snake:输入 输出** 2、数据类型**:snake:数值类型****:snake:运算符****:snake:字符串…

Matlab论文插图绘制模板第106期—带误差棒的堆叠柱状图

在之前的文章中,分享了Matlab带误差棒的折线图绘制模板: 带误差棒的柱状图绘制模板: 进一步,再来分享一下带误差棒的堆叠柱状图的绘制模板。 先来看一下成品效果: 特别提示:本期内容『数据代码』已上传资源…

《移动互联网技术》第一章 概述: 掌握移动互联网的基本概念和组成

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

基于Java+Swing+Mysql商品信息管理系统

基于JavaSwingMysql商品信息管理系统 一、系统介绍二、功能展示1.主页2.新增商品信息3.查询商品信息 三、数据库四、其他系统实现五、获取源码 一、系统介绍 该系统实现了查看商品列表、新增商品信息、查询商品信息 运行环境:eclipse、idea、jdk1.8 二、功能展示…

Android跨平台语言分析

跨平台技术发展的三个阶段 第一阶段是混合开发的web容器时代 为了解决原生开发的高成本、低效率,出现了Hybrid混合开发原生中嵌入依托于浏览器的WebViewWeb浏览器中可以实现的需求在WebView中基本都可以实现但是Web最大的问题是,它的性能和体验与原生开发…

ARM接口题目

1)说出ARM可以工作的模式名字。 ARM有8个基本工作模式: User :非特权模式,大部分任务执行在这种模式 FIQ :当一个高优先级(fast)中断产生时将会进入这种模式 IRQ :当一个低优先级(normal)中断产生时将会进入这种模式 Supervisor :当复位…

《Linux操作系统编程》 第十章 线程与线程控制: 线程的创建、终止和取消,detach以及线程属性

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

微服务04 分布式搜索引擎 elasticsearch DSL数据聚合 自动补全 数据同步 集群 Sentinel

微服务03 分布式搜索引擎 elasticsearch ELK kibana RestAPI 索引库 DSL查询 RestClient 黑马旅游 分布式搜索引擎03 1.数据聚合 聚合(aggregations)可以让我们极其方便的实现对数据的统计、分析、运算。例如: 什么品牌的手机最受欢迎&#x…