Normal_RSA

本文详细介绍了RSA加密技术中,从获取enc文件、公钥到使用openssl工具进行密钥参数提取、大整数分解、生成私钥文件,直至最终解密的过程。通过yafu和在线因数分解网站,分解出大素数P和Q,利用rsatool生成私钥,并使用openssl解密获取明文。整个过程展示了RSA加密解密的实际操作步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Normal_RSA

一.认识文件

一个enc文件
一个是flag的密文

一个是pem文件
一个是公钥(pubkey)
在这里插入图片描述
pubkey.pem倒是可以打开,里面也明确写了这是个public key,而且中间有一段base64的编码
在这里插入图片描述

二.openssl

首先我们使用openssl提取出public.pem中的相关参数,我是在kali 里面很快

openssl rsa -pubin -text -modulus -in warmup -in pubkey.pem

在这里插入图片描述

三.N两个大素数的乘积:

里面modulus就是N
这里显示
但是如何提前呢?我不会写脚本,直接复制的那个M然后粘贴到笔记本,替换:为无,加上0x变成了16进制,再用cmd中的py 转10进制
int(‘0xc2636ae5c3d8e43ffb97ab09028f1aac6c0bf6cd3d70ebca281bffe97fbe30dd’,16)
在这里插入图片描述

四.对n进行大整数分解(P.Q)

由于这个乘积(n)长度不超过2^384,因此我们可以考虑使用yafu进行大整数分解或者在网站http://factordb.com/上进行分解(速度应该会更快),可以得到两个素数分别为: 275127860351348928173285174381581152299和319576316814478949870590164193048041239

五.rsatool生成私钥文件:

这里也折腾了好久,kali里面安了安装包,然后要把公钥丢到这个包里面才可以
在这里插入图片描述
进入到rsa
进入到rsatool这个文件夹了,才能够运行,要进去,里面要有公钥

python rsatool.py -f PEM -o private.pem -p 275127860351348928173285174381581152299 -q 319576316814478949870590164193048041239 -e 65537

成功生成private.pem文件
在这里插入图片描述

六.明文生成

然后把private.pem和pubkey.pem、flag.enc放一个文件夹里,使用openssl用private.pem解密flag.enc文件并将明文生成txt文件

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

好折腾,,,,
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值