0x00 考察知识点
这道题考研的是RSA,了解一下RSA加密即可。
RSA是一种非对称加密算法,它是由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)在1977年提出的,以他们三人的姓氏首字母命名。RSA算法的安全性基于大整数的因式分解问题,即给定一个大整数n,很难找出它的素数因子p和q,除非知道一些特殊的算法或者有强大的计算能力。
0x01 题目
p=447685307 q=2037 e=17
0x02 Write Up
现在实际上就是已知p,q和e就d
需要知道的公式就是
n=p*q
m=(p-1)*(q-1)
e和m互质
d*e%m=1
根据以上可以得出:
d=(e+1)/m
所以最终的结果就是
代码:
p = 447685307
q = 2037
e = 17
n = (p - 1) * (q-1)
d = (n+1)//e
print(d)