什么RSA
RSA是非对称加密的一种方式,对极大数做因数分解的复杂性决定了其安全性。RSA有一对密钥,公钥和私钥。公钥是公开的用于加密,私钥是用户需要保护的用于解密。
计算过程
- 选择两个不相等的质数
p
q
- 计算乘积
n
n
的二进制表示的长度就是密钥的长度
- 最大(公布的)可破解的RSA密钥长度是768位
- 计算欧拉函数
- 选择一个随机整数
e
- 计算
e
对于φ(n)
的模反元素d
d
使得ed
被φ(n)
除余1,即ed ≡ 1 (mod φ(n))
- 求
d
实际就是求二元一次方程的解ed + φ(n)k = 1
- 将
n
和e
封装成公钥,将n
和d
封装成私钥
至此,所有需要的参数都已求得