首页
社区
课程
招聘
rsa已知p,q,e,获取d
发表于: 2021-7-4 20:12 21248

rsa已知p,q,e,获取d

2021-7-4 20:12
21248

RSA是在CTF中经常出现的一类题目。我们还是需要清楚在RSA里面的几个基本参数。

 

N:大整数N,我们称之为模数(modulus)
p 和 q :大整数N的两个因子(factor)
e 和 d:互为模反数的两个指数(exponent)
c 和 m:分别是密文和明文
而{N,e}称为公钥,{N,d}称为私钥。总的来说,明文m(一般为flag)就像是一个锁,而私钥就是打开这个锁的钥匙。我们要做的就是根 据公钥来生成这把钥匙来打开锁。而私钥中的N又是可以从公钥中获得的,所以关键就是在d的获取,d的值和p,q,e有关。p,q又是N的 两个因子,所以RSA题目关键便是对N的分解,分解出N的两个因子题目便解决了。这便是RSA题目的思路。

 

已知p,q,e,获取d
这种题目一般不难,是RSA里面的入门题目。通常可以使用python脚本解题。

1
2
3
4
5
6
7
8
import gmpy2
p =gmpy2.mpz(336771668019607304680919844592337860739)
q =gmpy2.mpz(296173636181072725338746212384476813557)
e =gmpy2.mpz(65537)
phi_n= (p - 1) * (q - 1)
d = gmpy2.invert(e, phi_n)
print("d is:")
print (d)

  


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2021-7-9 20:55 被nicaicaiwo编辑 ,原因:
收藏
免费 1
支持
分享
最新回复 (2)
雪    币: 1552
活跃值: (1288)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
2

基础

最后于 2021-7-9 20:55 被nicaicaiwo编辑 ,原因:
2021-7-4 20:16
0
雪    币: 1125
活跃值: (2035)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
512 bit如果需要分解完成,这个大概需要多久呢?
2021-8-10 03:04
0
游客
登录 | 注册 方可回帖
返回
//