什么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封装成私钥
至此,所有需要的参数都已求得