原理的话:http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.htm

这里主要是解密就好了。

我们要找到N 密文 e

N 是一个很大的数 用yufa 将他转成2个很大的素数

就能用脚本将他解开16进制

1
2
3
4
5
6
7
8
9
10
11
12
import gmpy2

p = 366669102002966856876605669837014229419#N分解出来的p
q = 282164587459512124844245113950593348271#N分解出来的q
N = 103461035900816914121390101299049044413950405173712170434161686539878160984549#很大的整数
c = 0xad939ff59f6e70bcbfad406f2494993757eee98b91bc244184a377520d06fc35#密文
e = 65537#这个是

d = gmpy2.invert(e,(p-1)*(q-1))
m = gmpy2.powmod(c,d,p*q)
print(hex(m))