攻防世界-Crypto-Normal_RSA

news2024/10/7 17:28:50

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

背景知识: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.coloradmin.cn/o/705779.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构与算法】树和二叉树练习题(选择填空)

【数据结构与算法】树和二叉树练习题:选择填空类型 Ⅰ.知前序和中序推理后序Ⅱ.知后序和中序推理前序Ⅲ.深度/广度遍历Ⅳ.通过遍历推理树的形状Ⅴ.树节点问题 Ⅰ.知前序和中序推理后序 题目名称: 1.已知某二叉树的前序遍历序列为5 7 4 9 6 2 1&#xff…

ChatGPT实战:项目管理

人工智能有可能彻底改变许多行业,包括项目管理,及时了解最新技术以及它如何影响你的工作至关重要,因为学习好项目管理,不管你能不能做项目经理,在生活、工作的方面方面都会享受到懂得项目管理后带来的收益。 下面我们借…

np.averag的运算规则

今天写代码的时候,计算加权平均,一直没有搞懂np.average是怎么运算的,做个笔记记录一下: 创建一个(3,4,5)维度的np数组,然后在创建一个[1,0.5,1]的权重数组,计算他们的加权平均&…

Spring Boot Actuator实现应用监控

1、Spring Boot Actuator实现应用监控 前面的例子中,我们学习的都是 Prometheus 自身的内容,即监控的都是机器或者系统层面的指标。那么如果我 们需要对 Java 应用做监控,例如:监控 JVM 的信息,监控 Spring Bean 的信…

如何实现多 Tab 同步登陆和退出

一. 场景再现 前两天接到一个需求,要求实现类似于 B站 的那种,当我同时打开多个 Tab 标签的时候,如果我在某一个窗口退出了,那么其它窗口的登陆状态也需要同步退出。如下图,我同时打开了两个 tab 。 当我点击其中一个…

【Java】SpringBoot项目中resource目录下有多个配置文件,如何指定某个特定的配置文件生效?

在我们开发项目的时候,会有多个开发环境,比如测试环境,生产环境,开发环境,产品环境等环境,如下 怎么多的配置文件,那么哪一个配置文件会生效?我们如何指定我们需要的配置文件&…

调用office的Excel制作统计图,并保存成图片

public class CMSChart{private Chart chart;public CMSChart(Chart chart){this.chart chart;}/// <summary>/// 保存图片/// </summary>/// <param name"fullPicName"></param>public void SaveAs(string fullPicName){ChartImageFormat …

VMware 虚拟机安装 CentOS 8

一、准备 演示过程使用的软件版本如下&#xff1a; VMware 16.2.5 build-20904516 CentOS 8.5.2111-x86_64-dvd1.iso VMware 下载安装请参考&#xff1a;VMware16.x 下载与安装 CentOS 镜像下载请参考&#xff1a;CentOS 各版本镜像下载 VMware 15 及以下版本&#xff0c;不支…

nginx部署本地项目如何让异地公网访问?服务器端口映射配置!

接触过IIS或apache的小伙伴们&#xff0c;对nginx是比较容易理解的&#xff0c;nginx有点类似&#xff0c;又有所差异&#xff0c;在选择使用时根据自己本地应用场景来部署使用即可。通过一些对比可能会更加清楚了解&#xff1a; 1.nginx是轻量级&#xff0c;比apache占用更少…

C# 多数元素

169 多数元素 给定一个大小为 n 的数组 nums &#xff0c;返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的&#xff0c;并且给定的数组总是存在多数元素。 示例 1&#xff1a; 输入&#xff1a;nums [3,2,3] 输出&…

FPGA USB FX2 数据回环试验 驱动CY7C68013A实现 提供工程源码和技术支持

目录 1、前言2、我这儿已有的 FPGA USB 通信方案3、CY7C68013A芯片解读和硬件设计FX2 简介SlaveFIFO模式及其配置 4、工程详细设计方案5、vivado工程6、上板调试验证7、福利&#xff1a;工程代码的获取 1、前言 目前USB2.0的实现方案很多&#xff0c;但就简单好用的角度而言&a…

kkfileview部署使用

1.gitee下载源码 kkFileView: 使用spring boot打造文件文档在线预览项目解决方案&#xff0c;支持doc、docx、ppt、pptx、wps、xls、xlsx、zip、rar、ofd、xmind、bpmn 、eml 、epub、3ds、dwg、psd 、mp4、mp3以及众多类文本类型文件在线预览 2.去掉cad 3.替换水印字体为免费…

php宝塔搭建好用的二次元图系统php源码

大家好啊&#xff0c;我是测评君&#xff0c;欢迎来到web测评。本期给大家带来一套好用的二次元图系统php源码。抽时间看了一下&#xff0c;功能还是不错的&#xff0c;有参考价值。感兴趣的朋友可以自行下载学习。 技术架构 PHP7.0 nginx mysql5.7 JS CSS HTMLcnetos7以…

德国汽车行业杂志HANSERautomotive就浪潮信息算法团队在自动驾驶领域所取得的核心突破,进行专题署名报道

近日&#xff0c;德国专业汽车行业杂志HANSERautomotive就浪潮信息算法团队在自动驾驶领域所取得的核心突破&#xff0c;进行专题署名文章报道“Wahrnehmungssysteme und 3D-Objekterkennung Alles im Blick ”(《感知系统和三维物体识别&#xff0c;一切尽收眼底》)。针对AI感…

python ---- 根据文件名称中的数字排序

1. 需求分析 获取文件夹中的所有文件名称&#xff1b;筛选所有文件名称中的图片文件&#xff1b;获取图片文件名称中的数字&#xff1b;对数字排序&#xff1b;返回排序后的图片文件名称列表。 2. 获取所有图片文件名称 2.1 代码实现分析 使用 os.listdir 获取文件夹下的所…

keil_arm满减栈应用场景

.text .global _start _start:满减压栈使用场景ldr sp,0x40000800mov r0,#0x1mov r1,#0x2bl add1_funcadd r0,r0,r1 r0 r0 r1 0x3b stopadd1_func: 压栈保存现场 r0 0x1 r1 0x2stmfd sp!,{r0,r1&#xff0c;lr}mov r0,#0x3mov r1,#0x4bl add2_funcadd r0,r0,r1 r0 r…

如何在Windows中批量创建多个文件夹

你需要更好地组织你的文件和文档吗&#xff1f;如果你在笔记本电脑或台式机上将相关文件分组到不同的文件夹中&#xff0c;那么总是很容易找到你需要的东西。你还可以更改图标的大小&#xff0c;使其在视觉上更美观。 在 Windows 中创建一个文件夹的传统做法是&#xff1a;右键…

【GlobalMapper精品教程】060:用dem提取一条线的高程值

本实验使用的数据有线路数据(line.shp)和数字地形数据(dem.tif),提取线数据的高程值。 文章目录 一、加载实验数据二、生成路径剖面三、导出线路高程四、注意事项【参考阅读】:【ArcGIS微课1000例】0004:值提取至点(Extract value to point) 一、加载实验数据 本实验…

NLP学习笔记(三)

一&#xff1a;分类方法 &#xff08;一&#xff09;逻辑回归 最简单的方法就是将分类问题视为回归问题&#xff0c;采用逻辑回归计算分类的边界。 &#xff08;二&#xff09;softmax回归 softmax的前向传播过程可以分为以下三步&#xff1a; h W T x y ^ s o f t m a …

springboot基于keytool实现https的双向认证

一、环境准备 服务器信息如下&#xff1a; 操作系统说明server-one服务器1server-two服务器2 二、keytool命令解释 -genkey 表示要创建一个新的密钥。 -alias 表示 keystore 的别名。 -keyalg 表示使用的加密算法是 RSA &#xff0c;一种非对称加密算法。 -keysize 表示密…