buu RSA入门

本文介绍了如何在已知p=473398607161,q=4511491,e=17的情况下生成RSA密钥对中的d值。通过计算phi-n=(p-1)*(q-1),并利用gmpy2库中的invert函数求得e关于phi-n的逆元,最终得到d值。

题目:在一次RSA密钥对生成中,假设p=473398607161,q=4511491,e=17
求解出d作为flag提交

首先,审计题目,已知p,q,e要让我们求解d,那么我们首先必须求出phi-n=(p-1)*(q-1)

然后求解e关于phi-n的逆向;有两种方法,如下;

一、使用工具:RAS-Tool 2 by te!

需要注意的是在 public Exponent中需要将17改为11(由于输入的为16进制数)、其次需要选择number base(数的进制)

二、python编程

     在此,发现一个求解rsa很好用的库——gmpy2 

了解:gmpy2   可去如下网站学习gmpy2的基本用法,(2条消息) Python3中gmpy2常用的函数及功能_Cony_14的博客-CSDN博客_gmpy2 invert函数

import gmpy2
p=473398607161
q=4511491
e=17

n=(p-1)*(q-1)
d = gmpy2.invert(e,n)
print(d)

于是,可以求解flag。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值