再次学习 RSA 算法,知识点速记:
- 将 n 和 e 封装成公钥,n 和 d 封装成私钥
- p 和 q 是大质数,n = p*q
- e 一般取值65537
- d 是 e 对于 φ(n) 的模反元素,即 ed ≡ 1 (mod φ(n))
- 所以,公钥 ( n , e ),私钥 ( n , d )中,n、e是公开的,d 是私有的。
d 的值在生成私钥的时候就确定了,但以为其值是方程 ed - 1 = kφ(n) 的一个解,所以 d 其实可以有很多选择。
所谓”加密”,就是算出下式的 c:
m ^ e ≡ c (mod n) 其中 m 是原文。c 就是加密后的密文。
解密就是利用下面的 等式 和秘钥 ( n , d ),解出原文 m:
c ^ d ≡ m (mod n)