-
-
rsa已知p,q,e,获取d
-
2021-7-4 20:12
19690
-
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)
|
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法
最后于 2021-7-9 20:55
被nicaicaiwo编辑
,原因: